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

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

2014年09月11日 08時00分 公開
[Chris EvansComputer Weekly]

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

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

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

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

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

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

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

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

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

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




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






Copyright © ITmedia, Inc. All Rights Reserved.

From Informa TechTarget

お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。

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

news023.jpg

世界のモバイルアプリ市場はこう変わる 2025年における5つの予測
生成AIをはじめとする技術革新やプライバシー保護の潮流はモバイルアプリ市場に大きな変...

news078.png

営業との連携、マーケティング職の64.6%が「課題あり」と回答 何が不満なのか?
ワンマーケティングがB2B企業の営業およびマーケティング職のビジネスパーソン500人を対...

news125.jpg

D2C事業の約7割が失敗する理由 成功企業との差はどこに?
クニエがD2C事業の従事者を対象に実施した調査の結果によると、D2C事業が成功した企業は...