首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Lansonli技术博客

    数据Doris(十五):Doris分区Partition

    创建Doris表时也可以仅使用一层分区,使用一层分区时,只支持Bucket分桶划分,这种表叫做单分区表;如果一张表既有分区又有分桶,这张表叫做复合分区表。 分区用于将数据划分成不同区间, 逻辑上可以理解为将原始表划分成了多个部分。可以方便的按分区对数据进行管理,例如,删除数据时,更加迅速。Partition支持Range和List的划分方式。 从Doris1.2.0版本后也支持通过"FROM(...) TO (...) INTERVAL ..."来批量创建分区。下面分别进行演示。 通过"VALUES [...)"  "2017-06-01"); Query OK, 0 rows affected (0.05 sec) 注意:关于操作分区注意项参考官网:ALTER-TABLE-PARTITION - Apache Doris ,向表中插入如下数据: #向表中插入如下数据,每条数据可以对应到已有分区中 insert into example_db.example_list_tbl2 values (1,"2017-10-01

    6.8K100编辑于 2023-05-11
  • 来自专栏Lansonli技术博客

    数据Doris(一):Doris概述篇

    Doris概述篇一、前言Doris由百度大数据部研发,之前叫百度Palo,于2017年开源,2018年贡献到 Apache 社区后,更名为Doris。 二、​​​​​​​Doris简介Apache Doris是一个现代化的基于MPP(大规模并行处理)技术的分析型数据库产品。 仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。Apache Doris可以满足多种数据分析需求,例如固定历史报表,实时数据分析,交互式数据分析和探索式数据分析等。 总结:数据压缩率Clickhouse好ClickHouse单表查询性能优势巨大Join查询两者各有优劣,数据量小情况下Clickhouse好,数据量大DorisDoris对SQL支持情况要好六、​​​​​​​​​​​​​​ 一般情况下,用户的原始数据,比如日志或者在事务型数据库中的数据,经过流式系统或离线处理后,导入到Doris中以供上层的报表工具或者数据分析师查询使用。​

    37.2K410编辑于 2023-12-28
  • 来自专栏Lansonli技术博客

    数据Doris(二):Apache Doris 部署介绍

    部署BE需要注意以下几点:BE 的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量 * 3(3副本)计算,然后再预留额外 40% 的空间用作后台 compaction 以及一些中间数据的存放。 Apache Doris的性能与节点数量及配置正相关,官方建议生产环境中部署Doris使用10~100台左右的机器来充分发挥Doris性能,其中3台部署FE(HA),剩余的部署BE。 如果FE和BE混部,需要注意资源竞争问题,并保证元数据目录和数据目录分属不同磁盘。 时钟同步Doris 的元数据要求时间精度要小于5000ms,所以所有集群所有机器要进行时钟同步,避免因为时钟问题引发的元数据不一致导致服务出现异常。 图片调vm.max_map_count值在部署Apache Doris时,从1.2.0版本往后,需要在部署BE的节点上调单个JVM进程的虚拟机内存区域数量值以支撑更多的线程,BE 启动脚本会通过/proc

    4.8K00编辑于 2023-04-27
  • 来自专栏Lansonli技术博客

    数据Doris(二):Doris原理篇

    Doris原理篇一、Doris 特点1、支持标准SQL接口在使用接口方面,Doris 采用 MySQL 协议,高度兼容 MySQL 语法,支持标准 SQL,用户可以通过各类客户端工具来访问 Doris 在存储引擎方面,Doris 采用列式存储,按列进行数据的编码压缩和读取,能够实现极高的压缩比,同时减少大量非相关数据的扫描,从而更加有效利用 IO 和 CPU 资源。 Doris的系统架构如下,Doris主要分为FE和BE两个组件:Doris的架构很简洁,使用MySQL协议,用户可以使用任何MySQL ODBC/JDBC和MySQL客户端直接访问Doris,只设FE( FE:Frontend,即 Doris 的前端节点。主要负责接收和返回客户端请求、元数据以及集群管理、查询计划生成等工作BE:Backend,即 Doris 的后端节点。 三、​​​​​​​​​​​​​​元数据结构Doris采用==Paxos协议以及Memory+ Checkpoint + Journal的机制==来确保元数据的高性能及高可靠。

    5.7K43编辑于 2024-01-17
  • 来自专栏大数据学习笔记

    Doris数据模型

    Apache Doris主要有3种数据模型: 明细模型:Duplicate(重复,复制)模型,表中的Key值(类似关系模型中的主键)可以重复,和插入数据行一一对应。 聚合模型:Aggregate(聚合,合计)模型,表中key值不重复,对于插入的数据数据按照key值对value值进行聚合函数合并。 更新模型:UNIQUE 模型,聚合类型的特殊情况,key满足唯一性,最新插入的数据替换掉对应key的数据行。 1、明细模型(Duplicate) 1.1 说明 明细模型是 DORIS 默认使用的数据模型 该数据模型不会对导入的数据进行任何处理,保留导入的原始数据 明细模型中, 可以指定部分的维度列为排序键; 而聚合模型和更新模型中 针对这种数据更新更新场景,传统处理方式是业务结束时间进行分区,未结束的业务结束日期统一定义为9999-12-31。Doris采用更新模型来满足这种需求。

    2.2K10发布于 2021-09-08
  • 来自专栏Lansonli技术博客

    数据Doris(一):深入了解Apache Doris

    深入了解Apache Doris一、Apache Doris介绍Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果 ,由于与国外数据库厂商重名,因此选择用回最初 Doris 名字,这就是 Apache Doris 的由来。 二、Apache Doris使用场景如下图所示,数据源经过各种数据集成和加工处理后,通常会入库到实时数仓Doris 和离线湖仓(Hive, Iceberg, Hudi 中),Apache Doris 被广泛应用在以下场景中 Observer用来扩展查询节点、同步Leader元数据进行备份,如果Doris集群压力非常,可以扩展Observer节点来提高集群查询能力,Observer不参与选举、数据写入,只参与数据读取。 BE分布式的存储Doris table表数据,table表数据会经过分区分桶形成tablet,tablet采用列式存储,默认有3个副本。

    5.1K83编辑于 2023-03-25
  • doris数据分片逻辑

            Apache Doris数据分片逻辑采用多级分区策略,通过分区(Partition)+分桶(Bucket)‌ 的复合机制实现数据高效管理与查询优化,具体逻辑如下: 一、分层逻辑架构 ‌分区 (Partition)‌ ‌作用‌:按业务场景划分数据范围,支持时间范围分区‌(如按天/月)或 ‌枚举值分区‌(如按地区/类型) ‌优势‌:通过分区剪枝减少查询扫描范围,例如查询某时段数据时仅需扫描对应分区 ,适应时间序列数据增长需求 ‌纵向切分‌:分桶数量和字段可配置,优化不同查询模式(如高频点查选择高基数列分桶) ‌负载均衡‌:数据自动均匀分布到集群节点,避免热点问题 三、典型应用场景 ‌         ‌        查询优化‌:查询 date='2023-05-15' AND user_id=123 时,仅扫描 p202305 分区中对应分桶的 Tablet         通过这种多层分片机制,Doris 平衡了数据管理灵活性与查询性能需求。

    22510编辑于 2025-12-23
  • 来自专栏Lansonli技术博客

    数据Doris(二十四):Doris数据Insert Into导入方式介绍

    Doris数据Insert Into导入方式介绍 Doris 提供多种数据导入方案,可以针对不同的数据源进行选择不同的数据导入方式。 Doris支持各种各样的数据导入方式:Insert Into、json格式数据导入、Binlog Load、Broker Load、Routine Load、Spark Load、Stream Load 注意:Doris 中的所有导入操作都有原子性保证,即一个导入作业中的数据要么全部成功,要么全部失败,不会出现仅部分数据导入成功的情况。 但在 Doris 中,所有的数据写入都是一个独立的导入作业,所以这里将 Insert Into 也作为一种导入方式介绍。 如何预估导入时间,估算方式如下: 假设有36G数据需要导入到DorisDoris集群数据导入速度为10M/s(最大限速为10M/s,可以根据先前导入的数据量/消耗秒计算出当前集群平均的导入速度),那么预估导入时间为

    9.1K60编辑于 2023-05-22
  • 来自专栏Lansonli技术博客

    数据Doris(二十五):Doris数据Binlog Load导入方式介绍

    Doris数据Binlog Load导入方式介绍 Binlog Load提供了一种使Doris增量同步用户在Mysql数据库的对数据更新操作的CDC(Change Data Capture)功能。 三、Doris同步MySQL数据案例 下面步骤演示使用Binlog Load 来同步MySQL表数据,需要的Canal已经配置完成,只需要经过MySQL中创建源表、Doris创建目标表、创建同步作业几个步骤即可完成数据同步 向MySQL源表中插入如下数据,同时在Doris中查询对应的目标表,可以看到MySQL中的数据被监控到Doris目标表中。 删除doris 目标表后,数据同步作业会被EF的定时调度停止。 Doris本身浮点类型的精度与Mysql不一样,所以数据同步时浮点类型的数据精度在Mysql端和Doris端不一样,可以选择用Decimal类型代替。

    2.9K30编辑于 2023-05-23
  • 来自专栏开源心路

    doris 数据库优化

    存储 列示存储 数据按列连续存储,按需读取 多种编码方式和自适应编码 在编码基础上基于Lz4算法进行压缩 1:8数据压缩比 存储编码方式 文件格式 多副本存储,自动数据迁移、副本均衡 Colocation Join 利用数据分布情况在本地完成join,避免数据Shuffle。 Bucket Join 智能判断关联条件和数据分布关系,减少Shuffle数据量。 Stream Load 通过 HTTP 协议导入本地文件或数据流中的数据。 Routine Load 生成例行作业,直接订阅Kafka消息队列中的数据。 Binlog Load * 增量同步用户在Mysql数据库的对数据更新操作的CDC。 Flink Connector 在Flink中注册数据源,实现对Doris数据的读写。 Spark Load 通过外部的 Spark 资源实现对导入数据的预处理。 Insert Into 库内数据ETL转换或ODBC外表数据导入。

    1K21编辑于 2023-06-30
  • Doris数据恢复步骤

            以下是基于实际运维场景的 Doris数据恢复操作指南,综合备份恢复与紧急处理方案: ‌一、通过备份快照恢复元数据‌ 1‌.1 查询可用备份 SHOW SNAPSHOT ON example_repo 二、紧急恢复(元数据损坏且无备份) ‌2.1 单 FE 节点故障恢复‌         故障节点 fe.conf 中启用元数据恢复模式: metadata_failure_recovery = true         元数据版本‌不可向后兼容‌,高版本恢复后禁止回滚旧版本。          升级前需严格测试元数据兼容性(参考 FeMetaVersion.java 变更)。 3.2 ‌存储目录结构         元数据目录标准结构(fe.conf 中 meta_dir 配置): /doris-meta/ ├── bdb/ # BDBJE 日志(异常增长需检查

    19110编辑于 2025-12-23
  • Doris 数据模型:克服三神器的选择困难症

    当程序员小张第108次为慢查询抓狂,当DBA老王看着分桶配置陷入沉思,当架构师Lisa面对数据倾斜欲哭无泪——有没有一种可能,让数据库既快又稳还能保住程序员的发际线?  Apache Doris拍了拍胸脯:"这事儿,得加钱?不,得加我!" 三数据模型神器 1. Unique Key:数据界的洁癖患者 必杀技: • Merge-on-Write:像霸道总裁一样覆盖旧数据 • 主键唯一性:防重复比防脱发还严格 CREATE TABLE 程序员信息表 (    员工 合理使用物化视图,查询速度提升50%,发量多保留30% • 定期检查分区分桶,避免小文件问题导致的突发性脱发 • 遇到性能问题先看执行计划和Profile,比求神拜佛管用 尾声 补习班将在后续推出新系列:《大话 Doris 》,将以诙谐幽默的语言来帮大家更好的理解 Doris 的各种能力~

    17500编辑于 2025-07-14
  • 来自专栏设计模式

    深入解析实时数仓Doris:三数据模型详解

    一、基本概念 在 Doris 中,数据以表(Table)的形式进行逻辑上的描述。 一张表包括行(Row)和列(Column)。Row 即用户的一行数据。Column 用于描述一行数据中不同的字段。 Doris数据模型主要分为 3 类: Aggregate Unique Duplicate 下面我们分别介绍。 这里我们为了更加方便的解释 Doris数据模型,将两部分信息统一存放在一张表中。 表中的列按照是否设置了 AggregationType,分为 Key (维度列) 和 Value(指标列)。 经过聚合,Doris 中最终只会存储聚合后的数据。换句话说,即明细数据会丢失,用户不能够再查询到聚合前的明细数据了。 【参考】:doris官网数据模型介绍

    3K11编辑于 2024-04-02
  • 来自专栏Apache Doris

    腾讯音乐基于 Apache Doris + 模型构建全新智能数据服务平台

    当平台融入模型后,平台用户输入的问题会进入模型进行语义解析,自动转化为 SQL 语句触发 OLAP 引擎开启数据分析与查询。 模型 + OLAP :开启数据服务平台新模式 在模型 + OLAP 架构方案中,目前经典方案如下图所示,模型充当中间层将用户输入的自然语言转化为 SQL 执行语句,OLAP 作为底层存储和数据处理的引擎 图片 为了进一步提升架构性能,数据架构 3.0 主要将处理层中大宽表进行拆分,同时将分析层统一使用 Apache Doris 作为查询分析引擎: 处理层:按照业务分类在 DWM 中将宽表拆分成缓慢维度表与指标表 Join 功能对宽表拆分、本地关联查询加速进行优化,具体过程如下: 指标宽表:采用 Apache Doris 的 Aggregate Key 模型,使用增量的方式将数据覆盖写入; 缓慢维度表:主要通过 平台指标:覆盖四音乐平台,包括酷我、QQ 音乐、酷狗、K 歌内容指标:包含歌曲、歌手、专辑以及厂牌等数据 图片 为了有效解决指标膨胀问题,我们引入了 Doris Rollup 功能。

    1.5K20编辑于 2023-09-05
  • 来自专栏大数据成神之路

    硬刚Doris系列」Apache Doris基本使用和数据模型

    如按天分区,当每天的数据量差异很大时,可以通过指定分区的分桶数,合理划分不同分区的数据,分桶列建议选择区分度的列。 用户也可以不使用复合分区,即使用单分区。则数据只做 HASH 分布。 Doris介绍 2.1 Doris简介 Doris(原百度 Palo)是一款基于大规模并行处理技术的分布式 SQL 数据库,由百度在2017年开源,2018年8月进入 Apache 孵化器。 那么当这批数据正确导入到 Doris 中后,Doris 中最终存储如下: 可以看到,用户 10000 只剩下了一行聚合后的数据。而其余用户的数据和原始数据保持一致。 导入数据如下: 那么当这批数据正确导入到 Doris 中后,Doris 中最终存储如下: 我们可以看到,存储的数据,和导入数据完全一样,没有发生任何聚合。 假设现在表中已有数据如下: 我们再导入一批新的数据: 那么当这批数据正确导入到 Doris 中后,Doris 中最终存储如下: 可以看到,用户 10004 的已有数据和新导入的数据发生了聚合。

    3.6K31编辑于 2022-06-05
  • 来自专栏小麦苗的DB宝专栏

    Apache Doris数据运维

    那么一个正常运行中的 Doris 集群,元数据的目录结构应该如下: /path/to/doris-meta/ |-- bdb/ | |-- 00000000 当 Doris 定期做完 image 后,旧的日志就会被删除。所以正常情况下,这些数据文件的总大小从几 MB 到几 GB 不等(取决于使用 Doris 的方式,如导入频率等)。 这是因为,这里看到的 “OBSERVER” 是记录在 Doris 的元数据中的,而是否是 master,是记录在 bdbje 的元数据中的。 当观察到 Master FE 节点上 meta_dir/image目录下的 image.ckpt 文件快和 image.xxx 文件一样时,可以直接删除掉image.ckpt 文件。 bdb/ 目录的大小非常,达到几个G或更多 如果在排除无法生成新的 image 的错误后,bdb 目录在一段时间内依然很大。则可能是因为 Master FE 推送 image 不成功。

    1.4K31编辑于 2023-10-28
  • Doris使用Stream Load 导入数据

    Doris 结点分为FE 和 BE结点, BE负责存储,FE负责任务查询调度。 FE和BE 都能使用 Stream Load 导入接口,区别是:当使用Stream Load 导入数据时,FE会查找分配结点,使用HTTP 307 重定向流量。 使用 Java中导入数据时:特别注意从FE结点接口导入数据,需要二次解析重定向地址,即取到重定向的BE接口地址。 + "/" + DORIS_DATABASE + "/" + DORIS_TABLE + "/_stream_load/";HttpRequest request = HttpUtil.createRequest (Method.PUT, batchUrl);request.header(HttpHeaders.AUTHORIZATION, getBasicAuthHeader(DORIS_USERNAME,

    1.7K10编辑于 2024-02-06
  • 来自专栏Lansonli技术博客

    数据Doris(二十一):Bloom Filter索引以及Doris索引总结

    Bloom Filter索引以及Doris索引总结 一、Bloom Filter索引 1、BloomFilter索引原理 BloomFilter是由Bloom在1970年提出的一种多哈希函数映射的快速查找算法 布隆过滤器索引使用非常广泛,在大数据组件HBase就提供了布隆过滤器,它允许你对存储在每个数据块的数据做一个反向测试。 Doris 的 BloomFilter 索引需要通过建表的时候指定,或者通过表的 ALTER 操作来完成。 二、Doris索引总结 Doris数据进行有序存储, 在数据有序的基础上为其建立稀疏索引,索引粒度为 block(1024行)。 稀疏索引选取 schema 中固定长度的前缀作为索引内容, 目前 Doris 选取 36 个字节的前缀作为索引。

    3.1K31编辑于 2023-05-15
  • 来自专栏深度学习与python

    当 Apache Doris 遇上模型:探秘腾讯音乐如何基于模型 + OLAP 构建智能数据服务平台

    当平台融入模型后,平台用户输入的问题会进入模型进行语义解析,自动转化为 SQL 语句触发 OLAP 引擎开启数据分析与查询。 模型 + OLAP :开启数据服务平台新模式 在模型 + OLAP 架构方案中,目前经典方案如下图所示,模型充当中间层将用户输入的自然语言转化为 SQL 执行语句,OLAP 作为底层存储和数据处理的引擎 为了进一步提升架构性能,数据架构 3.0 主要将处理层中大宽表进行拆分,同时将分析层统一使用 Apache Doris 作为查询分析引擎: 处理层:按照业务分类在 DWM 中将宽表拆分成缓慢维度表与指标表 Join 功能对宽表拆分、本地关联查询加速进行优化,具体过程如下: 指标宽表:采用 Apache Doris 的 Aggregate Key 模型,使用增量的方式将数据覆盖写入; 缓慢维度表:主要通过 平台指标:覆盖四音乐平台,包括酷我、QQ 音乐、酷狗、K 歌 内容指标:包含歌曲、歌手、专辑以及厂牌等数据 为了有效解决指标膨胀问题,我们引入了 Doris Rollup 功能。

    88530编辑于 2023-09-08
  • Apache Doris 数据存储架构深度解析

    本文将全方位深度解析 Doris数据存储机制,揭示其在工程实现中的设计与逻辑。 这一小设计兼顾了并行处理效率(单个 Segment 可被单个线程处理)与元数据管理开销(过多小文件会增加内存负担)。 分为两种类型: Cumulative Compaction:合并最近的多个小 Rowset,生成中等大小的 Rowset,频率较高(可调整); Base Compaction:合并所有 Rowset 为一个 Doris查询报错-230?别慌,教你几招秒解! Doris Tablet 损坏如何应对?能恢复数据吗? Doris 导入慢该如何排查和优化 Doris 建表与分区问题全解析 完 ● 数据极客圈子介绍 ● 圈子1 Apache Doris社区是目前国内最活跃的开源社区(之一)。

    66210编辑于 2025-11-12
领券