Performance

您可以期望在什麼範圍內以 mb/s 為單位讀取基於雲的 Sql Server 數據?

  • December 14, 2020

假設一切都經過優化,查詢很簡單,索引很好,等等。

每月花費大約 150 到 300 歐元的 SQL (Azure) 數據庫是否可以輕鬆地在大約 1 億行的表上以每秒大約 250-500 mb 的速度讀取數據,或者是否接近極限,我應該看看其他解決方案?

我知道這是一個非常廣泛和普遍的問題,但我正在尋找非常粗略的估計。問題是我有一個非常複雜的遺留項目,我顯然遇到了一些限制。

我過去曾嘗試(在諮詢 Azure 專家之後)各種其他數據解決方案,但在我遷移項目並再次出現真正的生產流量後才遇到其他瓶頸。

該網站在很短的時間內達到了極高的流量峰值。因此,它將在整個一周內消耗 5% 的數據庫 (eDTU),每天大約一到兩次極端流量,持續半小時。大約 +50.000 個非常活躍的並髮使用者,其中有大量動態數據正在寫入並且主要是請求的。數據不能陳舊。

所以我只是在尋找一個非常粗略的估計猜測,所以我知道我是否需要進入一個真正不同的方向,比如記憶體記憶體微服務。

如果 500 mb/秒應該沒問題,那麼我將嘗試探索嘗試以不同方式佈局我的數據或其他基於 SQL 的解決方案。

因此,衡量伺服器是否可以通過衡量不同實施選項時的成本來衡量您的特定工作負載,與在比較不同汽車之間的 MPG 以確定它們是否可以時衡量汽車的成本一樣,都是一個有爭議的問題將您從 A 點帶到 B 點。

我上面的類比是為了傳達我們不能真正提供基於花費的有意義的解決方案,因為相同數量的資金有不同類型的伺服器配置,並且在伺服器上花費相同數量的資金通常會導致對於各自領域的等效問題,您選擇的任何實現(RDBMS、NoSQL、記憶體記憶體、替代數據庫系統等)的輸出性能相同。提供準確的答案還不夠定性。

話雖如此,了解數據更改的頻率、添加新數據的頻率、表和數據庫的總大小以及數據庫的並發活動程度將有助於描繪圖片,您已經提供了一些已經。

其他有助於為您闡明一個好的解決方案的關鍵是它是什麼類型的數據以及您的數據目前的結構如何?(例如,它是高度相關的,是不是非常具體的定義,是混合的。)在非高峰和高峰並發時間範圍內,什麼樣的查詢是典型的?這裡的範例對於傳達您的數據是什麼樣的以及對該數據的查詢是什麼樣的非常有幫助。

例如,如果您的資料結構不是很好/沒有具體定義,並且通常只能通過密鑰訪問,那麼 NoSQL 解決方案可能是最好的。如果您的使用者執行的查詢類型是分析性的(例如聚合查詢),那麼擴展數據倉庫或使用 Azure SQL 中內置的東西來改進分析查詢可能是有意義的。

最後,我將根據我之前對類似數據大小和並發性的伺服器不太遠的經驗進行補充, $ 300 was not enough to support the hardware behind our server. Sure, we definitely could’ve made some design and implementation improvements, but I still think $ 300 只是不會削減它(對於基於雲的解決方案)。我將假設對您來說也是如此,但這是一個很大的假設,因為我的範例只是軼事,正如大衛布朗提到的那樣,您最好進行測試以查看在您的價格範圍內有效的方法。

引用自:https://dba.stackexchange.com/questions/281520