相比于Oracle、IBM DB2、Microsoft SQL Server、Informix、MySQL、PostgreSQL、Teradata等关系型数据库以及Impala、Tez、Hive、Drill、Presto等SQL-on-Hadoop解决方案,Apache Trafodion 具有怎样的优势?
Apache Trafodion是一流的数据库,与上述的关系型数据库并驾齐驱。每个数据库的功能和性能都不相同。如果您要从一个数据库技术转移到另一个数据库技术,会遇到很多挑战(除非您只使用ANSI SQL功能)。但是,如果您在Trafodion上开发新的应用程序,就会发现Trafodion支持数据库通常需要的所有功能。而与其他的SQL-on-Hadoop技术相比,Trafodion具有更强大的数据库引擎,支持更多功能。只是Trafodion在目前优化的工作负载类型方面有所不同,但这并不是功能上的欠缺。相反,目前使用Apache HBase的该项目更适用于运营型工作负载。在不同的存储引擎上运行的相同数据库技术受益于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 Trafodion 优化的工作负载。Trafodion跨多行、表和语句,提供全面的ACID事务处理能力。其广泛的ANSI SQL支持使您可以利用现有的SQL技术和工具,使现有应用程序的转换和现代化或构建新的应用程序变得更加容易。其成熟的数据库引擎可以处理跨事务更新、运营型查询、报表工作负载。Apache Trafodion 的价值定位
由于所有的数据都在同一个平台上,您可能想要转化或现代化您的应用程序,将半结构化、非结构化数据与结构化数据整合在一起,向您的客户或内部的业务用户提供更多的功能、更丰富的接口。而且,只要在Trafodion中捕获到数据,就可以利用整个Hadoop生态系统生成报告并进行分析(无延迟)。对于闭环分析,您可以生成分析型模型,然后将模型部署到Trafodion托管的应用程序。无需从其他平台复制数据。可以跨运营型、历史和分析型工作负载共享引用数据。BI和分析可以在更大程度上提高决策力,历史数据和外部数据也是如此。通过Trafodion,还可以基于从BI和分析中获得的智能,快速采取业务行动。除了Hadoop固有的弹性扩展和低TCO,这是另一项优势。
作者:Rohit Jain 是Esgyn的首席技术官,具有解决方案架构师、数据库顾问、开发、开发经理、产品经理的工作经验。加入Esgyn之前,Rohit曾担任Hewlett-Packard的首席技术官,负责SeaQuest和Trafodion。在39年的应用程序和数据库职业生涯中,Rohit在运营型和分析型工作负载的大规模并行处理和分布式计算解决方案方面做出了开拓性的贡献。