令和4年度 春期 システムアーキテクト試験 午前II 問4

組込みシステムでDBMSを用いるときには,通信のオーバヘッド,通信負荷の発生を防ぐこと,必要なメモリ容量をリソース制限内に抑えることなどを目的として,インプロセスデータベースを用いることがある。このインプロセスデータベースの説明として,適切なものはどれか。

解答・解説

正解: イ. データベースエンジンはライブラリ形式で提供され,アプリケーションプログラムとリンクされて同一メモリ空間で動作する。

インプロセスデータベースとは

インプロセスデータベースは、アプリケーションプログラムと 同一のプロセス(メモリ空間) で動作するデータベース管理システム(DBMS)です。
データベースエンジンがライブラリ形式で提供され、アプリケーションに組み込まれて動作します(代表例としてSQLiteなどがあります)。
クライアント・サーバ型のDBMSのように別プロセスや別サーバと通信する必要がないため、通信のオーバヘッドがない、省メモリ であるといった特徴があり、リソースの限られた組込みシステムなどでよく利用されます。

各選択肢の解説

  • ア: クライアントサーバ形式のクライアントとなるアプリケーションプログラムとソケットを介して通信し,SQLを用いて処理を記述する。
    • これは クライアント・サーバ型データベース(MySQLやPostgreSQLなど)の説明です。通信のオーバヘッドが発生するため、インプロセスデータベースの説明としては不適切です。
  • イ: データベースエンジンはライブラリ形式で提供され,アプリケーションプログラムとリンクされて同一メモリ空間で動作する。
    • 正解です。 インプロセスデータベースの正しい説明です。
  • ウ: データベースの全体をメモリ上に配置して,データベース処理を高速化する。
    • これは インメモリデータベース の説明です。データをディスクではなく主記憶(メモリ)上に保持することで高速化を図るものであり、インプロセスデータベースとは異なる概念です。
  • エ: 一つのテーブルを一つのファイルで管理し,アプリケーションプログラムからはファイル入出力のAPIで操作する。
    • これは単なる ファイルベースのデータ管理 の説明です。DBMSの機能を備えたインプロセスデータベースの説明としては不適切です。

Spineチーム