Doris是百度开发的面向在线报表和分析的数据仓库系统,可以对标于商业的 MPP 数据仓库系统,比如Greenplum、Vertica、Teradata 等。
Doris 前身是百度Palo,自2017年8月在Github上开源以来,收获700多个Star,目前性能和易用性方面已达到业界领先水平。同时,Doris 在百度内部应用于200多个产品线,在公有云和ToB业务中也获得了高度认可,外部已有包括小米、瓜子在内的十多家公司使用。
Doris 主要基于 C++ 和 Java 开发,集成了 Google Mesa 和 Apache Impala 的技术。其中Mesa 是一个高度可扩展的分析数据存储系统,用于存储与 Google 互联网广告业务相关的关键测量数据。Impala是一种基于Hadoop数据处理环境的现代 MPP SQL 引擎。
在 Mesa 与 Impala 进行组合的基础上,Doris 被设计为一个不依赖于其他系统的简单且单一紧密耦合的系统,并实现了MySQL协议,使得用户可以像使用 MySQL 一样无门槛的过渡到Doris,包括各种报表应用都可以通过MySQL协议连接 Doris,同时获得高并发低延迟点查询性能,而且还能进行高吞吐量的即时分析查询。Doris 不仅提供大批量数据加载,而且还提供近乎实时的小批量,甚至流数据加载。此外Doris还具备高可用性,可靠性,容错性和可扩展性。
Doris博采众长,并在此基础上进行了大胆创新,形成了自己独特的优势,其特点主要包括:1)完全兼容MySQL协议;2)采用列式存储、对数据以高压缩比进行压缩存储、向量化执行、LLVM优化等先进技术,因此获得了极高的查询效率;3)支持多种存储模型:同时支持类似于Mesa将列分为Key和Value的存储模型,同时支持Unique Key和Dup Key的存储模型。用户可以根据自己的业务场景,选用不同的存储模型;4)支持两层分区;5)支持多种数据导入方式;6)安全资源隔离扩容缩容;7)备份和恢复;8)支持web监控和管理;
这篇文章还没有评论