Airbnb | 如何应用Druid实现大数据实时批量分析
收藏

挑战和未来的改进

虽然Druid在我们的数据平台架构中为我们提供了很好的服务,但随着我们在公司内部使用Druid的增长,存在新的挑战。

我们处理的问题之一是每天产生的需要加载到集群中的段文件数量的增长。段文件是Druid数据的基本存储单元,包含准备服务的预聚合数据。在Airbnb,我们遇到了一些场景,其中大量的数据源有时需要完全重新计算,导致大量的段文件需要一次加载到集群上。目前,Coordinator在一个线程中集中加载所注入的段。随着越来越多的段生成,Coordinator无法跟上,我们看到注入作业完成的时间与数据可用于查询的时间(协调器加载后)之间的延迟增加。有时延迟可能是几个小时。

通常的解决方案是尝试增加目标段大小,从而减少段数。但是,在我们的使用中,产生较大段的数据输入量(由Hadoop工作者运行摄取任务)是如此之高,以至于Hadoop作业运行太长时间处理该数据,并且由于各种原因很多次会失败。

我们目前正在探索各种解决方案,包括在注入之后以及在将其传递给协调器之前压缩段,以及不同的配置以增加段大小而不会在可能的情况下危害注入作业稳定性。

结论

Druid是一个专为可扩展性,可维护性和性能而设计的大数据分析引擎。其良好的因素架构可轻松管理和扩展Druid部署,其优化的存储格式可实现低延迟分析查询。目前,国外如Google、Facebook、Airbnb、Instgram、Amazon、Pinterest等,国内如阿里巴巴、小米、360、优酷、知乎、数极客等知名互联网公司都在使用Druid,发展势头如火如荼。相信在不久的将来,Druid将成为最重要的OLAP实时分析引擎之一!

本文作者:Pala Muthiah and Jinyang Li,由数极客联合创始人吴江林翻译并整理!

— THE END —