暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB A SQL on Hadoop

墨天轮 2019-10-12
1152

SQL on Hadoop

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

图1 查询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)来提升数据读取性能。


查看更多:华为GaussDB 200 SQL on Anywhere
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论