SAPHANA与OracleExalytics的对比(一)

2014-11-24 17:08:04 · 作者: · 浏览: 2

美国分析师 David Dobrin (b2banalysts 公司总裁)写的一篇有关OracleExalytics 和 SAP HANA 的对比文章。

1. Oracle 最新推出 Exalytics

“仿制”一直是 Oracle 惯用的伎俩。每当竞争对手发明新产品或开拓新市场时,Oracle 便会试图以“人有我优”的理念取而代之。因此,当 Microsoft 推出 Sharepoint 和 Outlook、VMWare 推出 VSphere、Red Hat 推出 Linux 时,则 Oracle 便快速推出了 Beehive、Oracle VM、Oracle Linux 和Unbreakable Enterprise Kernel。

这些仿制产品与竞争产品的功能全面兼容,甚至某些地方还有可能更胜一筹。(“我们的 Linux 是 Unbreakable。”)但是,它们通常会等同(或者超越)原创正品。它们与您所见到的 Penneys 或 Target 十分类似:对于那些无需或无力支付高昂学费的人来说,它们是一款颇受欢迎的替代品。

作为一名分析人员,我无权指责 Oracle 的这一做法,正如我不想指责 Target 或 Penneys 一样。但我的确不太欣赏这种方式,这主要是因为软件市场与劳力士手表市场明显不同,它非常缺乏透明度。如果您经过价值 10 美元的劳力士手表柜台,您会很清楚 10 美元会得到一块怎样的劳力士手表。但如果 Oracle 宣布推出 Oracle ETL(随手举例),您可能完全不清楚它是什么、有何益处或功能(和不足)。缺乏透明度,这对我来说是件好事,因为大家会打电话过来问我“Oracle ETL 和 Informatica 有何区别?Informatica是否真的更出色?”但即便如此,如果一切能够变得更透明,我还是宁愿选择后者。

这使我不由得想起 Oracle 最新推出的仿制产品。一年之前,很少有人注意到 SAP 发布了一款名为 HANA 的内存数据库设备。去年 10 月份,Oracle 宣布推出一款名为 Exalytics 的内存数据库设备。

这下许多人开始问我“二者有何区别?HANA 是否真的更出色?”

我很清楚大家为何会提出这种问题。Oracle 大概已掌握数据库的某些内涵。此外,由于数据库之间的细微差别很难用一两句话解释清楚,因此大家很容易陷入行话和承诺陷阱之中。

在这种情况下,我所能够采取的有效方式是在闲暇之余拟定问题,并以抛砖引玉的方式启发大家自己思考,而不是直接告诉他们所需的答案。

在开始深入阐述之前,我想先讲一个事实和我自己的一点偏好。事实:本文是专为 SAP 读者而写。尽管我努力保持中立,但我仍然无可避免地知道自己的读者想知道的内容。我自己的偏好:我更喜欢原创正品。我不会购买 10 美元的劳力士或“Brinni”套件或“Henkels”刀具。因此,从内心深处来说,我觉得 HANA 仿制品不可能具有原创正品所蕴含的所有功能。

2. HANA:三大功能

首先,我想谈谈大家为何会感到疑惑。我想您可能已知道,HANA 是一款行列式内存数据库。这意味着您既可以在 HANA 中执行通常需在行式数据库中执行的事务,又可以执行列式数据库所擅长的分析功能。

这个“还”非常重要。一直以来,它只是“或”和“或者”。当您执行事务(输入数据)时,您需要一款专门为快速可靠有序插入数据而设计的数据库。而当您执行分析(输出数据)时,您需要一款已采用某种方式对数据进行预处理的数据库,或者说需要一款列式数据库,能够以您所需的格式和速度输出数据。

但是,您不可二者兼得。不可在同一数据库中兼得。

