データベースエンジン
データベースエンジン (英: database engine)は、データベース管理システム(DBMS)がデータベースからデータを作成、読み取り、更新、削除(CRUD)するために使用する基盤となるソフトウェア部品のこと。ストレージエンジン (英:storage engine)とも呼ばれる。ほとんどのデータベース管理システムには、ユーザーがDBMSのユーザーインターフェイスを経由しなくても基盤となるエンジンと対話できるAPIが実装されている。APIの利用時には、TCP/IPの特定のポート番号を使って通信を行う場合がある。
「データベースエンジン」という用語は、「データベースサーバー」または「データベース管理システム」と同じ意味で使われることもある。 「データベースインスタンス」は、実行中のデータベースエンジンのプロセスとメモリ構造のことを指す。
データ構造は、明確に定義された方法でデータを埋め込む抽象的な構造である。効率的なデータ構造により、効率的な方法でデータを操作できる。データ操作には、さまざまなモードでのデータの挿入、削除、更新、および取得が含まれる。特定のデータ構造型は、特定の操作では非常に効果的であり、他の操作ではそうならない。データ構造型は、DBMSの開発時に、含まれるデータ型に必要な操作に最適になるように選択される。特定のタスク用に選択されたデータ構造型は、通常、それが存在するストレージの種類(たとえば、アクセス速度、アクセスされるストレージチャンクの最小サイズなど)も考慮に入れる。一部のDBMSでは、データベース管理者は、パフォーマンス上の理由から、データ構造のオプションからユーザーデータを含めるように柔軟に選択できる。データ構造には、データベースのパフォーマンスを調整するための選択可能なパラメーターがある場合がある。
データベースは、多くのデータ構造タイプでデータを格納できる。 一般的な例は次の通りである。
順序付けされた/順序付けられていないフラットファイル
ハッシュテーブル
B+木
ISAM
ヒープ