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;
  • 执行结果如下

在这里插入图片描述

  • 结论

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;
  • 执行结果如下
    在这里插入图片描述
  • 结论

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;
  • 执行结果如下

在这里插入图片描述

  • 结论

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

综合

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

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

Doris是一个开源的分布式数据仓库,支持实时数据分析和查询。在选择Doris数据模型时,需要考虑以下几个因素: 1. 数据结构和查询需求: Doris支持两种主要的数据模型:OLAP(Online Analytical Processing)和OLTP(Online Transaction Processing)。OLAP模型适用于复杂的分析查询,支持大规模聚合、多维分析和快速查询。OLTP模型适用于实时的事务处理,支持高并发、低延迟的读写操作。根据实际的业务需求和查询场景,选择适合的数据模型。 2. 数据规模和性能要求: Doris可以处理大规模的数据集,并提供高性能的查询和分析能力。如果需要处理海量数据,并且对查询性能有较高的要求,可以选择Doris的OLAP模型。它使用列存储和多维索引等技术,可以实现更快速的查询响应。 3. 数据更新频率: 如果数据更新频率较高,例如每秒或每分钟都会有大量的数据写入,那么OLTP模型可能更适合。它支持实时的数据写入和查询,适合需要快速响应和实时分析的场景。而如果数据更新频率较低,以批量或定期方式进行更新,OLAP模型可能更适合。 4. 数据一致性和可靠性: Doris提供了强一致性和高可靠性的数据存储和处理能力。根据业务的要求,选择适当的数据模型以确保数据的一致性和可靠性。 总结: 在选择Doris数据模型时,需要考虑数据结构和查询需求、数据规模和性能要求、数据更新频率以及数据一致性和可靠性等因素。根据实际情况选择适合的OLAP或OLTP模型,以满足业务需求并获得良好的性能和可扩展性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值