メモリにデータを配置して処理するインメモリデータベース。とはいえ、単なるRAMディスクとは全く異なる。インメモリデータベースの活用には、その技術的特性を理解しておく必要がある。
プロセッサが高速になるにつれて、CPUとデータの間の待ち時間を減らすことが必要になる。その答えとして登場したのが、ローカルフラッシュストレージやPCIeフラッシュだ。さらに、フラッシュによるパフォーマンスの向上だけでは満足できない場合に選択されるのが、データを直接システムメモリに配置するオプションである。システムメモリにデータを保存すれば、データベースのパフォーマンスは最速になる。これがインメモリデータベースを利用する根拠だ。
インメモリデータベースでは、データの作業セットを全てシステムメモリに配置する(SAP HANAといったシステムの場合)か、テーブルのIDに基づいてDRAMの速度の効果が最も高い作業セットの一部をシステムメモリに配置する。
インメモリデータベースを利用すれば待ち時間が少なくなり、明らかにパフォーマンスが向上する。大量のキャッシュを利用してデータベースの読み取り要求のみを最適化するシステムよりも、インメモリデータベースのパフォーマンスの方が優れている。また、キャッシュを利用するシステムよりもきめ細かな制御が可能で、ディスクメディアを主体とする従来のデータベースに比べて、データを管理する方法を最適化するチャンスがある。
全てのデータをメモリに保持すると、これまでの回転型ディスクを使用することで生じていたさまざまな問題に対処する必要がなくなる。例えば、キャッシュに置かれたデータのコピーを別途管理して、データとキャッシュのコピーを同期する必要はない。メモリ上のデータの圧縮や圧縮解除は簡単で、ディスクコピーの圧縮や圧縮解除に比べて領域を節約できる可能性もある。
単純にメモリ上にRAMディスクを作成し、この仮想ボリュームにデータベースを移動すれば同様の結果が得られるのではないだろうか? これは実現可能だが、データベースの内部アルゴリズムは、データがディスク上に存在するものとして管理するため、プリフェッチ、キャッシュ、遅延書き込みといったタスクを実行することになる。パフォーマンスの点では最適化されているとはいえず、多くのプロセッサ時間を使用する。
インメモリデータベースはRAMディスクを使用する場合と異なり、DRAM上のデータを操作することに特化したロジックを含んでいる。
ただし、システムメモリには揮発性がある。つまり、ACID(原子性、一貫性、分離性、持続性)モデルのデータベースの4つの特性のうち、3つしか満たさない。サーバの電源が落ちればデータが失われるため、インメモリデータベースはそのままでは持続性がない。
だが、揮発性の問題を克服する方法はある。
続きを読むには、[続きを読む]ボタンを押して
ください(PDFをダウンロードします)。
Copyright © ITmedia, Inc. All Rights Reserved.
なぜクラウド全盛の今「メインフレーム」が再び脚光を浴びるのか
メインフレームを支える人材の高齢化が進み、企業の基幹IT運用に大きなリスクが迫っている。一方で、メインフレームは再評価の時を迎えている。

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...