システムアーキテクト試験 2022年 午前204


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

解説

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

要点まとめ

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

正解の理由

選択肢イは「データベースエンジンがライブラリ形式で提供され、アプリケーションと同一メモリ空間で動作する」と説明しており、これがインプロセスデータベースの本質です。組込みシステムでのリソース制限や通信負荷軽減の目的に合致し、外部プロセスとの通信が不要なため高速かつ軽量に動作します。

よくある誤解

インプロセスデータベースは必ずしも全データをメモリ上に置くわけではなく、クライアントサーバ型のように通信を伴う構成でもありません。

解法ステップ

  1. 問題文から「インプロセスデータベース」の特徴を把握する。
  2. 通信オーバーヘッドやメモリ制限に関する説明に注目する。
  3. 選択肢の中で「同一メモリ空間で動作する」ものを探す。
  4. クライアントサーバ型やメモリ全体配置の説明は除外する。
  5. 最も適切な説明を選択する。

選択肢別の誤答解説ステップ

  • ア:クライアントサーバ形式の説明であり、インプロセスデータベースの特徴とは異なります。通信負荷が発生します。
  • :正解。ライブラリ形式でアプリケーションと同一メモリ空間で動作し、通信オーバーヘッドを削減します。
  • ウ:全データをメモリ上に配置するインメモリデータベースの説明であり、インプロセスデータベースとは異なります。
  • エ:ファイル単位で管理しファイルAPIで操作する方式で、インプロセスデータベースの定義とは異なります。

補足コラム

インプロセスデータベースはSQLiteなどが代表例で、組込み機器やモバイルアプリで広く利用されています。外部サーバとの通信が不要なため、リアルタイム性や省リソース性が求められる環境に適しています。

FAQ

Q: インプロセスデータベースとインメモリデータベースは同じですか?
A: いいえ。インプロセスは同一プロセス内で動作するDBMSを指し、インメモリはデータを主にメモリ上に保持するDBMSを指します。両者は異なる概念です。
Q: クライアントサーバ型DBMSは組込みシステムで使えませんか?
A: 通信負荷やリソース制限の観点から不向きな場合が多いですが、用途によっては利用されることもあります。

関連キーワード: インプロセスデータベース, 組込みシステム, SQLite, DBMS, 通信オーバーヘッド, メモリ制限
← 前の問題へ次の問題へ →

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