但有了 HANA,您却可以实现这一目标。其中一部分原因在于它是一款内存数据库,它的所有运行均已明显提速。另一部分原因在于:它可以识别您插入数据和输出数据时的真正意图。这样,当您插入数据时,HANA 使您能够将它视为行式数据库;而当您需要输出数据时,HANA 又使您能够充分利用其列式结构的优点。无论在何种情况下,您均不会以牺牲性能作为代价。而在过去,当您使用不具有此类功能的数据库执行上述操作时,您不得不在功能和性能之间做出艰难的选择。

HANA 还有一种新功能。这种新功能很少被提到,但 Larry 和我都认为十分重要。它具有内置于数据库的业务功能。这意味着,即使您的数据库仅识别 SQL(标准)语言,您也可以对数据执行一些确实非常非常难以执行的操作。

这一点,我稍后再详细解释。下面,我们一起来看看三个重要功能。第一,内存计算。第二,速度合理的事务功能和分析功能。第三,业务功能。

诚然,如果 Vishal 看到这些内容,他可能会有些恼怒,因为我很简明扼要地指出了 HANA 的精髓。但请记住,就我本人而言,我只是想阐明人们感到困惑的原因。因此,我只是在拨开迷雾,让人们看到本质。

我为什么如此肯定这三点就是 HANA 的关键所在?嗯,这是因为 Larry 能够很好地评估软件和市场营销,他认为这三点至关重要。那么,我又如何知道这三点至关重要?因为这三点 Exalytics 都拥有。

正如您所看到的那样,Exalytics 将行式内存数据库(Oracle 于 10 多年前收购的旧 TimesTen 产品)、分析数据库(Oracle 于 5 年前收购的 Essbase)和业务功能库(它使用开放源 R 统计编程语言)全部结合在一起。

也就是我在上文所提到的“功能兼容”。内存计算?它有。事务和分析功能?它有。业务功能?它也有。

此外,它还具有一个明显的优势。Exalytics 数据库并非只是包含部分新功能库的全新产品,也不是未经测试的荒诞试验品。该数据库和功能库均已经过试验,并且真实可靠。事实上,TimesTen 从一开始就是 Salesforce.com 的核心所在。而 Essbase 是 Hyperion 的核心所在,是许多全球 2000 强企业使用的产品。而 R 统计编程语言则在其国内的每所大学普遍使用。

困惑?您应该感到困惑。这就是它所要达到的效果。

3. HANA 与 Exalytics 的对比

即使您就是一名对数据库一无所知的菜鸟,您也不会感到困惑。HANA 和 Exalytics 有一个很明显的差别。即使您只是阅读 Oracle 的市场营销材料,您也能立即对二者进行区分。

使用 HANA,所有数据均存储在一个位置。

而使用 Exalytics,数据将根据您的使用目的存储在不同的位置。因此,使用 Exalytics 时,如果您需要将数据添加至行,则必须使用 TimesTen 数据库。如果需要在报告中使用这些数据,则必须将行中的数据导入 Essbase 数据库(需要进行一些处理),然后再使用 Essbase 工具。与此同时,如果您需要进行一些统计分析(Oracle 称其之为“高级虚拟化”),则必须再次将数据导出、放到处理区域、使用 R 统计编程语言进行计算,然后再将结果存储到其他位置。

但使用 HANA 时,您可以在同一数据库中完成上述所有操作。

这一点为何至关重要?我再说一次,就算您是数据库菜鸟,您也会明白它的重要性。如果某个外行的分析师问您为何至关重要,您可能会耸耸肩膀,不屑一顾。而这种表情,正好就是我向数据库菜鸟提出这一问题的翻版。我想,答案不言而喻。移动数据需要占用大量时间。涉及的数据库不会完全兼容,因此移动过程中还必须人为对数据进行一些处理。(Essbase 无法处理特殊字符,这一点众所周知。)由于每个数据库中的数据都不相同,因此必须使用一个数据库管理时间,另一个数据库管理版本。当您移