Trafodion是Apache基金会的一个开源项目,提供了一个成熟的企业级SQL-on-HBase解决方案。Trafodion的主要设计思想是处理operational类型的工做负载,或者是传统的OLTP应用。此外,对于须要保证数据一致性、须要标准SQL开发接口,或者须要实时数据读写分析的应用,Trafodion也是一个十分合适的解决方案。数据库
Trafodion的前世此生服务器
Trafodion的渊源能够追溯到数据库技术的“史前时代”。并发
Trafodion的鼻祖是天腾 (Tandem) 公司的NonStop SQL。以后在1989年,天腾推出了NonStop SQL/MP,它是第一个MPP分布式数据库,实现海量并发SQL执行。在当时的历史条件下,NonStop SQL/MP开创性地提供了线性横向扩展能力(咱们现在耳熟能详的scale out)。分布式
1999年,在Graefe Goetz的帮助下,NonStop SQL/MX诞生了,它实现了基于成本的CBO SQL优化器和基于数据流的MPP SQL执行器。2002年,惠普公司和康柏公司合并,已被康柏收购的天腾也成为了惠普的一部分。2006年,NonStop SQL的OLAP分支Neoview诞生,而Trafodion直接继承于Neoview和其后续产品SeaQuest。SeaQuest将Neoview从其专有的硬件,和专有的NonStop OS操做系统中移植到通用的x86服务器和通用的Linux操做系统上。oop
2014年,乘着大数据的浪潮,SeaQuest将底层的数据存储和访问引擎移植到HBase/Hadoop上,并创新地开发出HBase分布式事务处理等新技术,从而推出了Trafodion,并将所有代码开源,贡献给社区。大数据
所以Trafodion是秉承了超过20年的技术积累而诞生的。其成熟的SQL引擎和各类Utility并非几个技术天才在Google论文的启发下一挥而就,而是通过多年的团队努力和不断创新才得以完成。优化
Trafodion是一个创建在Hadoop/HBase平台上的关系型数据库,它的Welsh原意是“事务”。Trafodion可以完整地支持ANSI SQL 99标准,并支持ACID事务。基于最新的HBase发行版,Trafodion可以利用HBase的扩展性管理海量数据,并能提供极低的访问延迟。这些特色使得Trafodion成为了一个创新的大数据解决方案。操作系统
传统的RDBMS在扩展性上存在瓶颈,没法处理PB级别的海量数据,所以催生了大量的NoSQL数据库。可是NoSQL方案不提供方便的SQL接口,而且放弃了ACID支持。对于须要严格数据一致性的应用,NoSQL通常都没法知足需求。设计
Hive等SQL on Hadoop项目提供了相似SQL的访问接口,又构建在极具横向扩展能力的Hadoop平台上,既解决了大数据的扩展能力,又提供了用户熟悉的SQL接口。可是它们也存在几方面的问题。blog
首先,Hive等项目的SQL支持并不完整;其次,Hive等方案在访问数据时,有比较大的延迟,不能支持OLTP或者operational类型的应用。而Impala、Stinger等实时SQL on Hadoop方案则关注于大数据分析,适用于数据只写入一次而屡次读取的场景。这类方案通常都没法提供实时修改和写入数据的功能,好比Impala就不支持UPDATE和DELETE语句。