当前位置: 首页 > news >正文

Doris

Apache Doris(原名:Palo)是一个高性能、实时的MPP分析型数据库,非常适合海量数据的即席查询、报表分析、指标统计等 OLAP 场景。Doris 的设计目标是:极致查询性能、简单易用、支持高并发分析和明细查询


一、Doris 核心特点

特性说明
MPP 架构支持大规模分布式并行计算,横向扩展能力强
列式存储支持高压缩比,聚合类查询性能优异
高并发、低延迟查询支持上万并发,秒级查询响应
极简架构、易部署无需依赖 HDFS 或 YARN,单机即可运行
向量化执行引擎支持 SIMD 加速,提高 CPU 使用效率
支持实时更新支持流式数据导入(Kafka、Flume、Routine Load)
MySQL 协议兼容无缝对接 BI 工具、JDBC 直连、可视化友好
完备的多维建模能力支持宽表、星型/雪花建模

二、Doris 架构组成

                    +--------------------+|    FE(Frontend)  ||   元数据管理/调度   |+--------------------+|+---------------------+----------------------+|                    |                      |
+-------------+     +-------------+        +-------------+
|    BE-1     |     |    BE-2     |  ...   |    BE-n     |
| Backend 节点|     | 存储 + 计算 |        |             |
+-------------+     +-------------+        +-------------+- FE: 管理元数据、查询计划、调度
- BE: 实际执行查询、存储数据

三、数据导入方式

模式场景说明
Broker Load离线批量导入支持从 HDFS/OSS/OBS 加载
Stream Load实时小批量支持 HTTP 方式上传文件
Routine Load实时流式导入支持 Kafka 实时导入
Insert Into手动插入支持 SQL insert
DataX / Flink-Doris-Connector集成方案与离线/流处理框架结合

四、表模型类型

类型适合场景特点
Duplicate Key明细表所有数据原样存储,无聚合
Aggregate Key指标汇总支持聚合函数,如 SUM、MAX
Unique Key明细去重主键唯一,支持更新
Primary Key(新版)事务语义更强更好支持 UPSERT 更新操作

五、典型查询性能对比(以 1 亿行数据为例)

查询类型Doris 耗时传统 MySQL 耗时
条件聚合(SUM)0.2s10s+
分组聚合(GROUP BY)0.3s15s+
高并发(上万请求)支持容易 OOM
多维分析支持多表 JOIN 效率低

六、使用场景

类型描述
实时 BI 报表分析高并发、多维聚合统计
用户行为分析埋点日志分析、路径追踪
运维/日志监控秒级日志聚合、异常定位
指标平台建设PV/UV、DAU、留存率分析
数据中台查询引擎明细 + 汇总兼顾,替代传统 Hive
IoT 时序数据分析实时指标计算、大规模聚合

七、与 ClickHouse 对比

特性DorisClickHouse
架构复杂度简单(无依赖)中等
实时导入强(Kafka Routine Load)弱(写入延迟大)
更新能力支持更新/删除(Primary Key)不支持
查询性能优异优异(复杂 SQL 更好)
MySQL 兼容完全兼容部分支持
使用门槛中等偏高
社区活跃度Apache 顶级项目商业公司主导

八、生态集成

工具/平台是否兼容
BI 工具(如 Superset、FineBI)
Flink / Kafka / DataX
Grafana(SQL 数据源)
Spark / Hive 数据打通
Java 应用(JDBC)

九、简单示例:建表 + 查询

-- 建表
CREATE TABLE user_behavior (user_id BIGINT,event_type VARCHAR(20),event_time DATETIME
)
ENGINE=OLAP
DUPLICATE KEY(user_id, event_time)
DISTRIBUTED BY HASH(user_id) BUCKETS 10
PROPERTIES("replication_num" = "1");-- 插入
INSERT INTO user_behavior VALUES (1001, 'click', '2024-05-10 10:00:00');-- 查询
SELECT event_type, COUNT(*) FROM user_behavior GROUP BY event_type;

十、适合 Doris 的技术选型建议

场景选型建议
实时明细查询 + BI 报表✅ Doris
多维指标统计 + 秒级响应✅ Doris
离线大数据批处理❌ 推荐 Hive/Trino
实时流计算 + 明细查询✅ Doris + Flink
实时埋点行为分析✅ Doris or ClickHouse
http://www.xdnf.cn/news/445285.html

相关文章:

  • Kotlin 中 infix 关键字的原理和使用场景
  • A2DP、HFP、AVRCP分别是什么
  • STL,智能指针和线程安全自选锁读者写者问题
  • 蓝桥杯13届国B 完全日期
  • 【vue】生命周期钩子使用
  • 【行为型之访问者模式】游戏开发实战——Unity灵活数据操作与跨系统交互的架构秘诀
  • 关于Python 实现接口安全防护:限流、熔断降级与认证授权的深度实践
  • 2024年业绩增速大幅回退,泸州老窖未能“重回前三”
  • 使用Rust开发的智能助手系统,支持多模型、知识库和MCP
  • Go 语言 sqlx 库使用:对 MySQL 增删改查
  • Spring Boot requestBody postman
  • 人机环境体系的自主决策与机器系统的自主决策不同
  • 第二章:CSS秘典 · 色彩与布局的力量
  • 时源芯微| KY键盘接口静电浪涌防护方案
  • 【免杀】C2免杀技术(三)shellcode加密
  • ​Android学习总结之handler中源码解析和场景回答
  • scikit-learn在无监督学习算法的应用
  • 【愚公系列】《Manus极简入门》038-数字孪生设计师:“虚实映射师”
  • kaggle薅羊毛
  • 计算机操作系统(七)详细讲解进程的组成与特性,状态与转换
  • ESP32WIFI工具加透传
  • 生命之舞:创建,终止与等待,Linux进程控制的交响乐章
  • Jmeter元件 CSV Data Set Config详解
  • (1-4)Java Object类、Final、注解、设计模式、抽象类、接口、内部类
  • Doris与ClickHouse深度比较
  • 语音合成之十四 文本转语音(TTS)开源数据集
  • 互联网大厂Java求职面试:优惠券服务架构设计与AI增强实践-6
  • 使用IDEA创建Maven版本的web项目以及lombok的使用
  • 玛哈特矫平机:金属板材加工中的“平整大师”
  • 解读RTOS 第七篇 · 驱动框架与中间件集成