インメモリー機能について掘り下げた。単にメモリー上で処理するだけでなく、並列化やデータ削減など、効率的にデータを読む機能が性能を下支えする。全データをインメモリーで処理するのか、一部のデータのみにとどめるかは、製品によりポリシーが分かれた。技術のみならず、実現のための費用が大きなポイントだ。
(司会は森山 徹=日経コンピュータ)
司会:
インメモリー機能がトレンドですが、今までのRDBMS(リレーショナルデータベース)もデータ操作はメモリー上でやってきました。根本的に、何が違うのでしょう。
日本マイクロソフト:北川
メモリー上にデータが載っているのはデータベースなので当然で、今までもバッファ上にデータが載っていました。ただし、バッファとして使っている領域の管理に、やはりオーバーヘッドがかかります。SQL Server 2014 で搭載したOLTP処理に特化したインメモリー機能「Hekaton(ヘカトン)」は、そういったものを全て取り払って、メモリーの上のデータ管理に特化したフォーマットなどを実装しています。
メモリーにアクセスする速度もポイントです。メモリーなので当然、ディスクアクセスより速いのですが、今サーバーが搭載するCPUのクロック数が上がらないことがボトルネックになっています。消費電力とか冷却の問題もあり、ボリュームゾーンで2.4ギガヘルツ程度でしょう。このクロックを効率的に使わないと、OLTPは速くなりません。Hekatonでは、ビジネスロジックの一部をあらかじめコンパイルして必要なクロックを落とす「ネイティブコンパイル」という手法も用意しています。