大型資料庫入門
阿新 • • 發佈:2020-10-14
本文介紹大型資料庫的概念及其效能決定因素,以及如何優化效能。
- 什麼是大型資料庫
-沒有一個標準定義
-包含非常多元組(資料庫行)的資料庫,或者佔用非常大的物理檔案系統儲存空間的資料庫。
-佔據TB量級的磁碟儲存,包含數十億錶行。 - 為什麼需要大型資料庫
今天企業管理的資料總量
- 大型資料庫效能的決定因素
OS<DBMS<硬體<應用<架構
- 如何提高大型資料庫效能
可分為以下四個步驟:
~應用層面的優化
~資料庫設計與配置優化
~作業系統和硬體優化
~架構的優化
4.1 應用層面的優化
尋找常見的問題:
應用是否真正使用了它取得的資料?
應用裡執行了太多的查詢?(ORM、巢狀)
應用在毫無必要的時候還連上了資料庫?
使用連線池了嗎?
使用快取了嗎?
4.2 資料庫設計與配置優化
設計優化(Schema和Index)
-優化設計不良或索引不佳的schema,能把效能提高几個數量級。
-Schema的優化和索引既需要大局觀,又需要專注細節。
-優化通常需要權衡取捨。如為了加快查詢新增索引會減慢更新的速度;非規範化的schema能加快某些型別的查詢,卻讓其它型別查詢變慢。
資料庫配置優化
-包括快取大小、I/O調優、併發數等。
-具體的配置依賴於伺服器的硬體、資料量、查詢型別、響應時間、事務永續性和連續性等因素。
-不要期望改變配置會帶來巨大的效能提升。提升的具體大小取決於工作負載,通常可以選擇適當的配置引數得到兩到三倍
4.3 作業系統和硬體優化
最弱部分決定了效能,作業系統和硬體通常也會成為限制因素(如CPU飽和、記憶體不夠、I/O飽和)。
可以從以下幾方面進行優化:
CPU/記憶體/IO(RAID、網路儲存)/網路/作業系統
4.4 架構的優化
When
構建大型、高效能應用程式
型別
①分散式資料庫架構
其特點是業務單一、單機單業務服務、無交叉關聯、簡單Replication機制、依賴硬體,資料的儲存和管理均由單機實現。
②集中式資料庫架構
重點是放在資料庫管理和儲存上。特點是叢集易擴充套件,功能多;資料儲存與應用分離;資料庫結構各異,業務連線和使用方式各異。
③分散式資料庫架構
其特點是不僅關注儲存和管理,並且把應用也注重起來,提供透明應用和策略的資料庫服務; 自動擴容、節點自動分裂與合併。