システムアーキテクト試験 2024年 午前202


組込みシステムでDBMSを用いるときには、通信のオーバーヘッド、通負荷の発生を防ぐこと、必要なメモリ容量をリソース制限内に抑えることなどを目的として、インプロセスデータベースを用いることがある。このインプロセスデータベースの説明として、適切なものはどれか。
データベースエンジンはライブラリ形式で提供され、アプリケーションプログラムとリンクされて同一メモリ空間で動作する。(正解)
テーブルデータの全体をメモリ上に配置して、データベース処理を高速化する。
一つのテーブルを一つのファイルで管理し、アプリケーションプログラムからはファイル入出力のAPIで操作する。
クライアントサーバ形式のクライアントとなるアプリケーションプログラムとソケットを介して通信し、SQLを用いて処理を記述する。

解説

インプロセスデータベースの特徴と選択肢解説【午前2 解説】

要点まとめ

  • 結論:インプロセスデータベースはアプリケーションと同一メモリ空間で動作し、通信オーバーヘッドを削減します。
  • 根拠:データベースエンジンがライブラリ形式で提供され、アプリケーションに組み込まれるため、別プロセス間通信が不要です。
  • 差がつくポイント:クライアントサーバ型との違いや、メモリ上全体配置型との混同を避けることが重要です。

正解の理由

の「データベースエンジンはライブラリ形式で提供され、アプリケーションプログラムとリンクされて同一メモリ空間で動作する」は、インプロセスデータベースの本質を正確に表しています。
インプロセス型は外部のDBサーバと通信するのではなく、アプリケーション内部に組み込まれ、通信のオーバーヘッドやリソース消費を抑えられるため、組込みシステムに適しています。

よくある誤解

  • クライアントサーバ型と混同し、通信が必須と考える誤解があります。
  • メモリ上に全データを置くインメモリ型と同じ意味と捉える誤解も多いです。

解法ステップ

  1. 問題文から「通信オーバーヘッドを防ぐ」「リソース制限内に抑える」目的を確認する。
  2. インプロセスデータベースの特徴を思い出し、アプリケーションと同一メモリ空間で動作する点を重視。
  3. 選択肢を比較し、通信を伴うクライアントサーバ型やメモリ全体配置型は除外。
  4. ライブラリ形式でリンクされる説明がある選択肢を正解と判断。

選択肢別の誤答解説

  • ア:クライアントサーバ形式でソケット通信を行うため、通信オーバーヘッドが発生し、インプロセス型ではありません。
  • :正解。ライブラリ形式で同一メモリ空間で動作し、通信負荷を抑えられます。
  • ウ:テーブル全体をメモリ上に置くのはインメモリデータベースの特徴であり、インプロセス型の説明としては不適切です。
  • エ:ファイル単位で管理し、ファイル入出力APIで操作するのは単純なファイルベース管理であり、DBMSの特徴を満たしません。

補足コラム

インプロセスデータベースはSQLiteが代表例で、組込み機器やモバイルアプリで広く使われています。
通信負荷を減らしつつ、SQLによる柔軟なデータ操作が可能なため、リソース制限の厳しい環境に最適です。
一方、クライアントサーバ型は大規模システム向けで、ネットワーク越しのアクセスが前提となります。

FAQ

Q: インプロセスデータベースはどのような環境で使われますか?
A: 組込みシステムやリソース制限のある環境で、通信負荷を抑えつつデータ管理が必要な場合に使われます。
Q: インメモリデータベースとインプロセスデータベースは同じですか?
A: いいえ。インメモリはデータを全てメモリ上に置く方式で、インプロセスはアプリケーションと同一プロセス内で動作するDBMSの形態です。

関連キーワード: インプロセスデータベース, 組込みシステム, DBMS, SQLite, クライアントサーバ, インメモリデータベース
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