比于Oracle、IBM DB2、Microsoft SQL Server、Informix、MySQL、PostgreSQL、Teradata等关系型数据库以及Impala、Tez、Hive、Drill、Presto等SQL-on-Hadoop解决方案,Apache TrafodionTM(正在孵化)具有怎样的优势?

Apache Trafodion是一流的数据库,与上述的关系型数据库并驾齐驱。每个数据库的功能和性能都不相同。如果您要从一个数据库技术转移到另一个数据库技术,会遇到很多挑战(除非您只使用ANSI SQL功能)。但是,如果您在Trafodion上开发新的应用程序,就会发现Trafodion支持数据库通常需要的所有功能。
而与其他的SQL-on-Hadoop技术相比,Trafodion具有更强大的数据库引擎,支持更多功能。只是Trafodion在目前优化的工作负载类型方面有所不同,但这并不是功能上的欠缺。相反,目前使用Apache HBaseTM的该项目更适用于运营型工作负载。在不同的存储引擎上运行的相同数据库技术受益于HP强大的EDW(三台250TB的系统,每天运行数万条ELT和报表查询,其中数百条是并发运行的)。
虽然并没有简单的答案,但我希望为您采用Trafodion提供一些理由。

从OLTP到分析型工作负载

根据企业处理的工作负载类型,企业的IT数据库部署会有所不同。可以将这些工作负载分为运营型、BI和高级分析。通常,运营型工作负载是指OLTP或ODS。简单来说(不一定全面),运营型工作负载运行公司的日常经营活动;BI和分析型工作负载有助于提高业务效率或改进业务,从而提高客户的满意度、改善产品和服务、提高收益和利润率、获得更高的增长……。由于这些工作负载及其优化存在很多差异,所以这些工作负载托管在不同的软件和硬件架构中。这些工作负载的差异可以归类如下:

在这些工作负载下,过去常见的数据库部署如下:

除了NonStop具有可扩展的MPP架构,大多数运营型工作负载都是部署在SMP架构上的(具有共享式缓存和磁盘)。从数据库的角度看,通常会看到在Oracle或Oracle RAC、IBM DB2、Microsoft SQL Server上部署的规范化数据模型以及MySQL、PostgreSQL等开源数据库。这些环境中托管的应用程序本质上是OLTP或主要是事务型的。
然后,数据被复制到BI环境中,转化为维度模型。由于是历史数据而且并行访问可以提高性能,所以这些系统通常部署在MPP架构中(例如Teradata和Oracle Exadata)。
ODS介于OLTP和BI之间。可以根据ODS托管的工作负载的性质,将ODS部署在任意一套平台上。ODS工作负载涉及了特定于客户、供应商、产品的查询,这是ODS和BI工作负载的差异。所以,从这个意义上,ODS对数据库的访问包含了更多查询。而BI工作负载主要是跨客户、供应商和产品类型,在多个维度访问更多数据,其查询通常比ODS更加复杂。
在BI中,如果您想要进行高级分析(例如,应用统计分析、数据挖掘算法、机器学习算法、时间序列分析、sessionization),数据将被复制(并可能聚合)到为此类工作负载而优化的分析平台。这些是MPP部署并提供列式存储,将并行分析推到数据库,用其他功能促进高级分析(例如,Vertica、Aster Data、Greenplum和Netezza)。

大数据BI和分析

随着大数据的出现,数据(例如,外部社会数据或IoT数据)已经成为了企业的一部分,用于提高企业的绩效。大数据分为结构化、半结构化、非结构化数据,现在的数据更趋向于后两者。半结构化和非结构化数据包括,短信、Twitter消息、电子邮件、音频或视频文件、设备数据……。目前,越来越多的这些数据都托管在Hadoop平台上,Hadoop平台具有MPP架构、弹性扩展、高可用性数据复制。数据映射到多版本并发控制(Multi-version Concurrency Control,MVCC)或仅附于Hadoop文件系统(HDFS)结构。

到目前为止,BI报表和分析型工作负载一直是Hadoop部署的主要关注点。这与之前讨论的内容在本质上大体是互补的。通常,外部数据与BI和分析平台上的结构化数据是互补的。结构化数据是在企业内部生成的,通常来自于运营系统。在这方面,Hortonworks Apache Tez、Hortonworks Apache Hive、Cloudera Impala、MapR Drill、MapR Presto、Databricks Spark都使用底层的结构提供多种功能,例如JSON文件存储、Avro、ORC文件和Parquet(最后两个是列式存储)。
但是随着Hadoop平台和这些工具的不断成熟,越来越需要将现有的BI和分析平台上的某些结构化数据与Hadoop上的数据集成,以提高决策力。由于Hadoop和开源部署的总体拥有成本(TCO)较低,所以其中的一些工作负载会从典型的BI和分析平台卸载至Hadoop。

在Hadoop上运行OLTP和ODS

很多运营型工作负载(无论是事务型工作负载,还是运营型数据存储工作负载)也可以利用Hadoop平台降低TCO、获得弹性扩展和高可用性复制。通常,企业资源计划(ERP)、客户关系管理(CRM)、制造资源计划(MRP)、供应链管理(SCM)、财务资源管理(FRM)和人力资源管理(HRM)系统都需要以较低的TCO扩展至超过SMP系统的规模。

Hadoop有助于扩展功能,或将工作负载从关键任务的环境中卸载。将非关键的OLTP工作负载/应用程序迁移到Hadoop,专有部署就会增长,并确保在这些环境中运行的关键应用程序都具有更佳的SLA。在Hadoop上,运营型数据存储部署可以使客户访问比现在更多的历史数据。之后,客户也可以开始在Hadoop上部署关键任务应用程序。
这就是Apache TrafodionTM(正在孵化)优化的工作负载。Trafodion跨多行、表和语句,提供全面的ACID事务处理能力。其广泛的ANSI SQL支持使您可以利用现有的SQL技术和工具,使现有应用程序的转换和现代化或构建新的应用程序变得更加容易。其成熟的数据库引擎可以处理跨事务更新、运营型查询、报表工作负载。

Apache TrafodionTM 的价值定位

由于所有的数据都在同一个平台上,您可能想要转化或现代化您的应用程序,将半结构化、非结构化数据与结构化数据整合在一起,向您的客户或内部的业务用户提供更多的功能、更丰富的接口。而且,只要在Trafodion中捕获到数据,就可以利用整个Hadoop生态系统生成报告并进行分析(无延迟)。对于闭环分析,您可以生成分析型模型,然后将模型部署到Trafodion托管的应用程序。无需从其他平台复制数据。可以跨运营型、历史和分析型工作负载共享引用数据。BI和分析可以在更大程度上提高决策力,历史数据和外部数据也是如此。通过Trafodion,还可以基于从BI和分析中获得的智能,快速采取业务行动。除了Hadoop固有的弹性扩展和低TCO,这是另一项优势。