Chinaunix首页 | 论坛 | 认证专区 | 博客

iihero@ChinaUnixehero.blog.chinaunix.net

iihero's LAB [SAP/Sybase DB, PG, Oracle/MySQL, SQLite etc]

  • 博客访问: 751591
  • 博文数量: 232
  • 博客积分: 50
  • 博客等级: 民兵
  • 技术积分: 3948
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-11 13:11
个人简介

iihero@ChinaUnix, ehero.[iihero] 数据库技术的痴迷爱好者. 您可以通过iihero AT qq.com联系到我 以下是我的三本图书: Sybase ASE in Action, Oracle Spatial及OCI高级编程, Java2网络协议内幕

文章分类

全部博文(232)

文章存档

2014年(4)

2013年(228)

微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

分类: 数据库开发技术

美国分析师 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<http://Salesforce.com/> 的核心所在。而 Essbase 是 Hyperion 的核心所在,是许多全球 2000 强企业使用的产品。而 R 统计编程语言则在其国内的每所大学普遍使用。

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

3. HANA 与 Exalytics 的对比

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

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

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

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

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

Oracle 非常了解这些异议,因此在其市场营销文档中尽可能予以反驳。“Exalytics”,它指出,“采用 Infiniband 信道”,能够支持数据在数据库之间快速流动,而“统一管理工具”则支持您跟踪数据。是的,移动数据确实可能会存在一些问题。但 Oracle 避而不谈,努力将您的注意力转向“已经过试验,并且真实可靠”这一点上。因此,它实际就是在说,如果您必须在各容器之间移动数据,那么当每个容器都如此出色、如此久经验证、并且能提供如此多一切准备就绪的基础设施时,您还在犹豫什么呢?立即采用吧。

Oracle 声称,多个数据库只要在一个机箱内,就没有问题,特别是当我们(Oracle)的工具更出色、更可靠时尤其如此。现在,我不得不承认,这一缪论确实有一定的影响力。而事实上,即使数据库菜鸟也能够明白这一点。

4. HANA:设计理念

提到 HANA 与 Exalytics 的对比,您如何看待一体化产品与通过 Infiniband 信道实现连接的一箱化产品之间的明显差别?对于我来说,正确的方法是找出每种运行方法的设计理念。

在这一点上,我认为二者存在明显的区别。对于 TimesTen 或 Essbase 或其他传统数据库而言,设计理念大致如下:如果您需要处理数据,请将数据移至专门的数据处理引擎内。如果您为了将数据放到容器中略加处理或稍做准备,那么也无伤大雅,因为您只需准备处理所需的容器即可。

我记得 30 年前的一个夏天,当我为一位木匠打下手时,他教我使用的工具其设计理念与您所了解到的理念基本相同。作为一名木匠,您使用的都是专业化的大型昂贵电动工具:钻床、台锯等。因此,假如您想建一个厨房,您必须现场测量,然后回到店里制作所需的材料。

而对于 HANA,其设计理念截然不同。您无需移动数据。您可以就地取材,就在数据所在位置开展工作。从某种意义上来说,这种理念与现代木工领域的运营理念完全相同。如今,我老板的儿子开着一辆卡车,到客户现场卸载台锯和靠电池供电的电钻,这样可以在现场更轻松、更方便、更灵活、更可靠地完成所有工作。

那么,在数据处理(和木工活)时,为什么将工具带到现场会更棒?因为,您可以更灵活、而且也可以更快速地完成工作。

为了让大家充分理解我的意思,我将举例说明。首先,我跟大家说说我几年前看到过的一个相对轻型的内存 BI 工具的演示。

销售人员/演示人员是个菜鸟。他曾经去过很多地方旅游。他从 TSA 网站下载了美国每个机场、每个安全门的所有等待时间。演示时,他说,“假设您现在坐在出租车里。您可以打开数据库和每个安检处等待时间的图片。现在,您可以知道出租车停在哪张门更合适。”

这种理念非常好,可视化工具也很不错。但在那天结束时,我发现他所做的工作存在明显的限制。因为系统使用 SQL 仅可重新绘制数据,您仅可以获得等待时间的列表,却难以处理其中的数据。而事实上,您想知道的是根据一天中的具体时间和其他信息了解每张门出现延迟的可能性。但您在出租车里却无法获得这些信息。也许更糟糕的是,他使用的并非实时数据。最重要的数据是最新的数据,可他并没有获得最新数据,也无法真正处理 RSS 源。

