ITPub博客

首页 > 数据库 > > SQL on Anywhere-SQL on Hadoop

SQL on Anywhere-SQL on Hadoop

作者:GaussDB_数据库 时间:2020-01-10 17:17:38 0 删除 编辑

GaussDB 200支持直接读取存储在Hadoop HDFS文件系统上的结构化数据,对外提供标准SQL语言查询接口,能够让用户只通过使用简单的SQL语言就能完成Hadoop原生数据的复杂分析查询工作。

图1 查询HDFS
GaussDB 查询HDFS

技术特点

  • 支持标准SQL查询语法

    完全继承GaussDB 200的SQL查询语法的支持,实现HDFS分布式文件系统上的结构化数据分析查询,支持连接、聚合、字符日期等系统函数,支持子查询以及HDFS结构化数据和GaussDB 200本地数据的联合访问,支持窗口函数等。

  • 针对HDFS数据的代价估算模型

    在GaussDB 200基于代价估算(Cost-based)的SQL优化器中,增加了针对HDFS分布式文件系统上结构化数据访问的代价估算模型,从而可以制定HDFS数据的最优执行计划。

  • 智能扫描

    GaussDB 200可以将适用的谓词条件直接下推到存储在HDFS上的Hadoop原生数据上,在压缩数据上进行谓词过滤,且针对Hadoop ORC(Optimized Row Columnar)列式存储实现后期物化(Later-materialazation),从而显著减少HDFS数据读取。

  • LLVM(Low Level Virtual Machine)优化

    基于智能扫描,将下推到Hadoop原生数据上的适用谓词进行LLVM优化,使其谓词条件生成中间表示(IR),最终生成与平台相关的机器码,进而提高谓词过滤及查询性能。

  • 支持信息约束(Informational Constraint)

    若表上的列具有唯一性特征,则在数据库中创建该表时指定对应列具有信息约束属性,在执行阶段利用该属性提供查询性能。

  • 向量引擎

    针对HDFS上存储的ORC列式结构化数据,直接对接GaussDB 200已有成熟的向量化执行引擎,提升分析查询性能。

  • 支持分区表

    适配HDFS上依据Hive语法定义的分区表数据,由GaussDB 200 SQL优化器来实现自动的分区表访问的剪枝操作,提高分析查询性能。

  • 分布式高效读取HDFS数据

    GaussDB 200 SQL编译器引入Scheduler组件,来达到GaussDB 200 Data Nodes的HDFS数据访问负载均衡,并可以通过HDFS组件的本地读特性(short-circuit)来提升数据读取性能。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69959250/viewspace-3131117/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2020-01-06

  • 博文量
    2907
  • 访问量
    19241