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

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

解答・解説

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

インプロセスデータベース(In-process Database)とは、データベースエンジンが独立したサーバプロセスとしてではなく、ライブラリ形式でアプリケーションプログラムに組み込まれて動作するデータベースです。
アプリケーションと同一のメモリ空間(プロセス)で実行されるため、プロセス間通信やネットワーク通信のオーバーヘッドが発生せず、高速かつ省リソースで動作します。代表的なものに SQLite があります。組込みシステムやモバイルアプリなどで広く利用されます。

各選択肢の解説

  • ア:クライアントサーバ型のデータベース(MySQLやPostgreSQLなど)の説明です。ネットワーク(ソケット)を介して通信するため、オーバーヘッドが発生します。
  • イ:正解です。インプロセスデータベースの説明です。データベースエンジンがアプリケーションプログラムとリンクされ、同一のプロセス内で動作します。
  • ウ:インメモリデータベース(In-memory Database)の説明です。データをディスクではなく主記憶(メモリ)上に配置することで高速化を図る技術です。
  • エ:ファイルシステムのAPIを直接利用して操作する、単純なファイル管理(フラットファイルなど)の説明です。DBMSとしての機能(SQL処理やトランザクション管理など)を備えたインプロセスデータベースの説明としては不適切です。

Spineチーム