1. 程式人生 > 實用技巧 >大型資料庫入門

大型資料庫入門

本文介紹大型資料庫的概念及其效能決定因素,以及如何優化效能。

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