Doris的数据模型和增删改查
Doris数据模型
了解Doris的朋友都知道,Doris是一个MPP的分析型数据库。可以支持大数据下的实时分析。
说到数据分析,不得不提的是Doris的数据模型。
目前Doris支持三种数据模型,分别是:
- Aggregate Model(聚合模型)
- Uniq Model(唯一模型)
- Duplicate Model(冗余模型)
Aggregate Model(聚合模型)
- 概念
相同的key情况下,value列会进行聚合操作。
目前Doris支持的聚合类型只有四种:
replace:使用最新的数据覆盖历史数据
sum:把最新的结果和历史结果进行累计求和
max:把最新结果和历史数据进行求最大值操作
min:把最新结果和历史数据进行求最小值操作
- 应用场景
适合固定报表类场景。
Uniq Model(唯一模型)
- 概念
保证key列的唯一性。也就是说,相同的数据会进行replace操作。
- 使用场景
适用对数据有唯一性要求的场景。
Duplicate Model(冗余模型)
- 概念
不会对数据做任何操作,也就是原始数据存储。
- 使用场景
方便灵活,支持ad-hoc即席查询。
Doris的增删改查操作
Aggregate Model的增删改查
- 创建表t1
createtable t1(
id int,
name string replace,
age intreplace,
address string replace)
aggregate key(id)distributedbyhash(id) buckets 1
properties("replication_num"="1");
- 插入数据
insert into t1 values(1,'zhangsan',20,'深圳');
insert into t1 values(2,'zhangsan',21,'广州');
insert into t1 values(3,'zhangsan',22,'上海');
insert into t1 values(4,'zhangsan',23,'北京');
- 修改数据
update t1 set name ='lisi'where id =4;
- 删除数据
deletefrom t1 where id =4;
- 查询数据
select*from t1;
- 执行结果如下
- 结论
Aggregate Model支持数据的增、删、查,不支持修改
。
Uniq Model的增删改查
- 创建表t2
createtable t2(
id int,
name string ,
age int,
address string
)uniquekey(id)distributedbyhash(id) buckets 1
properties("replication_num"="1");
- 插入数据
insert into t2 values(1,'zhangsan',20,'深圳');
insert into t2 values(2,'zhangsan',21,'广州');
insert into t2 values(3,'zhangsan',22,'上海');
insert into t2 values(4,'zhangsan',23,'北京');
- 修改数据
update t2 set name ='lisi'where id =4;
- 删除数据
deletefrom t2 where id =3;
- 查询数据
select*from t2;
- 执行结果如下
- 结论
Uniq Model支持数据的增、删、改、查操作
。
Duplicate Model的增删改查
- 创建表t3
createtable t3(
id int,
name string,
age int,
address string
)duplicatekey(id)distributedbyhash(id) buckets 1
properties("replication_num"="1");
- 插入数据
insert into t3 values(1,'zhangsan',20,'深圳');
insert into t3 values(2,'zhangsan',21,'广州');
insert into t3 values(3,'zhangsan',22,'上海');
insert into t3 values(4,'zhangsan',23,'北京');
- 修改数据
update t3 set name ='lisi'where id =4;
- 删除数据
deletefrom t3 where id =3;
- 查询数据
select*from t3;
- 执行结果如下
- 结论
Duplicate Model支持数据的增、删、查操作,不支持修改
。
综合
Doris的不同模型,对数据的增、删、改、查支持不同。
只有Uniq Model模型才全部支持,其他两种模型不支持数据的修改操作,仅支持数据的增、删、查操作。
版权归原作者 Dennis985 所有, 如有侵权,请联系我们删除。