Dremio架构分析
一.Dremio架构 Dremio是基于Apache calcite、Apache arrow和Apache parquet3个开源框架构建,结构其核心引擎Sabot,形成这款DaaS(Data-as-a-Service)数据即服务平台;整体体验风格与其公司开源的Apache Drill非常接近。 Ⅰ).架构图 Ⅱ).参考API Ⅲ).参考SQL 二.Apache Arrow Apache Arrow是基于Apache Drill中的Value Vector来实现的,而使用Value Vector可以减少运算时重复访问数据带来的成本,其特点: 零拷贝共享内存和基于RPC的数据移动 读写文件格式(如CSV,Apache ORC和Apache Parquet) 内存分析和查询处理 Ⅰ).公共数据层 Apache Arrow的功能设计思路有点类似于适配器模式,将不同系统的数据源进行统一适配。 a).不使用Arrow 每个系统都有自己的内部存储器格式 在序列化和反序列化上浪费了70-80%的计算量 在多个项目中实现的类似功能 b).使用Arrow 所有系统都使用相同的内存格式 没有跨系统通信的...