寬表(WideColumn)模型是Tablestore採用的模型之一。通過本文您可以瞭解寬表模型的構成以及與關聯式模式的區別。

模型構成

寬表模型如上圖所示,由以下幾個部分組成。

組成部分 描述
主鍵(Primary Key) 主鍵是資料表中每一行的唯一標識,主鍵由1到4個主鍵列組成。
分區鍵(Partition Key) 主鍵的第一列稱為分區鍵。Tablestore按照分區鍵對資料表的資料進行分區,擁有相同分區鍵的行會被劃分到同一個分區,實現資料訪問負載平衡。
屬性列(Attribute Column) 一行中除主鍵列外,其餘都是屬性列。屬性列會對應多個值,不同值對應不同的版本,每行的屬性列個數沒有限制。
版本(Version) 每一個值對應不同的版本,版本的值是一個時間戳記,用於定義資料的生命週期。
資料類型(Data Type) Tablestore支援多種資料類型,包含String、Binary、Double、Integer和Boolean。
生命週期(Time To Live) 每個資料表可定義資料生命週期。例如生命週期配置為一個月,則Tablestore會自動清理一個月前寫入資料表的資料。
最大版本數(Max Versions) 每個資料表可定義每個屬性列的資料最多儲存的版本個數,用於控制屬性列資料的版本個數。當一個屬性列資料的版本個數超過Max Versions時,Tablestore會非同步刪除較早版本的資料。

寬表模型與關聯式模式

寬表模型和關聯式模式有不同的特點請參見下表。
模型 特點
寬表模型 三維結構(行、列和時間)、Schema-Free、寬行、多版本資料以及生命週期管理。
關聯式模式 二維(行、列)以及固定的Schema。