应对大数据上SQL的需求:Apache Drill
SQL已经相当流行——为什么呢?客户正在寻求交互式的大数据解决方案,这些解决方案需要流线型工作流和选择便利性。能够在Hadoop和其他大数据系统上使用SQL,已经朝着这一目标迈了一大步。
产生这种需求的一个原因是,这些大数据工具可以与SQL交互,但是以往的大数据解决方案并不能。上世纪70年代IBM研究院Ted Codd开发了SQL,因为人们需要一个标准方式来访问和使用关系型数据库中的数据。这需求仍然存在,它甚至比以前更重要,因为目前很多系统已经实现生成标准的SQL。然而,对于Hadoop这样的现代可扩展系统和非关系型数据库,标准事务型SQL不再适用,所以,系统分离了。这种不当的搭配可能意味着冗余、昂贵和复杂的工作区,来满足SQL兼容基于Hadoop大数据系统的低成本优势的广泛需求。
MapR技术通过多种方式解决这些问题。它通过自己的大数据平台和对开源项目Apache Drill的贡献来提供广泛的支持。
多达30种新产品和开源项目试图解决Hadoop上SQL和类SQL的需求,包括Apache Hive,Cloudera的Impala,开源Apache Drill,通过Cascading开发的MapReduce和Hadoop的开源SQL解决方案Lingual。
Apache Drill是什么?为何MapR对它投入如此之多?
客户想要很广泛的功能,而在引入新技术的时候,Apache Drill的设计使得它能够很容易就连接到大范围的分析工具和数据源。
很多Hadoop项目上的SQL都是把小数据集上开发的功能再次开发,尽力让它们满足大数据的需求。虽然它们解决了很多真实的需求,但是它们根本上还是后视镜型项目。相反,Apache Drill作为一个媒介,将新技术引入这个问题域。Apache Drill受到google的Dremel项目的影响,达到了更高的要求,并且正在设计新的功能。
Apache Drill提供了访问大数据存储的交互式特定查询功能。Drill的一个重要特征就是速度,它被设计在低延迟响应下处理P字节的数据。Drill很重要的一个方面是,它不解决过去5-10年的问题,而是向前建立一个新的技术,解决当前和未来5年内的需求。
Drill高灵活度的架构设计主要提供如下关键技术:
1模式可选
2处理嵌套数据的能力(例如JSON,Protobuf,Parpuet)
3柱形内存存储和执行
4全标准的ANSI SQL:2003查询能力
5先进的低成本优化器
6为多个社区提供广泛好处的高可扩展的架构(例如,向非SQL PIG的扩展能力,或者建立机器学习原语,能够集成到Drill为Mahout提供先进执行引擎)
7YARN整合
Apache Drill开源项目的社区驱动方面相当重要。除了MapR的支持,Apache Drill的贡献者来自不同的地区和公司,包括Pentaho,Oracle和VMVare等。Drill开发者一直合作产生大量的代码,准备alpha版本的发布。随着这些新技术将传统工具和现代基于Hadoop的系统连接起来,我们正在进入一个大数据分析和大规模机器学习的令人激动的时期。
来自
Responding to the Need for SQL on Big Data: Apache Drill