一文让您读懂实时数仓(Apache Doris)

引言: 随着大数据时代的来临,实时数据处理与分析成为企业核心竞争力的关键因素之一。在这场数据革命中,SelectDB成为引领者。从百度自研的实时数仓平台 Palo,到开源项目 Apache Doris,再到飞轮科技研发的 SelectDB,这些名字都代表着大数据处理领域的前沿技术和最佳实践,接下来带您深入了解实时数仓及其发展现状。

2013 年百度研发了实时数仓平台 Palo,采用列存和MPP查询引擎,最初应用在百度统计、广告报表分析场景,经过四年的发展与优化,实时数仓已经推广到了百度所有的业务线,正式成为了百度统一的实时数仓;

2018 年,Palo 开源,并成为 Apache 基金会孵化器项目,更名为 ApacheDoris,Apache Doris 被数百家企业应用在生产系统,包含美团、京东、小米、字节、华为、腾讯等公司;

2022年 1 月,Doris 团队创建飞轮科技(SELECTDB),SelectDB 是 Doris 的重要推动力量,大力建设开源社区并提供商业化产品和服务支持;

2022 年 6 月,Apache Doris 孵化毕业,成为 Apache 顶级项目(TLP)。截止 2023 有 2000 多家中大企业使用,9000+ Star,550+ 多开发者,是目前最活跃、最受欢迎的开源大数据项目;

1.png

2022年7月,Apache Doris 1.1 版本发布,该版本是全面向量化引擎支持,性能提升3-5倍,内存统计和限制机制,稳定性大幅提升,500+优化和修复:ZSTD压缩算法、Lateral,View语法及 TableFunction 表函数等;

2022年12月,Apache Doris 1.12 版本发布,该版本算子全面优化,宽表性能领先;Clickbench 全球性能第一,领先 Clickhouse;新主键模型(MoW Uniquekey),聚合性能提升5-10倍;嵌套数据类型: Array,JSON;初步完备的LakeHouse,性能比presto快3-5倍;轻量 Schema Change;

2023年7月,Apache Doris 2.0 版本发布 ,该版本复杂查询盲测性能提升近 10倍:

  • 全新的查询优化器,pipeline 执行引擎;
  • 倒排索引,相比 ElasticSearch 10倍性价比的日志存储分析方案;
  • 完善的 Lakehouse (Hive,Iceberg,Hudi,JDBC RDMBS) 和性能提升;
  • 高并发数据服务支持,点查性能单机数万,线性可扩展;
  • MoW Unique Key 稳定支持大批量导入,支持部分列更新,完善的 DML;
  • 资源弹性:冷热数据分层 + 弹性计算节点;
  • 众多企业级特性:跨级群复制 CCR、负载管理和排队、万表库、K8S 对接;

Apache Doris 2.1 版本将会在年前发布,该版本有以下特性:

  • SelectDB Cloud 上完善的存算分离能力开源到社区;
  • 数据科学场景高速读取数据;
  • Varint 数据类型,更灵活的半结构化数据支持;
  • 多表物化视图;
  • Lakehouse 兼容 Trino 语法;
  • PL/SQL 存储过程。

实时数仓(Apache Doris)概念 ApacheDoris 是一个基于MPP架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,ApacheDoris 能够较好的满足报表分析、即时查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB实验平台、日志检索分析、用户画像分析、订单分析等应用。

实时数仓(Apache Doris)主要特性

高效:

  • 极速的分析性能:支持标准的 SQL 并且完全兼容 MySQL 协议,能够提供亚秒级响应时间,在海量数据场景下提供毫秒级查询服务;
  • 高效的数据更新:提供了数据插入、更新、删除等操作的高效实现,支持实时的数据更新;
  • 丰富的数据导入:支持多种数据导入方式,如批量导入、增量导入等,可以满足不同场景的数据导入需求;
  • 极致弹性与存算分离:支持存算分离的架构设计,可以实现计算资源的弹性扩展,同时保证了存储的高可用性;

简单:

  • 高可用与高可靠:采用了高可用和高可靠的设计,保证了数据的可靠性和系统的稳定性;
  • 多租户管理:支持多租户管理,可以满足不同用户或不同应用的数据需求;
  • 易用易管理:提供了一体化的管理界面,方便用户进行数据的管理和查询操作;

统一:

  • 半结构化数据分析:支持半结构化数据分析,可以满足不同类型数据的查询需求。
  • 湖仓一体:可以与数据湖进行集成,实现湖仓一体的数据管理,方便用户进行数据的统一管理和查询操作。

实时数仓(Apache Doris)在数据分析中的定位: 实时数仓(Apache Doris)在数据分析中的定位图

实时数仓(Apache Doris)应用场景: 数据源经过各种数据集成和加工处理后,通常会入库到实时数仓 Doris 和离线湖仓(Hive,Iceberg,Hudi 中),实时数仓(Apache Doris)被广泛应用在以下场景中:

报表分析:面向企业内部分析师和管理者的报表分析,方便他们快速了解情况以及做出决策;

即席查询(AdHoc):是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。即席查询与普通应用查询最大的不同是普通的应用查询是定制开发的,而即席查询是由用户自定义查询条件的;

分析数据库应用场景:即席查询(AdHoc)

统一数仓构建 :一个平台满足统一的数据仓库建设需求,简化繁琐的大数据软件栈。蜀海供应链基于 Doris 构建的统一数仓,替换了原来由 Spark、Hive、Kudu、Hbase、Phoenix 组成的旧架构,架构大大简化;

数据湖联邦查询:通过外表的方式联邦分析位于 Hive、Iceberg、Hudi 中的数据,在避免数据拷贝的前提下,查询性能大幅提升。

实时数仓MPP即席查询数据分析