Doris的数据模型和增删改查操作

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
create table t1(
id int,
name string replace,
age int replace,
address string replace
) 
aggregate key(id)
distributed by hash (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;
  • 删除数据
delete from t1 where id = 4;
  • 查询数据
select * from t1;
  • 执行结果如下

Doris的数据模型和增删改查操作_第1张图片

  • 结论

Aggregate Model支持数据的增、删、查,不支持修改

Uniq Model的增删改查

  • 创建表t2
create table t2(
id int,
name string ,
age int,
address string
) 
unique key(id)
distributed by hash (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;
  • 删除数据
delete from t2 where id = 3;
  • 查询数据
select * from t2;
  • 执行结果如下
    Doris的数据模型和增删改查操作_第2张图片
  • 结论

Uniq Model支持数据的增、删、改、查操作

Duplicate Model的增删改查

  • 创建表t3
create table t3(
id int,
name string,
age int ,
address string 
) 
duplicate key(id)
distributed by hash (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;
  • 删除数据
delete from t3 where id = 3;
  • 查询数据
select * from t3;
  • 执行结果如下

Doris的数据模型和增删改查操作_第3张图片

  • 结论

Duplicate Model支持数据的增、删、查操作,不支持修改

综合

Doris的不同模型,对数据的增、删、改、查支持不同。

只有Uniq Model模型才全部支持,其他两种模型不支持数据的修改操作,仅支持数据的增、删、查操作。

你可能感兴趣的:(Doris,大数据,数据库,分布式)