宽表(WideColumn)模型是表格存储采用的模型之一。通过本文您可以了解宽表模型的构成以及与关系模型的区别。
模型构成

宽表模型如上图所示,由以下几个部分组成。
组成部分 | 描述 |
---|---|
主键(Primary Key) | 主键是数据表中每一行的唯一标识,主键由1到4个主键列组成。 |
分区键(Partition Key) | 主键的第一列称为分区键。表格存储按照分区键对数据表的数据进行分区,拥有相同分区键的行会被划分到同一个分区,实现数据访问负载均衡。 |
属性列(Attribute Column) | 一行中除主键列外,其余都是属性列。属性列会对应多个值,不同值对应不同的版本,每行的属性列个数没有限制。 |
版本(Version) | 每一个值对应不同的版本,版本的值是一个时间戳,用于定义数据的生命周期。 |
数据类型(Data Type) | 表格存储支持多种数据类型,包含String、Binary、Double、Integer和Boolean。 |
生命周期(Time To Live) | 每个数据表可定义数据生命周期。例如生命周期配置为一个月,则表格存储会自动清理一个月前写入数据表的数据。 |
最大版本数(Max Versions) | 每个数据表可定义每个属性列的数据最多保存的版本个数,用于控制属性列数据的版本个数。当一个属性列数据的版本个数超过Max Versions时,表格存储会异步删除较早版本的数据。 |
宽表模型与关系模型
宽表模型和关系模型有不同的特点请参见下表。
模型 | 特点 |
---|---|
宽表模型 | 三维结构(行、列和时间)、Schema-Free、宽行、多版本数据以及生命周期管理。 |
关系模型 | 二维(行、列)以及固定的Schema。 |