
我們有一個使用非常頻繁的資料庫(幾乎 100% 的請求都是 select),現在資料庫成為了瓶頸。
我們正在尋找一種解決方案,讓我們能夠(水平)擴展該資料庫並跨多個實例負載平衡請求
在完美的場景中,我們正在尋找一種動態新增-刪除執行個體的方法(類似於擴展 Azure Web App 執行個體的方式)。
到目前為止,我發現的最佳解決方案是“使用唯讀副本讀取橫向擴展”:https://docs.microsoft.com/en-us/azure/azure-sql/database/read-scale-out。這看起來是一個完美的解決方案,唯一的問題是我不知道如何在那裡添加更多副本?
答案1
如果不以某種方式對資料進行分片,RDBMS 通常無法水平擴展。此外,RDBMS 中的資料必須標準化,這並不適合每個資料集。
另一件需要注意的事情是動態可伸縮性與自動伸縮不同。自動縮放是指服務根據標準自動縮放,而動態可擴展性允許手動縮放,同時最大限度地減少停機時間。
一個可能的解決方案可能是這樣的用於監視和擴充單一 SQL 資料庫的 PowerShell 腳本
此外,遷移到 Cosmos DB 也可能是解決方案。