データベースエンジン【database engine】

データベースエンジンとは?

データベース管理システムDBMS)の内部でデータの格納や検索、更新、削除を実際に処理するソフトウェア部品。利用者やアプリケーションからの要求をデータの物理的な読み書きとして実現する中核的な機構である。
データベースエンジンのイメージ画像

リレーショナルデータベース(RDB)の場合、SQLなどのクエリ言語で記述された命令を受け付ける。エンジンはクエリを解析して実行計画を立案し、ストレージメモリ上のデータに対して実際の操作を行う。この処理にはクエリオプティマイザやストレージ管理機構など複数のサブシステムが関与しており、大量のデータを高速に扱うために索引やキャッシュといった仕組みも用いられる。

複数の利用者やプログラムが同時にアクセスする環境では、データの整合性を保つ機能が重要となる。同一データへの並行した書き込みによる矛盾を防ぐ排他制御や、障害発生時にデータを以前の状態へ戻すためのジャーナリングなどの仕組みが組み込まれている。これらの機能は「ACID特性」(原子性・一貫性・独立性・耐久性)として整理されており、金融取引や予約管理のような正確性が求められるシステムの信頼性を支えている。

データベースエンジンには小規模機器向けに軽量化されたものから、大規模企業システム向けに高可用性や分散処理機能を備えたものまで、規模や要件に応じた多様な実装が存在する。一つのDBMSが複数のエンジンを持ち、用途に応じて切り替えられる場合もある。例えば、MySQLでは「InnoDB」や「MyISAM」を選択でき、読み取り速度を重視するものや書き込み耐性を重視するものなど、エンジンの特性から用途に合ったものを選ぶ。

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。