Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >doris 数据库优化

doris 数据库优化

作者头像
Dlimeng
发布于 2023-06-30 06:58:05
发布于 2023-06-30 06:58:05
6760
举报
文章被收录于专栏:开源心路开源心路

存储

列示存储

  • 数据按列连续存储,按需读取
  • 多种编码方式和自适应编码
  • 在编码基础上基于Lz4算法进行压缩
  • 1:8数据压缩比

存储编码方式

文件格式

多副本存储,自动数据迁移、副本均衡

索引

自动写入的智能索引

  • 前缀稀疏索引:快速定位起始行
  • Min Max 索引:等值/范围查询快速过滤

用户自主选择的二级索引

  • Bloom Filter 索引:高基数上实现等值查询
  • 倒排索引:基于Bitmap位图快速精确查询

MPP

基于MPP的火山模型

利用多节点间并行数据处理 节点内并行执行,充分利用多CPU资源

算子优化

自适应的两阶段聚合算子,避免阻塞等待。

大量优化Join算子,以Runtime Filter为例

  • 为连接列生成过滤结构并下推,减少需要传输和对比的数据量。
  • 实现了In/Min Max/Bloom Filter等Filter类型,根据不同场景选择。
  • 节点自动穿透,将Filter穿透下推到最底层扫描节点。 *

向量化执行引擎

向量化:一次对一组值进行运算的过程

充分提升CPU执行效率

进一步利用CPU SIMD指令加速计算效率

规则优化RBO

常量折叠:

  • 基于常量计算,利于分区分桶裁剪以数据过滤。

子查询改写:

  • 将子查询改写成Join,利用Join优化来提升查询效率。

谓词下推:

  • 谓词下推至存储引擎,利用索引进行数据过滤。

代价优化CBO

Join Reorder

  • 自动调整Join顺序,降低中间数据集大小。

Colocation Join

  • 利用数据分布情况在本地完成join,避免数据Shuffle。

Bucket Join 智能判断关联条件和数据分布关系,减少Shuffle数据量。

数据模型

建表

  • 定义 Key 维度列和 Value 指标列
  • 选择数据模型:Agg /Uniq /Dup
  • 选择数据分布方式: Partition 分区和 Bucket 分桶
  • 指定副本数量和存储介质

模型

  • Unique Key主键唯一模型,Key唯一、不聚合,实现精准去重和行级别数据更新;
  • Aggregate聚合模型:相同key列其Value列合并(SUM,MIN,MAX,REPLACE),通过提前聚合显著提升查询性能
  • Duplicate Key明细模型,不提前聚合、实现快速排序
  • 同时支持星型模型/雪花模型/宽表模型

导入

Broker Load

HDFS或所有支持S3协议的对象存储

Stream Load

通过 HTTP 协议导入本地文件或数据流中的数据。

Routine Load

生成例行作业,直接订阅Kafka消息队列中的数据。

Binlog Load *

增量同步用户在Mysql数据库的对数据更新操作的CDC。

Flink Connector

在Flink中注册数据源,实现对Doris数据的读写。

Spark Load

通过外部的 Spark 资源实现对导入数据的预处理。

Insert Into

库内数据ETL转换或ODBC外表数据导入。

事务

多版本机制解决读写冲突,写入带版本、查询带版本

两阶段导入保证多表原子生效

  • 支持并行导入
  • 有冲突时按导入顺序生效,无冲突导入时并行生效

标准sql

  • 单表聚合、排序、过滤
  • 多表关联、子查询
  • 复杂SQL、窗口函数、GroupingSet等高级语法
  • UDF、UDAF
  • 修改密码 SET PASSWORD FOR ‘root’ = PASSWORD(‘123456’);

高并发

通过分区分桶裁剪,减少查询对系统资源消耗

支持SQL/PartitionCache,降低重复查询对资源的消耗

资源隔离

