Apache Doris 0.10.0开发者沙龙
三寸九州 发布于2021-03 浏览:3696 回复:0
0
收藏

Doris女神在这个明媚的春天揭开了她的神秘面纱,这一次Doris又将以什么样的新面貌迎接大家,带来什么样的新版本发布呢?

 

4月13日下午,Apache Doris (incubating) 0.10.0在北京中关村国际会议中心举办了开发者沙龙。此次沙龙不仅有Doris团队带来的全新版本发布,同时还有我们的大厂用户和好朋友们带来第一时间的使用分享。

Doris(原百度 Palo)是一款基于大规模并行处理技术的分布式 SQL 数据库,由百度在2017年开源,2018年进入Apache 孵化器。此次是Doris开源后发布的第二个版本。

Doris主要面向TB至PB级别的结构化数据的多维分析场景。典型场景包括高并发的点查询以及高吞吐的即席查询。目前在百度内部支撑200多条业务线,部署了1000多台服务器。单一业务最大700+TB。

 

 What’s new in 0.10.0 

此次新版本发布,陈明雨同学代表Doris主创团队,带来了五大功能点。

 

•    Unified Loading Framework(统一后端导入框架)

为适配各类数据源的加载需求,Doris此次在Mini Load, BrokerLoad的基础上,带来全新的第三种数据加载方式,Streaming Load,丰富用户选择,同时优化了原有的导入性能。

 

•    Routine Load Job(支持例行Kafka导入)

Apache Kafka是目前业界使用非常广泛的消息队列,Doris在此次发行版本中新增内嵌Kafka例行导入的功能。用户只需将待导入的数据导入Kafka队列中,就可利用Streaming Load的功能,自动加载数据导入Doris中。

Kafka例行导入流程图

 

Doris Kafka例行导入执行支持自动检测Partition的变化,保证Kafka消息的Exactly Once 消费语义。使用上也十分简单,只需在Doris中手动创建一个例行任务即可。

 

 

•    Doris on Elasticsearch (当Doris遇上Elasticsearch)

ElasticSearch是一款实时的分布式搜索引擎,其在全文检索,任意维度组合的点查询方面表现非常非常优异。嫁接Doris到ElasticSearch上,可以弥补Doris在全文检索,Geo数据扫描,高维度组合查询方面的劣势;同时利用Doris的分布式计算框架,也可以补足ElasticSearch在分布式计算(Distribution Aggretation, Distribution Join)方面的欠缺。 

Doris和ElasticSearch交互图

 

•    Performance Optimization (性能优化)

Apache Doris 0.10.0版本中,除了丰富导入功能,扩展使用场景外,针对查询查询性能,也做了大量优化工作。

优化Decimal类型的实现。采用定长的16字节(128位)存储decimal;对比此前的浮动字节存储方案,在Group By查询上提升了20倍性能。

Fragment并发执行。根据扫描数据量,动态切分扫描任务,并发扫描文件,有效利用空闲CPU/IO资源,能够降低3~5倍响应延迟。

 

•    Usability(易用性)

支持UDF,用户可通过C++语句编写udf。

新增hll_raw_agg函数,支持在窗口函数中使用hll_union_agg。

新增20+metrics监控项,协助用户更好洞察集群内部状态。

修复30+ bug,提升系统稳定性。

 

Doris一直处于一个高速迭代的模式中,所以大家可以持续关注代码库的commit,关注我们修复的问题和更新的功能。

 

 ApacheDoris 在微博平台的应用 

 

来自微博的马骎同学是微博平台研发部feed组的资深研发,他为大家揭秘了这家国内超一线社交媒体平台的数据系统结构。

马骎同学介绍了基于Doris设计系统结构,并介绍了如何应用Doris来对分钟级的微博阅读数历史进行存储计算,以支撑上层业务。

在多维分析层面,马骎同学也提出了使用和维护中的小技巧。将多个维度作为key并预留多个value列。

 

ApacheDoris在美团点评的实践

 

康凯森是来自美团点评大数据平台的资深研发。自18年以来,Doris在美团点评内已覆盖包括外卖、酒旅、财务、金融、到店、用户平台等多个主营业务线。

他深入浅出地介绍了美团点评在众多技术选型(SQL on Hadoop、ClickHouse、SnappyData、TiDB)中是如何基于成本、功能及性能的考量,最终选择了Doris。并通过几个生动的例子对比了使用Doris前后查询速度及操作的优化。

最后,康凯森同学还介绍了美团点评同学对Doris的贡献。

 

•   谓词下推的传递性优化。Inner join情形下,左右表谓词可相互下推。

•   动态并发扫描。根据扫描数据量,切分查询任务,并发扫描数据,提升查询性能3-5倍。

•   引入colocate join。两张表遵从相同分区模式情况下,colocate join比shuffle join有2~3倍性能提升。

 

 ApacheDoris在搜狐智能媒体的应用 

 

翟东波是来自搜狐智能媒体研发中心的资深研发,他很有针对性的就搜狐智能媒体业务中实时和离线的数据分析痛点,展示了Doris的解决方案。

 

 

不仅如此,东波也是Doris的Contributor之一,他带来了自己对Doris的贡献。

•  完善了HLL类型的聚合计算

•  新增了hll_raw_aggfunction,支持窗口函数中调用hll_union_agg function

•  未来预计可以支持Doris读取Parquet。此功能正在紧密开发中,期待后续的pull request。

 

最后,Doris主创团队也为大家准备了精美的茶歇和伴手礼。不仅有人手一件的精致速干T,还有惊喜的抽奖环节。

 

最后,全家福。

 

 

希望Doris越来越好,Doris大家庭日益壮大,有越来越多的朋友和家人与我们共同见证Doris的成长!

 

更多关于本次沙龙的详细技术分享、现场录屏,欢迎关注Apache Doris(incubating)官方公众号!

 

敬请期待

 

 

相关链接:

Apache Doris官方网站:

http://doris.incubator.apache.org

Apache Doris Github:

https://github.com/apache/incubator-doris

Apache Doris Wiki:

https://github.com/apache/incubator-doris/wiki

Apache Doris 开发者邮件组:

dev@doris.apache.org

收藏
点赞
0
个赞
快速回复
TOP
切换版块