Azure上的SQL Server数据库大小限制,该怎么办?

时间:2017-08-16 10:58:34

标签: sql-server database azure

这可能是我作为软件开发人员缺乏基础知识的问题。

我正在开发一个存储应用程序数据日志的平台。到目前为止简单的东西有一个SQL Server数据库将有一个名为logs的表,每一行都是绑定到保存该日志的用户的日志。这将使用Azures SQL数据库。

正在进行中,想象我有10,000个用户,将达到数据库的限制(250gb,甚至最终达到1TB)。

一个明显的答案是清除旧数据。然而,如果始终需要这些数据,这并不是真正的答案。我想这不是一个特定于上面的日志应用程序的问题,它通常在你的数据库太大而无法被一个数据库保存时该怎么办。

我一直听说水平扩展,尤其是NoSQL数据库。但是,我需要知道去哪里以及研究/学习什么。当您作为开发人员工作时,您将学习如何编写应用程序,而不一定是如何扩展它们,我需要知道如何做到这一点

4 个答案:

答案 0 :(得分:0)

也许您可以考虑使用Azure表存储而不是SQL数据库。 这是一个非常基本且易于使用的NoSQL选项,因为您似乎无论如何都在使用Azure,可能值得一试。 这是Azure文档中的Getting Started页面。

答案 1 :(得分:0)

阅读SQL Server Stretch Database。这可能是你的追求。

答案 2 :(得分:0)

一般来说,对于SQL Server,您有三种选择 -

  • 垂直缩放
  • 水平缩放
  • 清除/存档旧数据

垂直扩展意味着获得更大容量的服务器。在Azure中,这意味着支付下一个尺寸,直到空间不足为止。

水平扩展意味着获取多个服务器并分发数据。对于像日志记录这样的东西,您可以每年创建一个新数据库,并根据日期范围知道要将查询发送到哪个数据库;例如。

清除或存档旧数据对于实际场景来说是一个不错的选择,因为您可能不需要30年后的日志文件。您可以将数据转储到更具成本效益的存档,并使您的SQL Server数据只加载相关数据(例如过去几年的日志记录)。

答案 3 :(得分:0)

将其拆分为多个数据库并使用弹性查询。

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-query-overview

或者考虑使用其他存储格式的日志。如前所述,azure表可能更好。见Strategy for storing application logs in Azure Table Storage

您没有提到的重要事项是:如何查询这些日志?用户?按日期?你能识别出冷热数据吗?