同时支持节点和查询级别的资源划分 一套集群同时支持在线离线查询,解决资源抢占问题 多用户对集群资源更合理的划分

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
悄悄学习Doris,偷偷惊艳所有人 | Apache Doris四万字小总结
DorisDB是由Apache Doris核心研发团队打造的新一代企业级MPP数据库。它继承了Apache Doris项目十多年研发成果,累积了线上数千台服务器稳定运行经验,并在此基础上,对传统MPP数据库进行了开创性的革新。
王知无-import_bigdata
2021/09/22
7.9K1
大数据Doris(二):Doris原理篇
在使用接口方面,Doris 采用 MySQL 协议,高度兼容 MySQL 语法,支持标准 SQL,用户可以通过各类客户端工具来访问 Doris,并支持与 BI 工具的无缝对接。
Lansonli
2024/01/17
4.5K0
大数据Doris(二):Doris原理篇
大数据Doris(一):深入了解Apache Doris
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以 支持高并发的点查询场景,也能支持高吞吐的复杂分析场景 。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。
Lansonli
2023/03/25
3.8K0
大数据Doris(一):深入了解Apache Doris
浅谈 AnalyticDB SQL 优化「建议收藏」
数据库性能优化需要从多个方面进行综合考虑。 例如:系统资源是否充足、资源模型的设计(高性能 vs 大存储)、表的设计以及规划、SQL改写和优化等等,本文只要介绍adb sql的优化
全栈程序员站长
2022/09/29
1.2K0
浅谈 AnalyticDB SQL 优化「建议收藏」
干货 | 基于ClickHouse的复杂查询实现与优化
ClickHouse的执行模式与Druid、ES等大数据引擎类似,其基本的查询模式可分为两个阶段。第一阶段,Coordinator在收到查询后,将请求发送给对应的Worker节点。第二阶段,Worker节点完成计算,Coordinator在收到各Worker节点的数据后进行汇聚和处理,并将处理后的结果返回。
从大数据到人工智能
2022/09/08
3.1K0
干货 | 基于ClickHouse的复杂查询实现与优化
聊聊分布式 SQL 数据库Doris(七)
Doris的存储结构是类似LSM-Tree设计的,因此很多方面都是通用的,先阅读了解LSM相关的知识,再看Doris的底层存储与读取流程会清晰透彻很多,如下是几个关键的设计:
Ryan_OVO
2023/11/29
3790
聊聊分布式 SQL 数据库Doris(一)
MPP:Massively Parallel Processing, 即大规模并行处理.
Ryan_OVO
2023/11/21
7750
聊聊分布式 SQL 数据库Doris(一)
国产数据库 - 架构设计 - 初识Doris
Doris是一款基于MPP架构的分析型数据库。整体架构很简单,只有两类进程FE和BE。其中FE(Frontend)主要负责用户请求的接入、查询解析规划、元数据管理和节点管理相关工作;BE(Backend)主要负责数据存储、查询计划的执行。
yzsDBA
2024/06/03
1.6K0
国产数据库 - 架构设计 - 初识Doris
当Doris遇上福尔摩斯:一个数据库优化器的推理日记
每个数据分析师都经历过这样的时刻 - 一个看似简单的SQL查询花费了意想不到的长时间。
一臻数据
2024/12/24
1130
当Doris遇上福尔摩斯:一个数据库优化器的推理日记
云数据库技术沙龙|ByteHouse云数仓版查询性能优化和MySQL生态完善
ByteHouse云数仓版是字节跳动数据平台团队在复用开源 ClickHouse runtime 的基础上,基于云原生架构重构设计,并新增和优化了大量功能。在字节内部,ByteHouse被广泛用于各类实时分析领域,最大的一个集群规模大于2400节点,管理的总数据量超过700PB。本分享将介绍ByteHouse云原生版的整体架构,并重点介绍ByteHouse在查询上的优化(如优化器、MPP执行模式、调度优化等)和对MySQL生态的完善(基于社区MaterializedMySQL功能),最后结合实际应用案例总结优化的效果。
NineData
2023/04/26
6340
云数据库技术沙龙|ByteHouse云数仓版查询性能优化和MySQL生态完善
深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节
Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即席查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。
公众号:码到三十五
2024/05/24
7.3K0
深入解析实时数仓Doris:介绍、架构剖析、应用场景与数据划分细节
StarRocks:单表查询速度媲美ClickHouse的云时代极速全场景MPP数据库
大数据时代用户们对数据分析的要求一直都在。早期通过Hadoop的生态圈,用HIVE等语言进行数据分析,虽然很好的解决了数据规模的问题,但是时延却一直不好。
用户1564362
2021/12/17
2.6K0
StarRocks:单表查询速度媲美ClickHouse的云时代极速全场景MPP数据库
建议收藏!浅谈OLAP系统核心技术点
OLAP系统广泛应用于BI、Reporting、Ad-hoc、ETL数仓分析等场景,本文主要从体系化的角度来分析OLAP系统的核心技术点,从业界已有的OLAP中萃取其共性,分为谈存储,谈计算,谈优化器,谈趋势4个章节。
数据社
2020/08/27
1.3K0
ByteHouse 如何将 OLAP 性能提升百倍?
在数据处理和分析的领域,提升查询效率始终是一项关键挑战。对于 OLAP 来说,性能的关键需求在于能支持实时分析,应对复杂查询,提供快速响应,并具备良好的可扩展性。这些方面,对于满足高效、准确的数据分析需求至关重要。
芋道源码
2024/04/18
2710
ByteHouse 如何将 OLAP 性能提升百倍?
高时效、低成本, Apache Doris 在文旅业态下的统一数据中台实践
导读:无锡拈花云科技服务有限公司(以下简称拈花云科)是由中国创意文旅集成商拈花湾文旅和北京滴普科技有限公司共同孵化组建的。拈花云科以数字化思维为导向,致力于成为文旅目的地数智化服务商。2022 年底,拈花云科 NearFar X Lab 团队在数据需求的驱动下,开始调研并引进 Apache Doris 作为新架构下的数据仓库选型方案。本文主要介绍了拈花云科数据中台架构从 1.0 到 2.0 的演变过程,以及 Apache Doris 在交付型项目和 SaaS 产品中的应用实践,希望本文分享的内容能对大家有所启发。
深度学习与Python
2023/08/10
1.1K0
高时效、低成本, Apache Doris 在文旅业态下的统一数据中台实践
京东李海波:OLAP关键技术演进思考
导读:本文由京东零售大数据架构师李海波老师贡献。李海波老师从2016年开始在小米和京东负责商业智能和多维分析,推动了多个OLAP组件在公司落地,积极参与内核研发是Apache Doris和ClickHouse的贡献者,曾在百度等公司长期负责广告和搜索相关架构,毕业于华中科技大学计算机专业。
ApacheHudi
2023/02/28
1.2K0
京东李海波:OLAP关键技术演进思考
聊聊分布式 SQL 数据库Doris(九)
优化器的作用是优化查询语句的执行效率,它通过评估不同的执行计划并选择最优的执行计划来实现这一目标。
Ryan_OVO
2023/12/01
4650
聊聊分布式 SQL 数据库Doris(九)
Apache Doris : 一个开源 MPP 数据库的架构与实践
Doris 是分布式、面向交互式查询的分布式数据库,主要部分是 SQL,内部用到 MPP 技术。
Spark学习技巧
2021/03/05
10.4K0
Apache Doris : 一个开源 MPP 数据库的架构与实践
国产数据库-HTAP-MatrixOne的OLAP技术特性
MatrixOne是矩阵起源数据库创业公司打造的开源超融合异构数据库,能同时灵活支持OLTP、OLAP等不同工作负载。下面学习下其关于OLAP方面的技术特性。
yzsDBA
2023/08/09
3060
国产数据库-HTAP-MatrixOne的OLAP技术特性
云数据仓库的未来趋势:计算存储分离
随着云时代的到来,数据库也开始拥抱云数据库时代,各类数据库系统(OLTP、OLAP、NoSQL等)在各内外云平台(AWS、Azure、阿里云)百花齐放,有开源的MySQL、PostgreSQL、MongoDB,传统数据库厂商的SQLServer、Oracle,云厂商自研的Aurora、Redshift、PolarDB、AnalyticDB、AzureSQL等。有些数据库还处于Cloud Hosting阶段,仅仅是将原有架构迁移到云主机上,利用了云的资源。有些数据库则已经进入了Cloud Native阶段,基于云平台IAAS层的基础设施,构建弹性、serverless、数据共享等能力。
CloudBest
2021/07/13
2.5K0
云数据仓库的未来趋势:计算存储分离
推荐阅读
相关推荐
悄悄学习Doris,偷偷惊艳所有人 | Apache Doris四万字小总结
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档