欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

HANA 与 Oracle 12c哪一个更快

程序员文章站 2022-06-15 08:00:32
...

本文来自于对Which is Faster HANA or Oracle 12C?的阅读笔记,列举了其中的要点。并不代表我的观点。 简介 SAP声称HANA是最快的数据库,因此SAP的新ERP系统S4不再支持Oracle Oracle 12c的一个新功能是对于同一表,可以在行式和列式间转换 SAP想让用户认为HA

本文来自于对Which is Faster HANA or Oracle 12C?的阅读笔记,列举了其中的要点。并不代表我的观点。

简介

SAP声称HANA是最快的数据库,因此SAP的新ERP系统S4不再支持Oracle

Oracle 12c的一个新功能是对于同一表,可以在行式和列式间转换

SAP想让用户认为HANA是独特的技术,不过在这篇文章中,可以看到内存计算和列式存储都不是SAP独有的技术

硬件速度和数据库设计的混淆

HANA将两个不同的概念混淆到一起:
1. 硬件层面,HANA需要将数据加载到内存
2. 数据库设计层面,HANA是基于列式的数据库

这种混淆其实在SAP的ERP就已经用到了,而且运用得很成功,SAP认为SAP自己的ERP可以更好的集成应用,集成的风险更小。

SAP ERP的集成是在水平的应用层面,而HANA是在垂直层面,直到数据库层

SAP希望用户迁移到HANA的一个原因是,和以前将数据库作为数据储存不同,SAP已经将应用逻辑下放到数据库。

PS. 不过我认为这些接口会对其它数据库开放的

HANA的真正机会

曾经认为HANA的真正机会是将ERP和其它SAP应用都放在HANA上,然后分析引擎可以运行在相同的硬件上,集成和转换也不再需要。

但是非SAP的应用怎么办,它们无法运行在HANA上,它们不需要集成了吗?

另外, HANA非常昂贵,而且目前HANA也支持一小部分SAP的应用

西部最快的数据库?

看这标题,作者还挺幽默

HANA明显不象SAP所说的那样,是速度的冠军。一个重要的原因或弱点即HANA是基于列的数据库,这对于非分析型数据库是一个不正确的设计。尽管SAP声称是,但从计算机科学的角度来看,它不是。(SAP有篇论文,专门讲述列式数据库性能没有问题)

对于交易系统的插入,删除和更新,列式数据库要比行式数据库慢

关于速度的争论

Oracle的John Soat在福布斯上发表的文章对于HANA的速度做了反击,其中很重要的一点是HANA没有发布过交易处理的性能指标。也许是做了但还不够好吧。

Oracle 12c的数据双模式

Oracle 12c可以将数据同时以行式和列式在内存中存在,这时一个非常重要的优势。除了纯分析操作,Oracle的灵活设计在性能上完胜HANA。
SAP认为Oracle的内存技术不成熟,同时HANA有7000个用户,不过大部分的用户并没有真正使用HANA。

结论

Oracle 12c 内存列式存储的出现,使SAP将用户迁移到HANA的理由不再充分。

SAP作为应用的厂商,现在将数据层推向用户,结果如何,只有拭目以待了。

下面这段话其实是我最欣赏的:

在Mountain View的计算机历史博物馆,有一个展览说,从前,软件是和硬件绑定的,那时软件还不是一个产业,IBM发布的程序只能跑在IBM的硬件上。软件不单收费,在软件层面也不存在竞争。

我们现在所知的软件行业,实际上是在软硬件解耦之后,即美国的反托拉斯法( US enforcing anti-trust legislation )针对专属软件和硬件厂商的要求。而HANA作为应用和数据库耦合,由一个厂商控制,使我们又回到了软件最初的时代。
PS. Oracle的Exadata也是软件和硬件的结合,但是Oracle并没有要求数据库只能跑在Exadata上

结论就是:
* 只有列式数据库才有未来是不对的
* 只有SAP才能开发出高性能的数据库如HANA也是不对的