我有一个数据库,每周增长超过 100 Gb,每年增长 5 TB。
由于这是财务数据,我们无法清除它。如果我们保留这些数据至少 10 年,大小将变成 50 TB。
请建议我们如何在 Azure VM 中容纳如此大量的数据,同时 Azure 中的磁盘限制为 1 TB。
谢谢,Subhendu
答案1
实际上你可以采取两种方法来解决此问题:
Azure SQL 数据仓库采用与您现在所采用的方法类似的方法,使用运行 SQL 的 VM,但将其与 Azure 存储和控制层相结合,以帮助您将数据分布在多个节点和多个存储位置。它还允许您根据查询负载的需要扩展计算。
Azure SQL 弹性数据库使用 Azure SQL PaaS 服务(而不是 VM),并将数据分片到多个实例。它提供客户端库和作业引擎来帮助您在多个分片上运行查询。
答案2
Sam Cogan 的回答非常正确。但我的其他一些建议是:
使用聚集列存储。压缩后,50TB 可能很快在磁盘上变成 2TB-10TB。
GS5 VM(目前最大的)可以拥有64 个磁盘每个 1TB 的数据都连接并条带化到一个巨大的存储池中。
如果你选择最大的虚拟机并安装最大数量的磁盘,那么你可以考虑使用Blob 存储中的 SQL 数据文件除了磁盘上的 SQL 数据文件之外。这样可以轻松实现 50TB。