Trafodion:Transactional SQL on HBase

Trafodion: Transactional SQL on HBase

HBase上实时分布式事务处理

介绍

HBase的SQL能力一直不足。Phoenix缺乏Join能力,eBay提出的kylin还不够简洁,facebook Presto的HBase连接器还没公开。那么,Trafodion来了。它在HBase上提供了标准SQL功能,并支持事务OLTP。Trafodion是HP的开源举措,培养在惠普实验室和HP-IT开发一个企业级的SQL上的HBase解决方案。惠普拥有超过20年的积累,针对大数据的事务或业务工作负载,已经开发事务的SQL技术进入数据库technologyand解决方案。
Trafodion给Hadoop的生态系统带来了这一核心技术。要了解更多关于起源和项目的名称,请访问:

www.hp.com/go/trafodion

目标工作负载

Hadoop的工作负载,从长期运行的批处理模式,到跨越如下图所示的以低延时工作负载。在右侧被视为非常适合的Hadoop的三类分析工作,因此也获取了最多的关注。与此相反,定义为“运营”最左边的工作是一类新工作负载,它包括OLTP工作负载,以及交易

这包括使用社交和移动数据的交互和意见结构化和半结构化数据的混合物。

传统上,这些工作负载已经通过关系处理数据库。但是,关系数据库具有可扩展性的问题,不提供在某些情况下需要的架构灵活性。Hadoop的定位突破了

这些限制。市场有越来越多的兴趣和压力结合Hadoop的好处以显著降低成本,以拥抱这些工作负载在Hadoop的生态系统。

随着业务的工作负载代表的业务需求,它们通常由交易的不断流动,需要低延迟响应时间对于读/写访问。此外,这些工作负载的特点是:

?与ACID兼容保护数据的完整性

?高可用性,并发性和可扩展性

?多结构化数据

?快速变化的数据需求

特性

目前,还没有现成的开源SQL的上HBase的解决方案可以充分地满足这些要求。Trafodion提供以下功能以支持Hadoop的事务性工作:

?在多个SQL语句,表和行上ACID兼容的分布式事务保护

?丰富的,全功能的ANSI
SQL语言支持使用ODBC/
JDBC连接接口

?通过利用编译时和运行时优化以提高性能

?Trafodion打算使用并行感知的大型数据集查询优化器以提供Hadoop的的全部功能生态系统:

?通过HBase的列家族提供的架构灵活性结构

?在Hadoop的版本支持快照功能

?高可用性和灾难恢复支持,复制和快照功能

优点

Trafodion提供了一个全功能的HBase解决方案,优化全事务的SQL上的数据库管理系统的事务性的数据保护。这些功能有助于克服了Hadoop在支持方面事务性工作的弱点。

使用Trafodion, 客户能获得如下好处:

?能够利用SQL专长 &复杂的MapReduce编程现有的事务性应用程序

?无缝支持已经存在的应用程序

?能够开发下一代高可扩展性,实时性事务处理应用

?减少数据延迟降低分析工作负载

也能获得Hadoop生态系统内在的以下好处:

?降低基础设施成本

?大规模的可扩展性和弹性颗粒

?提高数据可用性和灾难恢复保护

架构

Trafodion软件架构由三个不同的层次:客户端层,SQL数据库服务层,并且所述存储引擎层,如下图所示。

第一层是客户服务。应用程序通过标准的ODBC/JDBC访问Trafodion数据库。

第二层是Trafodion提供一个关于HBase的顶部模式关系SQL抽象,封装了所有需要管理Trafodion数据库对象服务。这些服务包括连接管理,事务管理,优化计划生成和执行。Trafodion产生并联一个成熟的查询优化器查询计划,而无需复杂的MapReduce编程。

第三层是存储引擎由标准的hadoop服务,包括HBase的,HDFS和动物园管理员。Trafodion数据库对象存储在本地的Hadoop(HBase的/HDFS)数据库构。
Trafodion处理SQL语句的请求映射到本地HBase的透明代表应用程序的调用。

创新的关键

Trafodion的分布式事务管理(DTM)的组成部分提供了从事务的多个SQL语句,多个表或多个行的单一表的多重保护。此外,TrafodionDTM通过多个HBase区域配置利用传统的两阶段提交协议,
对横跨集群的分布式集群提供了保护。DTM提供了支持隐式(自动提交),并明确(BEGIN,COMMIT,ROLLBACK
WORK)事务控制。

Trafodion对不同的事务性工作供了许多编译时和运行时的优化,从对于OLTP类交易的单个访问到运营报告高度复杂SQL语句。

示例用例:OpenCart应用

OpenCartwhich是一个免费的开源电子商务平台,已被修改为执行Trafodion的SQL语句,而不是默认的数据库(MySQL的)的接口。

这是一个很好的程序,以典型的OLTP工作负载特性。

前两张图显示的是惠普的购物车OpenCart的变化,最后两个图说明了工作量和查询
- 等级分析使用Trafodion查询工作台。

产品说明

惠普已经作为一个开源项目推出了Trafodion,并发布在Apache许可证2.0版下。Trafodion现在可以帮助您评估Trafodion的能力,并开始证明

