我们有一个使用率相当高的数据库(几乎 100% 的请求都是选择),现在数据库成为了瓶颈。
我们正在寻找一种解决方案,让我们能够扩展这个数据库(水平)并在多个实例之间平衡负载请求
在完美的情况下,我们正在寻找一种动态添加和删除实例的方法(类似于扩展 Azure Web App 实例的方式)。
到目前为止,我发现的最佳解决方案是“使用只读副本进行读取扩展”:https://docs.microsoft.com/en-us/azure/azure-sql/database/read-scale-out。这看起来是个完美的解决方案,唯一的问题是我不知道如何在那里添加更多的副本?
答案1
RDBMS 通常无法水平扩展,除非以某种方式对数据进行分片。此外,RDBMS 中的数据必须进行规范化,这并不适合每个数据集。
另外需要注意的是,动态可扩展性与自动缩放不同。自动缩放是指服务根据标准自动缩放,而动态可扩展性允许手动缩放,同时最大程度减少停机时间。
一个可能的解决方案可能是用于监视和扩展单个 SQL 数据库的 PowerShell 脚本
迁移到 Cosmos DB 也可能是一个解决方案。