2014年09月11日 08時00分 公開
特集/連載

単なるRAMディスクではない、インメモリデータベース基礎の基礎メリット/デメリット、製品動向まで

メモリにデータを配置して処理するインメモリデータベース。とはいえ、単なるRAMディスクとは全く異なる。インメモリデータベースの活用には、その技術的特性を理解しておく必要がある。

[Chris Evans,Computer Weekly]

 プロセッサが高速になるにつれて、CPUとデータの間の待ち時間を減らすことが必要になる。その答えとして登場したのが、ローカルフラッシュストレージやPCIeフラッシュだ。さらに、フラッシュによるパフォーマンスの向上だけでは満足できない場合に選択されるのが、データを直接システムメモリに配置するオプションである。システムメモリにデータを保存すれば、データベースのパフォーマンスは最速になる。これがインメモリデータベースを利用する根拠だ。

インメモリデータベースとは

 インメモリデータベースでは、データの作業セットを全てシステムメモリに配置する(SAP HANAといったシステムの場合)か、テーブルのIDに基づいてDRAMの速度の効果が最も高い作業セットの一部をシステムメモリに配置する。

 インメモリデータベースを利用すれば待ち時間が少なくなり、明らかにパフォーマンスが向上する。大量のキャッシュを利用してデータベースの読み取り要求のみを最適化するシステムよりも、インメモリデータベースのパフォーマンスの方が優れている。また、キャッシュを利用するシステムよりもきめ細かな制御が可能で、ディスクメディアを主体とする従来のデータベースに比べて、データを管理する方法を最適化するチャンスがある。

 全てのデータをメモリに保持すると、これまでの回転型ディスクを使用することで生じていたさまざまな問題に対処する必要がなくなる。例えば、キャッシュに置かれたデータのコピーを別途管理して、データとキャッシュのコピーを同期する必要はない。メモリ上のデータの圧縮や圧縮解除は簡単で、ディスクコピーの圧縮や圧縮解除に比べて領域を節約できる可能性もある。

 単純にメモリ上にRAMディスクを作成し、この仮想ボリュームにデータベースを移動すれば同様の結果が得られるのではないだろうか? これは実現可能だが、データベースの内部アルゴリズムは、データがディスク上に存在するものとして管理するため、プリフェッチ、キャッシュ、遅延書き込みといったタスクを実行することになる。パフォーマンスの点では最適化されているとはいえず、多くのプロセッサ時間を使用する。

 インメモリデータベースはRAMディスクを使用する場合と異なり、DRAM上のデータを操作することに特化したロジックを含んでいる。

 ただし、システムメモリには揮発性がある。つまり、ACID(原子性、一貫性、分離性、持続性)モデルのデータベースの4つの特性のうち、3つしか満たさない。サーバの電源が落ちればデータが失われるため、インメモリデータベースはそのままでは持続性がない。

揮発性というメモリの弱点の克服

 だが、揮発性の問題を克服する方法はある。




続きを読むには、[続きを読む]ボタンを押して
ください(PDFをダウンロードします)。






ITmedia マーケティング新着記事

news045.jpg

「ファッションテック」から「3密回避」まで データによる価値創造と課題解決の考え方
気象データを活用してファッションコーデを提案するサービスをデジタルエージェンシーの...

news153.jpg

脳波計測で判明 Twitterを使いながら番組を見る人は満足度が高い――Twitter Japan調査
脳波を活用した感性把握技術を活用して「テレビとTwitter」の関係について分析しています。

news058.jpg

旅行業界のデジタルシフトと「Go To トラベル」後の課題 びゅうトラベルサービスに聞く
列車旅の拡大活性化を目指してデジタルシフトを進めるJR東日本グループの旅行会社びゅう...