概念和原型效果。Trafodion文件和下载包中包含了安装程序和可执行代码,可在www.trafodion.org

时间: 2024-10-15 21:55:26

Trafodion:Transactional SQL on HBase的相关文章

Phoenix(sql on hbase)简介

Phoenix(sql on hbase)简介 介绍: Phoenix is a SQL skin over HBase delivered as a client-embedded JDBC driver targeting low latency queries over HBase data. Phoenix takes your SQL query, compiles it into a series of HBase scans, and orchestrates the runnin

Phoenix实现用SQL查询HBase

文章来源:大牛笔记 HBase,一个NoSQL数据库,可存储大量非关系型数据. HBase,可以用HBase shell进行操作,也可以用HBase Java api进行操作.HBase虽然是一个数据库,但是它的查询语句,很不太好用.要是能像使用Mysql等关系型数据库一样用sql语句操作HBase,那就很Perfect了. 现有工具有很多Hive,Tez,Impala,Shark/Spark,Phoenix等.今天主要记录Phoenix. phoenix,由saleforce.com开源的一个

Phoenix的安装使用与SQL查询HBase

一. Phoenix的简介 1. 什么是phoenix 现有hbase的查询工具有很多如:Hive,Tez,Impala,Shark/Spark,Phoenix等.今天主要说Phoenix.phoenix是一个在hbase上面实现的基于hadoop的OLTP技术,具有低延迟.事务性.可使用sql.提供jdbc接口的特点. 而且phoenix还提供了hbase二级索引的解决方案,丰富了hbase查询的多样性,继承了hbase海量数据快速随机查询的特点.但是在生产环境中,不可以用在OLTP中.在线事

二、hbase--集成Phoenix实现类SQL操作hbase

一.Phoenix概述 1.简介可以把Phoenix理解为Hbase的查询引擎,phoenix,由saleforce.com开源的一个项目,后又捐给了Apache.它相当于一个Java中间件,帮助开发者,像使用jdbc访问关系型数据库一些,访问NoSql数据库HBase. phoenix,操作的表及数据,存储在hbase上.phoenix只是需要和Hbase进行表关联起来.然后再用工具进行一些读或写操作. 其实,可以把Phoenix只看成一种代替HBase的语法的一个工具.虽然可以用java可以

中小企业的大数据技术路线选择

目前,大数据主要应用在互联网.电商领域,电信.电力行业也在逐步使用.对广大的中小企业来说,大数据也听得太多了.然而,大数据的技术门槛还是很高的.从技术路线上来说,选择大公司使用的技术方案可能是不能承受之重. 笔者所在的公司,选择的是行业通用的Hadoop方案.历经一年之久,前后三拨人员,一个Demo版还没出来.大数据真的让人望眼欲穿啊. 对中小企业而言,要选择适合自己的大数据技术路线.跟着大公司,人云亦云,还真玩不起.那么,有没有适合中小企业的大数据方案呢?笔者用心收集了几个,供参考. 1.Ca

hive Hbase sql

Hive和HBase的区别 ? hive是为了简化编写MapReduce程序而生的,使用MapReduce做过数据分析的人都知道,很多分析程序除业务逻辑不同外,程序流程基本一样.在这种情况下,就需要hive这样的用戶编程接口.Hive本身不存储和计算数据,它完全依赖于HDFS和MapReduce,Hive中的表纯逻辑,就是些表的定义等,也就是表的元数据.使用SQL实现Hive是因为SQL大家都熟悉,转换成本低,类似作用的Pig就不是SQL. ? HBase为查询而生的,它通过组织起节点內所有机器

浅析Trafodion体系结构

浅析Trafodion体系结构 Trafodion简介 Trafodion是一个构建在Hadoop/HBase基础之上的关系型数据库,它完全开源免费.Trafodion能够完整地支持ANSI SQL,并且提供ACID事务保证.和传统关系数据库不同的地方在于,Trafodion利用底层Hadoop的横向扩展能力,可以提供极高的扩展性.而传统数据库,比如MySQL,在数据量达到P级别的时候就很难处理.而Trafodion却可以借助HBase的扩展性,仅通过增加普通Linux服务器就可以增加计算和存储

Sql控制反转小尝试

假想用配置Sql语句的方式来完成一个处理逻辑,并且映射到一个Url,这样当请求这个url的时候,执行前面配置的sql. 下面的一段具体配置,例如 当请求pagerlistdept.do的时候,会传入参数Offset,并调用handler执行里面配置的SQL语句. dept_sql_mapping.xml <?xml version="1.0" encoding="UTF-8"?> <!-- <!DOCTYPE sql-mappings SYS

HDInsight HBase概观

HDInsight HBase概观 什么是HBase的? HBase它是基于HadoopApache开源NoSQL数据库.它提供了很多非结构化和半结构化数据一致性的随机存取能力的.它是仿照谷歌的BigTable.以家庭为中心的列式数据库. 数据被存储在一个行内的表和数据的行由列族分组. HBase的是在这个意义上,不管是列也不存储在当中的数据的类型,须要使用它们之前.定义一个无模式数据库.开放源码是首次公布由Mike Cafarella于2007年,线性扩展处理PB级数据的数千个节点.它能够依赖