Doris入门

概念:

基于MPP设计理念实现的数据库,支持大数据集存储、实时数据分析,交互式数据分析等。

MPP:将任务并行分散至多个节点,由各节点单独计算,再将各节点计算结果汇总得到最终结果。

 原理:

  1. FE:即frontend,类似于前端节点,用来维护元数据(表结构、用户权限...),解析查询请求,以及返回查询结果
  2. 1>Leader&&Follower:保证元数据高可用
  3. 2>Observer:备份元数据,扩展结点
  4. BE:即Backend,类似后端节点,用来保存物理数据(用户需要操作的数据,计算后的结果数据)和计算。此外BE还提供了副本机制用于保证数据的高可用性。
  5. 数据模型

 Aggregate:聚合数据模型,按照相同的key对行数据进行处理,处理方式有如下几种

SUM:求和,多行的 Value 进行累加。

REPLACE:替代,下一批数据中的 Value 会替换之前导入过的行中的 Value。

MAX:保留最大值。

MIN:保留最小值

例如:对同一个用户的两条订单,在导入数据时,如果设置了AggregationType属性为上述四种,则按照对应方式聚合,下图中用户10000的两条订单数据在last_visit_date(REPLACE)、cost(SUM)、max_dwell_time(MAX)、min_dwell_time(MIN)处发生聚合。

注意:聚合之后,Doris并不会保存原始数据,若需要某个字段的原始数据,可另设字段存储

Unique:本质上也是一种聚合模型,但更关注key的唯一性

例如:对同一个条数据的两个唯一字段,在导入数据时,仅保留一条,后插入的数据会对先插入的数据进行覆盖。对于下表数据,设置user
_id、user_name为唯一字段,若再插入一条与其相同但age为19的数据,则前者被覆盖

user_id

user_name

city

age

sex

phone

address

1

张三

北京

17

0

123456

北京市海淀区

2

李四

北京

18

0

123456

北京市朝阳区

Duplicate:对导入的数据不进行任何聚合操作,保持原样,即使两条数据完全相同,也都会保留。虽然如此,为了提高查询效率,在创建数据表时,依然可以使用DUPLICATE 对字段进行设置。

总结:

数据模型在建表时就已确认,且无法修改,因此选择一个合适的数据模型非常重要。

  1. Aggregate:该模型可以通过预聚合的方式降低聚合查询时需要扫描的数据量和计算量,适用于固定模式的报表类查询场景,但对count(*)不友好。
  2. Unique:模型针对需要唯一主键约束的场景,可以保证唯一性。
  3. Duplicate:模型较为灵活,不受聚合模型的约束,但同样无法利用聚合的特性。4

count(*)

对于定义了预聚合的表,在使用count(*)查询过程中,可能会发生预期结果和事实结果不一致的问题。Doris底层对这种情况的处理方式是查询中扫描全部的AGGREGATEKEY列,并聚合,然后得出结果(在聚合列较多数据大的时候并不友好)。此外,还可以通过添加聚合类型为SUM的新列来模拟count(*),其值恒为1。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/518452.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

thinkphp5框架漏洞

条件&#xff1a; 根据ThinkPHP版本&#xff0c;如是5.x版本&#xff0c;即可使用ThinkPHP 5.x远程代码执行漏洞&#xff0c;无需登录&#xff0c;即可执行任意命令&#xff0c;获取服务器最高权限。 具体版本 5.x < 5.1.31 5.0.x< 5.0.23 框架介绍&#xff1a; Thi…

CC攻击的特征和防护措施

随着互联网的快速发展&#xff0c;网络攻击日益频繁。在目前的各种网络攻击中&#xff0c;CC攻击是一种常见的网络攻击手段之一。CC攻击&#xff08;也称为DDoS攻击&#xff09;是指通过大量请求或恶意流量向目标网站或服务器发送请求&#xff0c;以使其服务不可用。可能大家都…

Mysql date_format 格式化时间输出

