インメモリデータベース 【in-memory database】 IMDB / メインメモリデータベース / main memory databse / MMDB
概要
インメモリデータベース(in-memory database)とは、データをメインメモリ上の領域に格納するよう設計されたデータベース。また、そのようなデータベースを構築・運用できるデータベース管理システム(DBMS)。インメモリデータベースでは原則としてすべてのデータをコンピュータのメインメモリ(主記憶装置/RAM)上に展開し、データの読み込みや追加、変更、削除をすべてメモリ上で完結させる。従来の、ハードディスクなどのストレージ(外部記憶装置)上に構築されるデータベースに比べ、データの読み書きを数百倍から数万倍も高速に行うことができる。
ただし、メインメモリ上のデータはコンピュータの電源を切ると失われてしまうため、システムの終了・再起動時や一定時間ごとなどに、メモリ上の内容をストレージに保存してデータの永続性を確保する機能が搭載されている。
また、トランザクションログや変更履歴(ジャーナル)などをストレージに記録したり、ネットワークを通じて別のコンピュータにデータベースの複製を取るレプリケーション機能などにより、不意な電源断などで内容が失われても、なるべく直近の状態を復元できるよう配慮されていることが多い。
メインメモリはストレージ装置に比べ高価であり、一台に搭載できる容量にも限りがある。インメモリデータベースは従来のデータベースシステムを何でも代替できるわけではなく、極めて短時間の応答が求められるシステムや、ストレージから配信するコンテンツの一時保管(キャッシュ)用など、適した用途は限られている。
オンディスクデータベース (on-disk database/disk-based database)
従来型のストレージに記録されるデータベースのことを「オンディスクデータベース」と呼ぶことがある。英語では “on-disk database” の他に “disk-based database” などの表現も用いられる。
ほとんどのデータベースシステムはこの方式であるため、このような呼び方をするのはインメモリデータベースと対比する文脈にほぼ限られる。データ容量や設定などにより、インメモリとしてもオンディスクとしても動作するハイブリッド型のデータベース製品もある。