即兴小探华为开源行业领先大数据虚拟化引擎openLooKeng( 二 )

  • openLooKeng是一个向量化的存储引擎,基于内存的流水线处理 。
  • openLooKeng与Impala类似为典型的MPP数据库架构,主要由 Coordinator 和 Worker 组成,每个openLooKeng集群安装必须有一个openLooKeng Coordinator节点,以及一个或多个openLooKeng Worker节点 。
    • Coordinator (协调节点):负责解析语句、规划查询和管理openLooKeng工作节点的服务器 。其是openLooKeng的“大脑”,也是客户端连接以提交语句执行的节点 。协调节点跟踪每个Worker节点上的活动,并协调查询的执行 。协调节点创建了一个查询的逻辑模型,其中包含一系列阶段,然后将其转换为在openLooKeng工作节点集群上运行的一系列相互连接的任务 。协调节点使用REST API与工作节点和客户端进行通信 。
    • Worker (工作节点):负责执行任务和处理数据 。Worker节点从连接器获取数据,并相互交换中间数据 。Coordinator 节点负责从Worker节点获取结果,并将最终结果返回给客户端 。当openLooKeng Worker节点进程启动时,它会将自己通告给Coordinator 节点中的发现服务器 , 这样openLooKeng  Coordinator 节点就可以使用它来执行任务 。Worker节点使用REST API与其他Worker节点和openLooKeng Coordinator 进行通信 。
  • openLooKeng引入了高可用的AA特性 , 支持Coordinator AA双活机制,能够保持多个Coordinator之间的负载均衡,同时也保证了openLooKeng在高并发下的可用性 。
  • openLooKeng的弹性伸缩特性支持将正在执行任务的服务节点平稳退服,同时也能将处于不活跃状态的节点拉起并接受新的任务 。openLooKeng通过提供“已隔离”与“隔离中”等状态接口供外部资源管理者(如Yarn、Kubernetes等)调用,从而实现对Coordinator和Worker节点的弹性扩缩容 。
  • openLooKeng统一目录、跨域跨DC查询:通过Data Source Connector和Data Center Connector两大统一数据源连接框架来实现 。
    即兴小探华为开源行业领先大数据虚拟化引擎openLooKeng

    文章插图
    • 并行数据访问:Worker可以并发访问数据源以提高访问效率,客户端也可以并发从服务端获取数据以加快数据获取速度 。
    • 数据压缩:在数据传输期间进行序列化之前 , 先使用GZIP压缩算法对数据进行压缩,以减少通过网络传输的数据量 。
    • 跨DC动态过滤:过滤数据以减少从远端提取的数据量,从而确保网络稳定性并提高查询效率 。
    关键技术
    • 索引:openLooKeng提供基于openLooKeng启发式索引、Bitmap Index、Bloom Filter、Min-max Index、BTree、HIndex、new-index等索引 。通过在现有数据上创建索引,并且把索引结果存储在数据源外部,在查询计划编排时便利用索引信息过滤掉不匹配的文件,减少需要读取的数据规模,从而加速查询过程 。
    • Cache:openLooKeng提供丰富多样的Cache,包括元数据cache、执行计划cache、ORC行数据cache等 。通过这些多样的cache,可加速用户多次对同一SQL或者同一类型SQL的查询时延响应 。
    • 动态过滤:动态过滤是指是在运行时(run time)将join一侧表的过滤信息的结果应用到另一侧表的过滤器的优化方法,openLooKeng不仅提供了多种数据源的动态过滤优化特性,还将这一优化特性应用到了DataCenter Connector,从而加速不同场景关联查询的性能 。
    • 算子下推:openLooKeng通过Connector框架连接到RDBMS等数据源时,由于RDBMS具有较强的计算能力,一般情况下将算子下推到数据源进行计算可以获取到更好的性能 。openLooKeng目前支持多种数据源的算子下推,包括Oracle、HANA等,特别地,针对DC Connector也实现了算子下推 , 从而实现了更快的查询时延响应 。

    即兴小探华为开源行业领先大数据虚拟化引擎openLooKeng

    文章插图
    应用场景openLooKeng常用于如下几种场景: