Oracle Exalyticsで12cのIn-Memoryの利用が可能に
2014年12月2日、Oracleは高速分析専用マシン「Oracle Exalytics In-Memory Machine X4-4」の発表を行った。これはインテルベースの分析専用アプライアンス製品の最新版だ。ExalyticsはOracle Exadataを筆頭とする同社のエンジニアード・システム群の1つでもある。
今回のX4-4では、ハードウェア、ソフトウェアの両面から強化が行われた。ハードウェアとしては、インテルと共同開発のBIに特化したプロセッサーXeon E7-8895 v2を4つ搭載し、メモリーは標準で2テラバイト、最大3テラバイトの容量となっている。さらに、ディスクIO向上のためにハードディスクに加え2.4テラバイトのフラッシュ・ストレージも搭載した。
搭載する2テラバイトのメモリー空間を活用するのが、今回から利用可能になったOracle Database 12c In-Memoryだ。従来、Exalyticsのインメモリーでは、多次元データベースのEssbaseやTimesTenベースのIn-Memory Data Cachingが稼働していた。今回は、それらに加えOracle Databaseのオプション機能であるIn-Memoryも利用できるようになった。これにより「Oracle DatabaseのナレッジをExalyticsで活用できます。Exalyticsは、もはや特別なハードウェアではなくなりました」と語るのは、日本オラクル BI/EPM事業統括 ソリューション本部 ビジネス推進部 担当シニアマネジャーの枇榔貴子氏だ。
ExalyticsでIn-Memoryを利用するには、Oracle Database 12c Enterprise EditionとIn-Memoryオプションのライセンスが必要となる。つまりExalyticsでOracle Database 12cを動かすことになるのだが、それでExalyticsがOLTPを運用するようなデータベースになるわけではない。OLTPの部分はExadataなりで運用し、InfiniBandで接続して分析に必要なデータだけをExalyticsのインメモリーで扱う。それが、Oracleが推奨する構成となる。
ちなみにExalyticsでは、従来のTimesTenベースのIn-Memory Data Cachingもユーザーの選択肢として残されている。さらに、昨年発表したSPARCベースのOracle Exalytics In-Memory Machine T5-8でも、Oracle Database 12c In-Memoryは利用可能だ。
もう1つのソフトウェア面での強化としては、サマリー・アドバイザーがある。こちらは、どのデータを集計してインメモリーに載せればいいかをアドバイスしてくれるものだ。よく使われる検索を学習しそれに必要なデータをインメモリーに配置してくれる。つまりOracleではデータベースのすべてをインメモリーに載せるのではなく、載せると効果を発揮するデータだけを適宜インメモリーに載せるアプローチとなっている。
これにより、従来大規模なセントラル・データウェアハウスを利用し始めると、だんだん自分たち専用のデータマートが欲しくなり、結局はたくさんのデータマートが分散配置してしまう問題は発生しなくなる。すべてのデータはExadataなりのセントラル・データウェアハウスで運用し、サマリー・アドバイザーによりホットデータだけを統計処理で判別しインメモリー化する。これで部門ごとに十分な分析のための性能が確保でき、専用のデータマートは必要なくなるというわけだ。