本文介紹雲原生資料倉儲AnalyticDB MySQL版的基本概念。
地區
地區指資料中心所在的地理地區,通常按照資料中心所在的城市劃分。例如,馬來西亞(吉隆坡)地區表示資料中心所在的城市是吉隆坡。
可用性區域
可用性區域是指在同一地區內,電源和網路互相獨立的物理地區。例如,華北2(北京)地區支援12個可用性區域,包括北京 可用性區域A和北京 可用性區域B等。同一可用性區域內執行個體之間的網路延時更小,其使用者訪問速度更快。
叢集
叢集是資料庫之上的物理概念。不同叢集之間是物理隔離的。一個叢集可以有一個物理資料庫和多個邏輯資料庫。
物理庫
物理庫,是資料庫在實體儲存體裝置上的物理表示和儲存方式,包括資料檔案、記錄檔、索引檔案等。建立AnalyticDB for MySQL叢集時,會自動建立一個物理庫。每一個物理庫被切分為若干個分區(Shard)。這些分區分布到若干個節點群組(Worker Group)上。每個分區都由一個獨立的Raft組管理。
邏輯庫(資料庫)
邏輯庫,是資料庫在邏輯上的組織圖,包括表、視圖、索引等。CREATE DATABASE建立的就是邏輯資料庫。一個AnalyticDB for MySQL叢集最多可建立2048個邏輯資料庫。
AnalyticDB for MySQL文檔中提到的資料庫,都是指邏輯庫。
分區(Shard)
根據分布鍵,將表資料水平分割後得到的子表,稱為分區,英文名稱為Shard。這些分區分散在若干個儲存節點群組(Worker Group)上,每個儲存節點群組維護一部分資料,有利於提高系統的延展性和效能。
每個分區都由一個獨立的Raft組管理。同一個Raft組的多副本部署在同一個儲存節點群組的多個節點,通過Raft協議保證多副本的資料一致性。
AnalyticDB for MySQL叢集的分區數量不受配置變更的影響。查詢叢集的分區數:SELECT COUNT(1) FROM information_schema.kepler_meta_shards;
。
分區(Partition)
分區可按分區鍵拆分為分區。分區鍵通常為日期時間列,以實現資料的生命週期管理。
表
AnalyticDB for MySQL的表分為分區表和複製表。建表文法,請參見建立表。
分區表
分區表,又稱普通表,根據分布鍵將表的資料拆分為多個分區,分區分散在各個儲存節點上。再根據分區鍵,將每個分區拆分為不同的分區。分區表能夠利用分布式系統的查詢優勢,查詢效率高。分區表可儲存的資料量較大,通常可以儲存千萬條甚至千億條資料。
複製表
叢集的每個Shard都會儲存一份複製表的全量資料。因此,複製表中的資料量不宜過大,最好不超過2萬行。
由於複製表的變更會廣播到叢集的所有Shard,確保所有Shard的資料一致性,影響寫入效能,因此不建議頻繁增刪改複製表的資料。
EIU
EIU,全稱為Elastic IO Unit,中文名稱為彈性IO資源,是AnalyticDB for MySQL彈性模式叢集版(新版)的儲存節點,負責資料存放區,還提供資料寫入、資料尋找和資料掃描等能力。
一組EIU,也就是一個儲存節點群組,其中包含三個儲存節點。您可以在建立叢集時購買EIU,也可以在高吞吐寫入或巨量資料量掃描時購買或擴容EIU。EIU的效能指標,請參見彈性IO資源(EIU)擴容。
ACU
ACU,全稱為AnalyticDB Compute Unit,是AnalyticDB for MySQL企業版及湖倉版計算資源和儲存資源的最小單位。一個ACU約等於1核4 GB。
資源群組
資源群組是對計算資源的劃分,用於滿足同一叢集內部多租戶、混合負載的需求。AnalyticDB for MySQL數倉版彈性模式叢集版(新版)和企業版及湖倉版執行個體支援配置多個資源群組。每個資源群組擁有獨立的計算資源,不同資源群組間的計算資源在物理上完全隔離。不同的任務被分配到不同的資源群組上執行,例如離線分析和線上分析被分配到不同的資源群組,避免資源爭奪和效能下降。