使用云端数据仓库只是一种权宜之计,以便让用于分析的现有数据准备方法延长其使用寿命。但这种方法完全错误———Dremio这家数据仓库初创公司认为,应直接针对云端源数据进行分析。
它认为用于填充数据仓库的抽取、转换和加载(ETL)机制费时又费钱。使用ETL的话,数据湖中的源数据被选择、复制、处理后,被加载到第二个孤立的数据仓库中以便进行分析工作,这浪费了时间和金钱。
由于数据科学家将数据重新转换成数据立方体、商业智能(BI)提取和汇总表以达到各自的目的,因此需要更多的处理工作。
Dremio的幻灯片显示了数据科学家现有的多层数据访问:
据Dremio声称,直接针对数据湖中的源数据进行分析来得更明智。该公司已开发了在AWS和Azure上运行的Data Lake Engine(数据湖引擎)来做到这一点。用户可以直接接触S3/ADSL数据湖数据,加快执行查询的速度。该软件使用开放的文件格式和源代码,因此不会像现有的数据仓库那样存在供应商锁定(vendor lock-in)现象。
Dremio称,其直接访问软件意味着无需创建数据立方体、BI提取和聚合表。数据科学家使用一种自助语义层,该语义层更像是Google Docs,而不是像OLAP数据立方体构建器或ETL工具。
为了加快数据访问速度,该软件提供了一种列式云缓存,该缓存可将通常访问的数据自动存储在靠近集群计算引擎(名为Executor节点)的NVMe驱动器存储上。预测性流水线可预加载缓存内容,有助于消除高延迟存储介质上的等待。
该软件拥有基于Apache Arrow的查询引擎。这是Dremio与其他组织共同开发的,提供了列式内存中数据表示和共享。Dremio声称,Arrow现在是用于内存中分析的事实上标准,每月下载量超过一百万人次。
Apache Arrow Flight软件将Arrow的性能优势扩展到了分布式应用程序,它使用远程过程调用(RPC)层,通过为跨不同应用程序和平台的大数据传输提供一种大规模并行协议,提升数据互操作性。
Flight可以批量处理记录,不必访问单个列、记录或单元。不妨比较一下,ODBC接口需要逐一询问每个单元。假设有150万条记录(每条记录有10列),就需要进行1500万次函数调用才能获取该数据进行分析处理。
开源的Gandiva向量化处理编译器用于加快处理这项任务:对Arrow数据执行SQL查询。它可以将编译大多数查询的时间缩短至不到10ms。Gandiva支持至强多核CPU,Dremio的路线图上还有支持GPU和FPGA的计划。Dremio声称,借助Arrow的加速,Gandiva可使处理速度再次提高5倍至80倍。
该软件还与Azure Active Directory等身份管理系统集成在一起,从而方便以该方式验证数据访问的企业使用。它还支持AWS安全实用程序。
Dremio Hub软件实体拥有Snowflake、Salesforce、Vertica和SQLite连接件,这些连接件将数据与现有的数据库和数据仓库连接起来。该Hub通过JDBC驱动程序支持任何数据源,并包括关系数据库、REST API端点及其他数据源。正在添加更多的连接件,争取到今年年底添加50多个连接件。
除了在AWS和Azure公共云上运行外,Dremio软件还可以在本地运行。
Dremio由MapR的前员工:Tomer Shiran(CEO)和Jacques Nadeau(CTO)于2015年创立。融资总额为4500万美元。其总部位于美国,2017年发布了v1.0产品,客户包括帝亚吉欧(Diageo)、微软、瑞银、Nutanix和皇家加勒比游轮公司。
Shiran预测,2020年,《全球2000强》中75%的公司会在生产或试点环境中使用云数据湖。这听起来不错,但这一说法难以证实。
Dremio今年或明年需要一轮大笔融资才能完全参与到预计增长的这种大好形势,这将有助于它与已融资9.23亿美元的Snowflake一较高下。
Github开源地址:https://github.com/dremio