网上的文章都是列一个大而全的表格&#xff0c;还有错误&#xff0c;我完全用不到那么多形式。遂自己开篇文章记录。 把datetime格式化为形如 2024-12-15 18:59:59的形式&#xff1a; %Y-%m-%d %H:%i:%S# 日期格式化输出select date_format(now(),%Y-%m-%d %H:%i:%S) time1,no…

如何通过3D线上科技展厅全方位展现企业创新实力?

随着数字化转型的加速&#xff0c;企业对于科技展示的需求日益增长&#xff0c;而3D线上科技展厅作为一种新兴的展示方式&#xff0c;正逐步成为企业展示科技成果、产品特性的重要工具。 一、全方位展示展品 线上科技展厅能够实现产品的全方位、多角度展示&#xff0c;这不仅增…

SAP在S4中,资产模块年结

在S4中&#xff0c;资产模块也发生了一些变化&#xff1a; 财政年度变更事务代码AJRW已经过时。它已被交易FAGLGVTR&#xff08;“总账&#xff1a;结转余额”&#xff09;取代。 资产会计中的所有APC变化都实时发布到总账中。因此&#xff0c;周期性的APC过账是没有用的&…

unity代码热修改HotReload

HotReload for unity支持的代码修改 下载地址 HotReload的版本:1.12.9 Unity版本:2018,2019,2020,2021,2023 打开热重装有两种方法 ●方法1:通过导航到Unity菜单栏中的“窗口”打开热重装窗口&#xff0c;然后选择“热重装”。 ●方法2:使用快捷键组合“AltShiftH”快速打开…

Ubuntu环境配置-LinuxQQ篇

本教程下载Linux QQ的版本是linuxqq_3.0.0-571_amd64.deb 一、下载LinuxQQ 直接使用wget命令下载链接&#xff0c;下载文件 wget https://dldir1.qq.com/qqfile/qq/QQNT/c005c911/linuxqq_3.0.0-571_amd64.deb 二、安装LinuxQQ 当下载完成后&#xff0c;运行命令&#xff1a;…

抖音网红老隋分享的蓝海项目是否值得去做呢?

在互联网时代&#xff0c;各种创业项目层出不穷&#xff0c;其中不少被誉为“蓝海项目”&#xff0c;意味着市场潜力巨大&#xff0c;竞争相对较小。近期&#xff0c;抖音网红老隋分享了一个备受关注的蓝海项目&#xff0c;那么&#xff0c;这个项目究竟是否值得去做呢?本文将…

录制用户操作实现自动化任务

先上视频&#xff01;&#xff01; 流程自动化工具-录制操作绘制流程 这个想法之前就有了&#xff0c;趁着周末时间给它撸出来。 实现思路 从之前的文章自动化桌面未来展望中已经验证了录制绘制流程图的可行性。基于DOM录制页面操作轨迹的思路监听页面点击、输入事件即可&…

服务器通过impitool设置BMC共享lan实现远程管理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、NC-SI是什么&#xff1f;二、ipmitool是什么三、查看是否支持ipmi设备四、安装ipmitool五、开始配置1.查看网卡状态2.设置运行模式3.设置静态地址 六、验证…

C# LINQ基础

LINQ基础 1. 入门2. 运算符流语法2.1 连续使用查询运算符2.2 使用Lambda表达式2.2.1 Lambda表达式及Func的方法签名2.2.2 Lambda表达式和元素类型2.2.3 自然排序2.2.4 其他查询运算符 3 查询表达式4 延迟执行4.1 重复执行4.2 捕获的变量4.3 延迟加载的工作原理4.4 查询语句的执…

Unity背景模糊图片高斯模糊高性能的实现方案

环境&#xff1a; unity2021.3.x 效果&#xff1a; 模糊前&#xff1a; 模糊后&#xff1a; 模糊前&#xff1a; 模糊后&#xff1a; 实现核心思路(shader)&#xff1a; SubShader {CGINCLUDE#include "UnityCG.cginc"sampler2D _MainTex; // 主纹理half4 _MainTe…