探析 Oracle 的 Exadata Storage Server

数据库巨头 Oracle 一向不怎么涉足硬件领域,但这并不等于没有硬件方面的野心(过去折腾过几次都失败了)。这次在 Oracle Open World 上一下子宣布了两款 Exadata 系列的存储产品。一个是 Oracle Exadata Storage Server ,另外一个叫做 HP Oracle Database Machine 。

Exadata Storage Server 架构分析

该产品基本上可以看成是山寨版的存储集群。只是山寨主人财大气粗,所以比较唬人。

Exadata_Storage_Cell_Based_Configuration.png

如上图,是基于所谓的 Cell 的,每个 Cell 就是一个存储模块,乍看上去好像 HP 的 MSA 系列的东西 ,考虑到这东西能扩展能大柜子,又很像 HP 的 EVA 产品的变形(早就听说 EVA 准备推出 Cluster 的形式),不过接下来又看到每个 Cell 有自己的 CPU、内存、NIC,莫非就是个 PC ? 等我下载了一份 Data Sheet 看了一下,居然就是个 PC 服务器 ……

Exadata_Software_Architecture.png

从上图大致能看出来,Oracle 主要的还是想卖软件,企业管理器、念念不忘的 Automatic Storage Management(ASM),还有山寨版 RHEL –OEL 也在这个框架内。

名词解释:iDB

iDB – the Intelligent Database protocol. 这是这套系统中的一个亮点。iDB 在数据库核心层实现,直接映射操作到存储,减小不必要的开销。如果 iDB 真的能有效提升 IO 能力,那这个产品还是值得一用的。每个 Cell 是有计算能力的,实际上相当于 DB 把 SQL 扔给 Cell, Cell 返回结果给 DB 。iDB 能够运行在 InfiniBand 之上。

InfiniBand

Oracle 的 RAC 集群是 “Share Storage” 的,DB 节点间的高速通信其实是很容易撞上天花板。如果要提升集群能力,只靠 DB 本身的能力其实不大现实。这个 Exadata 的设计思路就是希翼通过硬件集群的能力来扩大 Oracle 本身的 I/O 能力,而 InfiniBand 交换机成了核心的组件。

实际上,InfiniBand 交换机的数量会是问题,只用一个,可靠性不高,用两个,成本又上去了。这个无疑会让用户左右摇摆。

HP Oracle Database Machine

相当于一个打包好了的产品,预装了 Oracle 企业版 Linux 与 Oracle DB 11g 软件,面向数据仓库环境。假想敌是 Teradata ?

结论

流水帐写了这么多,最后我个人认为该产品是否能被市场接受还要看定价,如果足够便宜,那么会有用户拿来做中低端的应用,如果 Oracle 必须要把内置的软件卖出价钱来,那恐怕竞争力并不是很强。

这并非一个会让人多么激动的产品。

EOF

附加:价格列表


8 thoughts on “探析 Oracle 的 Exadata Storage Server

  1. eshen

    每个 Cell 是有计算能力的,实际上相当于 DB 把 SQL 扔给 Cell, Cell 返回结果给 DB
    我觉得这句话描述的不太准确,应该 Oracle Exadata Storage Server是一个集群存储,这个结构类似isilon存储,主要提供集群存储和集群文件系统,通过与ASM配合实现集群存储,InfiniBand 用于后端数据同步以及数据冗余。

    Reply
  2. Nazgul

    InfiniBand看图好像只是ASM和存储集群的通信Switch,它也负责DB 节点间直接的通信?

    Reply
  3. Nova's Life

    如果oracle能基于内存来做数据库,可以动态扩展的”内存数据库”,这样会更好些,..以后是否能实现呢?基于可插拔的内存数据库,一个表可以存在一个固定的内存结构中..这样比较起来,就可以把tmp表空间做大,把频繁的数据表空间做到T级别的内存结构…
    看到这个文章很有收获..谢谢…

    Reply
  4. lemondlut

    @Nova’s Life
    Oracle有内存数据库TimesTen。不过要是打算把内存做到T级别,赫赫,这个不光是软件的问题了。HP Exadata Storage Server Hardware的内存才是8G

    Reply
  5. caimf001

    在电信、银行,做企业级数据仓库首选一般都是Teradata或IBM DB2(share nothing),ORALCE有此举措,看来也慢慢转为share nothing architecture,不过Teradata有个PI的概念用于数据分配,个人觉得对于数据仓库有极大的优势,但其它方面就不予置评!

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *