1. key和value
这里的key并不是索引的意思,下面根据情况具体说明:
- Aggregate数据模型:key为聚合的键,value为聚合的值
- Uniq数据模型:key为聚合的键,value为聚合的值
- Duplicate数据模型:key为建表时指定的duplicate key(sorted column,只是用来排序),其余字段为value
- rollup
- 作用于Aggregate和Uniq数据模型:key为聚合的键,value为聚合的值
- 作用于Duplicate数据模型:key为rollup命令添加的字段,且添加的字段都是key
2. 数据模型
数据模型在建表时确定,后续无法修改
2.1 Aggregate数据模型
建表语句如下:
mysql>
mysql> create table if not exists test_db.aggregate_tb(
-> user_id largeint not null comment '用户id',
-> date date not null comment '数据插入日期',
-> city varchar(20) comment '城市',
-> age smallint comment '年龄',
-> sex tinyint comment '性别',
-> last_visit_date datetime replace default '1970-01-01 00:00:00' comment '用户最后一次访问时间',
-> cost bigint sum default '0' comment '

本文介绍了三种重要的数据模型:Aggregate、Uniq和Duplicate。Aggregate模型适用于数据聚合,key包括用户ID、日期等,value包含聚合信息如消费总金额。Uniq模型是一种特殊的Aggregate模型,key为用户ID和用户名,用于唯一标识数据。Duplicate模型则不进行内部聚合,数据按指定的排序键存储。文章还讨论了数据模型的局限性,如在Aggregate模型中,count(*)和count(user_id)的区别。


被折叠的 条评论
为什么被折叠?



