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

GBase Up核心技术

淮海路小佩奇 2023-09-20
93

异构引擎透明访问

GBase UP 数据平台中 GBase 8a MPP、GBase 8t、Hive on Spark 都是数据 存储和数据计算的引擎,DBA 可以将各种引擎构建为统一的 Schema,对于普通 的用户的 DML 查询,引擎是透明的。

 扩展标准 SQL DDL 中的创建表的语法:

 创建表

 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 

 [database_name.] table_name

 (column_definition [,column_definition], ... [, key_options]) 

 [table_options];

 其中

 table_options:

 [DEFAULT] Engine = GBase8a| GBase8t|Hive

 | SQL 92 create table options

 | GBase 8a create table options 方言

 | GBase 8t create table options 方言

 | Hive create table options 方言

 即 DBA 创建数据表时,可以通过 Engine 关键字设置表的存储引擎。应用开 发工程师,编写数据读写时,无需关注数据表的引擎,采用标准 SQL92 DML 访 问,从而简化应用开发,降低数据建模的复杂度。  

跨引擎数据交换

对于混搭架构的应用而言,数据清洗和历史数据管理是最常见的业务场景。 从 Hadoop 中执行复杂的信息分析算法,从大规模,低价值数据中抽取大规模高 价值数据,接着存入 MPP 数据库进行高性能分析。以及在 MPP 的数据按时间或 者其他条件逐渐老化,将部分“冷数据”转存到低成本的 Hadoop 集群,在必要 时进行历史数据查询。 在 GBase UP 中,数据清洗和历史数据管理就可以分别简化为:

代码示意:

 Insert into t_8a select …(单表或者复杂多表查询)

 Insert into t_hive select …(单表或者复杂多表查询)

UP 的核心技术是构建引擎间高吞吐率的多对多通讯机制,通过底层的数据 交换,实现引擎间高效的数据迁移。 


跨引擎关联查询

与数据清洗和历史数据管理相比,更加灵活的业务场景是:实时进行跨引 擎的关联查询。如最简单的:

代码示意: Select * from t_8a inner join t_hive on t_8a.no = t_hive.no where … 

 其中 t_8a 为 8a mpp 数据引擎表,t_hive 为 Hadoop hive 引擎表。

GBaseUP 构建了基于规则和成本的优化器,能够既充分利用各自引擎的特 色运算,又能保证在引擎间交互的数据最小化,同时利用高效的数据交换总线, 从而实现自动优化的引擎间实时关联分析。

 DML 操作的事务管理依赖具体引擎,如果每个引擎都支持标准的 XA,则 GBase UP 整体支持事务,当前 GBase 8t 支持 XA,而 GBase 8aMPP 和 Hive 虽然 都支持 ACID,但是都不支持 XA,所以在单引擎操作时 GBase 8a MPP 支持多语句长事务,Hive 支持单语句事务,混合引擎交互写操作时采用自动提交当前事 务的模式。

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

评论