繁体   English   中英

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

[英]SQL Server database size limit on Azure, what to do?

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

我正在开发一个平台来存储应用程序数据日志。 到目前为止,还很简单。 有一个SQL Server数据库,该数据库将有一个称为日志的表,并且每一行都是与保存该日志的用户绑定的日志。 这将使用Azure SQL数据库。

进行中,假设我有10,000个用户,将达到数据库的限制(250GB,甚至最终1TB)。

一个明显的答案是清除旧数据。 但是,如果始终需要该数据,这并不是真正的答案。 我想这并不是上述日志应用程序真正的问题,通常是当数据库太大而无法由一个数据库保存时该怎么办。

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

也许您可以为此目的考虑使用Azure表存储,而不是SQL数据库。 这是一个非常基本且易于使用的NoSQL选项,并且由于您似乎仍在使用Azure,因此可能值得研究。 这是Azure文档的“ 入门”页面。

阅读有关SQL Server Stretch Database的信息 这可能是您的追求。

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

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

纵向扩展意味着获得更大容量的更大服务器。 在Azure中,这意味着要为下一个大小付费,直到空间用完。

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

在现实世界中,清除或归档旧数据是一个不错的选择,因为您可能不需要30年前的日志文件。 您将数据转储到更具成本效益的归档文件中,并使SQL Server数据仅加载相关数据(例如,过去几年的日志记录)。

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

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

或考虑将其他存储格式用于日志。 如前所述,天青表可能更好。 请参阅此处在Azure Table Storage中存储应用程序日志的策略

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM