Apache Doris数据库
最新学讯:近期OCP认证正在报名中,因考试人员较多请尽快报名获取最近考试时间,报名费用请联系在线老师,甲骨文官方认证,报名从速!
我要咨询什么是Apache Doris
Apache Doris 是一个基于 MPP 的实时数据仓库,以其高查询速度而闻名。对于大型数据集的查询,它在亚秒内返回结果。它支持高并发的点查询和高吞吐量的复杂分析。它可以用于报告分析、临时查询、统一数据仓库和数据湖查询加速。基于 Apache Doris,用户可以构建用于用户行为分析、A/B 测试平台、日志分析、用户画像分析和电子商务订单分析的应用程序。
Apache Doris,原名Palo,最初是为支持百度的广告报告业务而创建的。它于2017年正式开源,并于2018年7月由百度捐赠给Apache软件基金会,在那里由孵化项目管理委员会的成员在Apache导师的指导下运营。2022年6月,Apache Doris从Apache孵化器毕业,成为顶级项目。到2024年,Apache Doris社区已经吸引了来自不同行业数百家公司的600多名贡献者,每月有超过120名活跃贡献者。
Apache Doris拥有广泛的用户基础。它已被全球超过4000家公司用于生产环境,包括TikTok、百度、思科、腾讯和网易等巨头。它还广泛应用于从金融、零售、电信到能源、制造、医疗等各个行业。
总体架构
Apache Doris 使用 MySQL 协议,高度兼容 MySQL 语法,并支持标准 SQL。用户可以通过各种客户端工具访问 Apache Doris,并且它可以与 BI 工具无缝集成。
存储-计算集成架构
Apache Doris的存储-计算集成架构精简且易于维护。如下面的图所示,它仅由两种类型的过程组成:
前端 (FE): 主要负责处理用户请求、查询解析和规划、元数据管理和节点管理任务。
后端 (BE): 主要负责数据存储和查询执行。数据被分区存储在多个BE节点上,并且有多个副本。
使用场景
如下面所示的图所示,经过各种数据集成和处理后,数据源通常被摄入到实时数据仓库 Doris 和离线湖 (如 Hive、Iceberg 和 Hudi) 中。这些在 OLAP 分析场景中被广泛使用。
Apache Doris 广泛应用于以下场景:
实时数据分析:
实时报告和决策:Doris为内部和外部企业用户提供实时更新的报告和仪表板,支持自动化流程中的实时决策。
临时分析:Doris提供多维数据分析能力,使快速商业智能分析和临时查询成为可能,帮助用户快速从复杂数据中发现见解。
用户画像和行为分析:Doris可以分析用户行为,如参与、留存和转化,同时支持用于行为分析的群体洞察和人群选择。
湖仓一体分析:
湖仓一体查询加速:Doris通过其高效查询引擎加速湖仓一体数据查询。
联邦分析:Doris 支持跨多个数据源的联邦查询,简化了架构并消除了数据孤岛。
实时数据处理:Doris结合了实时数据流和批处理数据处理能力,以满足高并发和低延迟的复杂业务需求。
基于SQL的可观测性:
日志和事件分析:Doris 能够实现实时或批量分析分布式系统中的日志和事件,帮助识别问题并优化性能。
Apache Doris的核心特性
高可用性:在Apache Doris中,元数据和数据都以多个副本存储,通过多数派协议同步数据日志。数据写入被视为成功,当多数副本完成写入时,确保即使一些节点失败,集群仍然可用。Apache Doris支持同城和跨区域的灾难恢复,启用双集群主从模式。当一些节点发生故障时,集群可以自动隔离故障节点,防止整体集群可用性受到影响。
高兼容性:Apache Doris在MySQL协议上具有高度兼容性,并支持标准的SQL语法,涵盖了大多数MySQL和Hive函数。这种高兼容性使用户能够无缝迁移和整合现有的应用程序和工具。Apache Doris支持MySQL生态系统,使用户能够使用MySQL客户端工具连接Doris,以便进行更方便的运营和维护。它还支持BI报告工具和数据传输工具的MySQL协议兼容性,确保在数据分析和数据传输过程中的效率和稳定性。
实时数据仓库:基于Apache Doris,可以构建实时数据仓库服务。Apache Doris提供了秒级数据摄入能力,能够在几秒钟内将上游在线事务数据库的增量变化捕获到Doris中。利用向量引擎、MPP架构和Pipeline执行引擎,Doris提供了亚秒级的数据查询能力,从而构建高性能、低延迟的实时数据仓库平台。
统一的数据湖:Apache Doris 可以基于数据湖或关系数据库等外部数据源构建统一的数据湖架构。Doris 统一的数据湖解决方案实现了数据湖和数据仓库之间的无缝集成和自由数据流动,帮助用户直接利用数据仓库功能在数据湖中解决数据分析问题,同时充分利用数据湖的数据管理功能来提升数据价值。
灵活建模:Apache Doris 提供了多种建模方法,例如宽表模型、预聚合模型、星型/雪花型模式等。在数据导入过程中,数据可以被扁平化成宽表并通过 Flink 或 Spark 等计算引擎写入 Doris,或者可以直接导入 Doris,通过视图、物化视图或实时多表连接来执行数据建模操作。