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的生态系统带来了这一核心技术。要了解很多其它关于起源和项目的名称,请訪问:
目标工作负载
Hadoop的工作负载,从长期执行的批处理模式。到跨越例如以下图所看到的的以低延时工作负载。
在右側被视为很适合的Hadoop的三类分析工作,因此也获取了最多的关注。与此相反,定义为“运营”最左边的工作是一类新工作负载。它包含OLTP工作负载,以及交易
这包含使用社交和移动数据的交互和意见结构化和半结构化数据的混合物。
这些限制。市场有越来越多的兴趣和压力结合Hadoop的优点以显著减少成本,以拥抱这些工作负载在Hadoop的生态系统。
随着业务的工作负载代表的业务需求,它们通常由交易的不断流动,须要低延迟响应时间对于读/写訪问。此外,这些工作负载的特点是:
•与ACID兼容保护数据的完整性
•高可用性,并发性和可扩展性
•多结构化数据
•高速变化的数据需求
特性
Trafodion提供下面功能以支持Hadoop的事务性工作:
•在多个SQL语句,表和行上ACID兼容的分布式事务保护
•丰富的。全功能的ANSI SQL语言支持使用ODBC/ JDBC连接接口
•通过利用编译时和执行时优化以提高性能
•Trafodion打算使用并行感知的大型数据集查询优化器以提供Hadoop的的所有功能生态系统:
•通过HBase的列家族提供的架构灵活性结构
•在Hadoop的版本号支持快照功能
•高可用性和灾难恢复支持,复制和快照功能
长处
Trafodion提供了一个全功能的HBase解决方式。优化全事务的SQL上的数据库管理系统的事务性的数据保护。
这些功能有助于克服了Hadoop在支持方面事务性工作的弱点。
使用Trafodion, 客户能获得例如以下优点:
•可以利用SQL专长 &复杂的MapReduce编程现有的事务性应用程序
•无缝支持已经存在的应用程序
•能够开发下一代高可扩展性,实时性事务处理应用
•降低数据延迟降低分析工作负载
也能获得Hadoop生态系统内在的下面优点:
•减少基础设施成本
•大规模的可扩展性和弹性颗粒
•提高数据可用性和灾难恢复保护
架构
第一层是客户服务。应用程序通过标准的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查询工作台。