Oracle Engineered Systemsに期待するもの [JPOUG Advent Calendar 2019]

この記事は、[JPOUG Advent Calendar 2019](https://adventar.org/calendars/4154) の2日目の記事です。技術的に参考になる部分は殆どないポエムですので、お気軽にお読み下さい。

# TL;DR

- Oracle Exadataに代表されるEngineered Systemsにも色々な種類がある。
- SPARCベースのSuperClusterはOracleにしか作れない、最強のDBプラットフォーム。
- Hardware AcceleratedなEngineered Systemsには今だからこそ価値がある。期待したい。

# Oracle Engineered Systemsとは
**Engineered Systems**とは、Databaseやその他のOracle社製品と、それらを実行するのに最適化されたハードウェアの組み合わせで提供されるシステム群となります。

Oracle社が得意とするデータベースに関連するものに限らず、同社のWebLogicやBig Data関連製品に最適化された製品も出ています。

|製品名|種別|
|:--|:-:|
|Oracle Database Appliance|DB|
|<font color="red">Oracle Exadata Database Machine</font>|DB|
|<font color="red">Oracle SuperCluster</font>|DBその他|
|Zero Data Loss Recovery Appliance|DB|
|Oracle Big Data Appliance|-|
|Oracle Exalogic Elastic Cloud|-|
|Oracle Exalytics|-|
|ZFS Storage Appliance|ストレージ|

それぞれについて詳しく知りたい方は[こちら](https://www.oracle.com/technetwork/jp/server-storage/engineered-systems/index.html)をご覧下さい。

以降では個人的に関心が高いExadataとSuperCluster（というより、SPARCベースのEngineered Systems）について更に解説をしていきます。

## Exadata Database Machine
ExadataはIntel CPUを利用したComputeノードとStorageノードをInfiniBandで接続したOracle Databaseの専用マシンで、世界最高クラスの性能と設計思想はDBエンジニアに大きな衝撃を与えました。

オープン系のインフラエンジニアは、それまでハイパフォーマンスなサーバとストレージを目利きしてDBサーバとして組み上げてきたわけですが、そうした人々（私も含む）が夢想してきた「**世界最強の俺々データベースサーバ**」をOracle自ら作ってしまったわけです。

データベース業界では、OLTPとOLAPを同一の仕組みで提供するHTAPといわれるDBアーキテクチャについて過去から何度も議論がされています。これに現時点で一番近いのがExadataではないかと個人的に思っています。

もちろん、Exadataを購入・運用するには莫大な投資が必要になります。
そのため、各クラウドベンダーはExadata狙い撃ちのソリューションを展開し移行を促していますが、<font color="red">Oracle Exadata Dtabase Machineが現在も最強のデータベースシステムの一角である</font>ことは論を待ちません。

## SuperCluster
Engineered Systemsの中から、もう一つ紹介するのは[SuperCluster](https://www.oracle.com/technetwork/jp/server-storage/sun-sparc-enterprise/sparc-supercluster-191641-ja.html)です。

これはExadataと異なり、CPUとして**SPARC**を使っており、OSは**Oracle Solaris**、いずれも買収したSun MicroSystemに連なるものを利用しています。

<font color="red">SPARCを使ったEngineered Systemsの何がすごいのか？</font>
それはCPUやその周辺の専用チップまで含めた全てのハードウェアをOracleが開発することにより、真の意味でHardware AcceleratedなEngineered Systemsを完成させたことです。

例えば、SuperClusterにはSPARCに加えて、Software-in-Siliconと言われる特殊な機能を持つチップ群が搭載されています。

**（2016年当時のSoftware-in-Silicon説明資料より）**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/54853/d3e3329f-58f9-9e8e-0987-5ba35f640f48.png)
*※当時資料からの抜粋であり、現時点の最新ではありません。*

こうした固有処理に特化したプロセッサを搭載する構成は、AIやMLが全盛となった現在、各所に見られるようになりました。例えば、GoogleではASICベースといわれるTPUを採用し、MicrosoftではFPGAベースのAI専用プロセッサを開発中とのニュースが過去にありました。

データベースにおいても、こうした専用プロセッサを利用して処理性能を高めることは正しいアプローチであると個人的に考えています。

#### 余談：時代の影に消えた？ Exadata SL
しかし、SuperClusterがマイナーである理由もSPARC+Solarisであることでした。
そのため、2016年のOracle OpenWorldではSPARC+LinuxであるExadata SLが発表されています。ただ、その後大きなニュースを聞くこともなく、現在調べる限り、発売された情報すら掴むことが出来ません。

# Engineered Systemsに期待するもの
さて、ここまで長々と話をしてきましたが、DatabaseにおいてEngineeredなシステムを構成するメリットは何でしょうか。

それは先ほどもあげた、「**世界最強の俺々データベースサーバ**」をどのレイヤから組み上げられるのかという技術力の証明、もっと言えばベンダとしての裾野の広さを披瀝するためといえるかも知れません。

たとえば、[Project Tsurugi](https://www.nedo.go.jp/koubo/IT3_100066.html)では最新のハードウェア（メニーコアCPUやNVDIMMなど）に最適化された、これまでとは異なるDBMSを開発を謳っています。
また、[HeteroDB社](http://heterodb.com/)が提供するPg-Stromは、PostgreSQLでGPUによるデータ処理を可能とするエクステンションであり、巨大なデータセットを処理する際に高い性能を発揮することを発表しています。

彼らはそれぞれ異なるレイヤから出発し、理想のデータベースに近づこうとしています。

Oracle社はSPARCや周辺チップセットまで一気通巻の開発ノウハウを持ち、メガクラウドベンダや他のデータベースベンダから見ても、特殊なポジションを築いています。ですが、SuperClusterの商業的な成功が現時点で万全と言えないことから考えると、Engineered Systemsにおいても更に野心的な取り組みが必要な時期に入ったのではないでしょうか。

それはGPUなどの他種ベンダーの買収かもしれませんし、Intel Optaneに替わる次世代の不揮発メモリを積極的にEngineered Systemsへの取りこむことなのかもしれません。

いずれにせよ、私がOracle社に期待するのは他社と異なるやり方での「**世界最強のデータベースシステム**」の実現です。それはマルチなデータモデルであるとか、クラウド利用であるとかそうしたこととは別に、Engineered Systemsとして実現して欲しいことでもあります。

#まとめ
ここまで一部のOracle Engineered Systemsの紹介と今後に期待することについて、雑多に書いてきました。今回の内容は私見であり、異なる見方や意見を持つ方も多くいるのではないかと思います。

もし、皆さんのEngineered Systemsに対する期待があれば教えて下さい。