下面,我们一起来看看 HANA 更广泛的功能在这种情况下可以做些什么。首先,在 HANA 中,可以源源不断地导入数据。因此,如果他可以处理 RSS 源,便可确保数据库始终为最新数据库。其次,在 HANA 中,他可以使用业务功能对安全门延迟的时间进行统计分析。因此,他可以轻松简便地获得每张安检门的延迟可能性数据,而不是几列等待时间。

5. 那么,是什么让 HANA 变得更出色?

当我看到“全新的设计理念”这几个字时,我想,HANA 可以说是真正采用了全新的设计理念。我喜欢用两个标准来衡量是否已采纳全新的设计理念。是否有助于简化?是否有助于推广?

下面,我们重新回到原来的话题。我在阐述时,通常使用以下故事来说明这两个标准:

大约 100 年前,汽车既没有电池系统,也没有电气系统。如今由电气系统完成的每项工作,在过去均视为完全独立的、由完全不同的方式完成的功能。若要启动汽车,则需使用手动曲柄。若要照亮前行道路,则使用油灯,就安装在当今的车灯位置。

后来出现了全新的设计理念:电池和电线。这一理念成功地通过了两项标准的检测。首先,它从根本上简化了汽车的繁琐操作。您可以使用同一装置以更简便、更直接的方式(从仪表盘中启动汽车或操纵车灯)完成许多不同的操作(启动汽车、照明道路)。此外,这一理念也有助于推广。只要有电,您就可以将同一理念运用到全新的领域中,例如:为暖风电动机提供动力或者操作自动门锁。

那么,HANA 做得怎么样?它是否有助于简化?有助于推广?下面,我们尝试将它与Exalytics 进行对比。它是否有助于简化?当然,同时提到行数据和列数据可能会让人觉得有些复杂。但当您注意到它将所有数据均放在一个数据库中,您会发现它的概念确实非常简便;当您再注意到自己为了完成任何特定工作而必须将数据移到新区域时所涉及的复杂因素,您会发现,HANA确实有助于简化原有繁琐流程。

它是否有助于推广?

我花了很长时间希望弄清楚这个问题,而 Exalytics 的示例正好给了我启示,信不信由你。当我开始对 HANA 的业务功能库与Oracle 提供的“高级可视化”功能进行比较时,我不禁惊呼“哇!”。就统计功能而言,二者几乎不相上下。HANA 开发者非常自觉地尝试在数据库内整合等同于标准统计功能的功能,而 Oracle 则非常自觉地支持您访问 R 功能库。

但业务功能库还提供一些业务功能,如折旧或同比计算。而“高级可视化”则不提供。

现在,我们必须意识到业务功能库不仅仅是一系列其他功能的统称,这一点至关重要。事实上,它是充分利用这一设计理念的一种方式。按照这种设计理念,您所做的是通过扩展 SQL 的功能为交易方和分析方带来更丰富的功能体验。对分析方来说,您正在为他们增加统计功能。而对交易方来说,您正在为他们增加折旧计算功能。而所有这一切,您仅需采用同一基本机制即可提供。

当然,实践出真知。或许,业务功能或统计功能没有我所想像的那样极具发展前景。但新理念的推广大体如此。但如果这一理念确实有助于推广,并且用户乐于使用并呼唤更多功能出现,则Oracle 提供的产品将难以与之抗衡。如果需要添加某些真正的新功能,则必须利用新渠道和新管理工具在Exalytics 中创建新的数据存储区。

如果类似的仿制品出现,则您可以毫无疑问地确定,全新的设计理念已基本成形。

为什么这么说?我们再以汽车为例进行类比说明。

试想一下,假设某汽车制造商最近受到新电气系统的汽车带来的竞争压力,他们决定尽快推出美观大方的手动制造的汽车。这款新汽车不仅具有新电动车的所有功能,而且仅采用久经验证的成熟技术。很快,杂志广告中出现了汽车的黄铜油灯和红木曲柄,还有一位站在汽车旁边面带微笑的司机。

广告的潜台词大致如下:“您为什么非得要一款全新的、存在诸多故障和不足的系统呢?他们有的功能,我们全都有。您看,他们有车灯,我们也有。而且我们的车灯安全可靠且久经验证。他们有启动装置,我们也有。而且我们的装置更美观、更可靠且久经验证,任何司机都可以操作。”

我想人们可能会听信广告的说法,至少刚开始会信。但有一天,人们终于发现,只有采用电气系统的制造商才拥有正确的设计理念。也许,这一天是制造商推出使用暖风电动机和内部车灯的下一代汽车的时刻。也许,就在这一天,您才会意识到司机正在重蹈铁匠的覆辙。但无论如何,当这一天真正来临时,您将意识到油灯和曲柄的时代已经一去不复返。

阅读(5859) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册