首頁>技術>

用於資料分析的任何形式的應用程式都嚴格取決於其快速檢索查詢的能力

但是當使用更大或更復雜的資料集以及併發使用者數量不斷增加時,效能很大程度上取決於基礎分析資料庫-無論是作為單堆疊工具的一部分內建到應用程式中,還是透過以下方式實現一個單獨的資料倉庫層。

是什麼構成可伸縮的資料庫?

資料庫可伸縮性是分析資料庫設計中的一個概念,它強調資料庫處理資料和使用者數量增長的能力。在現代應用程式領域,出現了兩種型別的工作負載–分析和事務型工作負載,規劃工作負載增長時,必須考慮作業系統,資料庫設計和硬體設計決策。

傳統方法:非規範化

在硬體級別,存在垂直和水平可伸縮性,垂直縮放涉及增加單個機器的容量。可以透過新增更多的CPU核心,RAM和儲存來增加單臺計算機的容量,水平擴充套件涉及新增更多計算機以應對不斷增長的工作負載。本文僅重點介紹可伸縮應用程式所需的資料庫設計決策。

在資料庫級別上,架構設計,索引和查詢設計會影響資料庫的擴充套件能力

每個關係資料庫系統都提供一組可以調整的引數,以提高效能,因此建議檢查特定資料庫系統中使用的引數,模式設計為​系統開發人員提供了最大的機會來制定將影響資料庫的可伸縮性和效能的決策,事務工作負載需要規範化的設計,而分析工作負載需要非規範化的設計,每個設計都將簡要說明。

在事務工作負載中,主要目標是處理大量短的UPDATE,INSERT和DELETE查詢

索引可以加快或降低事務資料庫的速度

實施索引並測試其效果的迭代索引策略是適當的。儘管分割槽是為資料倉庫開發的,但在事務系統中尤其是在資料庫很大的情況下,分割槽仍然是有益的,可確保資料一致性和準確性,但由於涉及多個聯接,因此效能可能會降低。試圖最佳化交易系統中的查詢效能將影響記錄業務資料的核心功能。因此,建議將資料分析遷移到使用分析工作負載設計的專用系統。

在分析工作負載中,目標是處理很少出現在資料分析中的複雜查詢

此設計已針對快速查詢效能進行了最佳化,資料是非規範化的,這意味著在事務處理系統中分解為不同表的業務實體將合併為一個表,在此設計中,兩個主要的表型別是維度表和事實表,維度表包含有關業務的描述性屬性,事實表包含可衡量的屬性,這些屬性顯示企業的績效,例如在銷售過程中,美元金額是事實,而地區,客戶型別和產品類別是維度,在此設計中,索引編制和分割槽對改善響應時間非常有益。

4
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 2021 年 Go 語言趨勢報告