[速報]オラクル、Oracle 12cにインメモリとカラム型データベースの追加機能を発表~Oracle OpenWorld 2013
米オラクル主催のイベント「Oracle OpenWorld 2013」がサンフランシスコで開幕しました。
同社CEOのラリー・エリソン氏は最初の基調講演に登壇。現在データベースの新しい技術として注目されているインメモリとカラム型データベースの機能をオプションとしてOracle Database 12cに追加すると発表。さらにインメモリ処理に優れた32TBメモリ搭載可能な新型SPARCサーバも発表しています。
基調講演の内容をダイジェストで紹介します。
Oracle DatabaseのIn-Memroyオプション発表
米オラクルCEO ラリー・エリソン氏、ご機嫌な表情で登場。

いくつかの発表をしよう。まずはOracle DatabaseのIn-Memoryオプションだ。

データをメモリに載せることでシステムは高速になる。Oracle Database In-Memory Optionで、分析系のクエリが100倍早くなる。
この性能向上をデータウェアハウスだけでなく、トランザクション処理においても獲得できないだろうかと考える。私たちはその課題を解決し、トランザクション性能も少なくとも2倍にした。

従来の行ストアとカラムストアを両方持つ
Oracle、DB2などのデータベースでは、これまで長い間データを行ごとに格納するロー(行)フォーマットが使われてきた。
これはリレーショナルデータベースが登場したときからだ。データの追加、更新といったトランザクションで行ごとにデータを素早く書き換えることができる。
しかしこの数年、データベース技術者のあいだでは、カラム(列)フォーマットという新しい方式が持ち上がっている。カラムフォーマットではレポーティングなどのクエリ処理が高速になるという利点がある。

そこで私たちは、両方のフォーマットを用いることにした。通常のローフォーマットと同じデータを、カラムフォーマットでメモリ内に持つのだ。

そしてローフォーマットのデータが追加更新されると同時にカラムフォーマットのテーブルもアップデートされ、両者がつねに整合性が保たれるようにする。
カラムフォーマットのデータストア(カラムストア)をインメモリに持つことで、分析系のクエリ処理が100倍も高速になる。
カラムストアで1秒あたり数百万件もの処理
カラムストアにはトランザクションのロギングはないため、文字通りオーバーヘッドはほとんどない。

カラムストアをもつことにより、データ処理は非常に速くなる。しかも、プロセッサのコアごとにカラムをスキャンすることで、1秒あたり数百万件もの処理が可能になる。

複数テーブルのクエリでは、ジョインも桁違いの速さで実行される。
余分なインデックスが不要になりOLTPも高速化
さて、ローストとカラムストアのデータの整合性をつねに維持するという余計な作業をするというのに、どうやってOLTPをより高速にするのか、というもっともな疑問について説明しよう。
従来のデータベースでは、文番号などのプライマリーキーにインデックスを付けた。さらに集計や分析などのクエリで使うために10や20のインデックスを付けていただろう。

このとき、テーブルにデータを追加すると、10から20ものインデックスに対するアップデートが発生する。これはコストのかかる処理であり、だからデータベース管理者はインデックスの付け方をよく考えなければならなかった。
そして集計や分析用のインデックスがOLTPを遅くしていた。
そこでこのインデックスをなくしてしまい、メモリ上のカラムストアに置き換えてしまおう。すると、テーブルにデータを追加しても1つから3つ程度のインデックスのアップデートで済む。カラムストアはメモリ上にあるため、更新のオーバーヘッドはほとんどない。

これでOLTPは劇的に速くなるのだ。
データベース管理者はインデックスに悩む必要がなくなり、OLTPも分析もすべての処理が速くなり、チューニングも必要なくなる。
SQLもアプリケーションもそのまま使える
インメモリオプションを使うには、どれだけメモリを使うか、どのパーティション、もしくはテーブルをメモリ上に載せるか、これだけだ。

そして不要になったインデックスを削除する。これでOLTPが速くなる。
SQLもアプリケーションも変える必要がなく、データのマイグレーションも発生しない。Oracle Database 12cのマルチテナンシーにも対応しておりクラウドレディだ。

いままでと同じデータベースで同じ信頼性やセキュリティで、クエリが何桁も、OLTPが何倍も速くなるのだ。

32TBメモリの「Oracle M6-32」発表
このインメモリなカラムストアに理想的なマシンを合わせてリリースする。Oracle M6-32だ。ビッグメモリマシンと呼ぼう。

32TB DRAM、M5の倍のコアを積んだ新しいSPARC M6チップ。M5と同じシャーシだ。

≫基調講演は続きます。「[速報]オラクル、Oracleデータベースの遠隔バックアップサービスをクラウドで提供へ~Oracle OpenWorld 2013」。
Oracle OpenWorld 2013 / JavaOne 2013
- [速報]オラクル、Oracle 12cにインメモリとカラム型データベースの追加機能を発表~Oracle OpenWorld 2013
- [速報]オラクル、Oracleデータベースの遠隔バックアップサービスをクラウドで提供へ~Oracle OpenWorld 2013
- [速報]オラクル、クラウドでOracle DBとWebLogicのPaaS提供へ、IaaSはOpenStack API採用。エリソン氏は基調講演をドタキャン~Oracle OpenWorld 2013
- Java SEとJava MEが一本化へ。Internet of Thingsの時代に向けて~JavaOne 2013
- JavaによるJavaScriptエンジンやNode.js実装など「Project Avatar」がオープンソースで公開~JavaOne 2013
あわせて読みたい
[速報]オラクル、Oracleデータベースの遠隔バックアップサービスをクラウドで提供へ~Oracle OpenWorld 2013
≪前の記事
エンタープライズ用途の開発言語、Javaがもっとも利用され今後も上昇傾向。HTML5も急速上昇の見通し