ホーム > システムアーキテクト試験 > 2024年
システムアーキテクト試験 2024年 午前2 問02
組込みシステムでDBMSを用いるときには、通信のオーバーヘッド、通負荷の発生を防ぐこと、必要なメモリ容量をリソース制限内に抑えることなどを目的として、インプロセスデータベースを用いることがある。このインプロセスデータベースの説明として、適切なものはどれか。
イ:データベースエンジンはライブラリ形式で提供され、アプリケーションプログラムとリンクされて同一メモリ空間で動作する。(正解)
ウ:テーブルデータの全体をメモリ上に配置して、データベース処理を高速化する。
エ:一つのテーブルを一つのファイルで管理し、アプリケーションプログラムからはファイル入出力のAPIで操作する。
ア:クライアントサーバ形式のクライアントとなるアプリケーションプログラムとソケットを介して通信し、SQLを用いて処理を記述する。
解説
インプロセスデータベースの特徴と選択肢解説【午前2 解説】
要点まとめ
- 結論:インプロセスデータベースはアプリケーションと同一メモリ空間で動作し、通信オーバーヘッドを削減します。
- 根拠:データベースエンジンがライブラリ形式で提供され、アプリケーションに組み込まれるため、別プロセス間通信が不要です。
- 差がつくポイント:クライアントサーバ型との違いや、メモリ上全体配置型との混同を避けることが重要です。
正解の理由
イの「データベースエンジンはライブラリ形式で提供され、アプリケーションプログラムとリンクされて同一メモリ空間で動作する」は、インプロセスデータベースの本質を正確に表しています。
インプロセス型は外部のDBサーバと通信するのではなく、アプリケーション内部に組み込まれ、通信のオーバーヘッドやリソース消費を抑えられるため、組込みシステムに適しています。
インプロセス型は外部のDBサーバと通信するのではなく、アプリケーション内部に組み込まれ、通信のオーバーヘッドやリソース消費を抑えられるため、組込みシステムに適しています。
よくある誤解
- クライアントサーバ型と混同し、通信が必須と考える誤解があります。
- メモリ上に全データを置くインメモリ型と同じ意味と捉える誤解も多いです。
解法ステップ
- 問題文から「通信オーバーヘッドを防ぐ」「リソース制限内に抑える」目的を確認する。
- インプロセスデータベースの特徴を思い出し、アプリケーションと同一メモリ空間で動作する点を重視。
- 選択肢を比較し、通信を伴うクライアントサーバ型やメモリ全体配置型は除外。
- ライブラリ形式でリンクされる説明がある選択肢を正解と判断。
選択肢別の誤答解説
- ア:クライアントサーバ形式でソケット通信を行うため、通信オーバーヘッドが発生し、インプロセス型ではありません。
- イ:正解。ライブラリ形式で同一メモリ空間で動作し、通信負荷を抑えられます。
- ウ:テーブル全体をメモリ上に置くのはインメモリデータベースの特徴であり、インプロセス型の説明としては不適切です。
- エ:ファイル単位で管理し、ファイル入出力APIで操作するのは単純なファイルベース管理であり、DBMSの特徴を満たしません。
補足コラム
インプロセスデータベースはSQLiteが代表例で、組込み機器やモバイルアプリで広く使われています。
通信負荷を減らしつつ、SQLによる柔軟なデータ操作が可能なため、リソース制限の厳しい環境に最適です。
一方、クライアントサーバ型は大規模システム向けで、ネットワーク越しのアクセスが前提となります。
通信負荷を減らしつつ、SQLによる柔軟なデータ操作が可能なため、リソース制限の厳しい環境に最適です。
一方、クライアントサーバ型は大規模システム向けで、ネットワーク越しのアクセスが前提となります。
FAQ
Q: インプロセスデータベースはどのような環境で使われますか?
A: 組込みシステムやリソース制限のある環境で、通信負荷を抑えつつデータ管理が必要な場合に使われます。
A: 組込みシステムやリソース制限のある環境で、通信負荷を抑えつつデータ管理が必要な場合に使われます。
Q: インメモリデータベースとインプロセスデータベースは同じですか?
A: いいえ。インメモリはデータを全てメモリ上に置く方式で、インプロセスはアプリケーションと同一プロセス内で動作するDBMSの形態です。
A: いいえ。インメモリはデータを全てメモリ上に置く方式で、インプロセスはアプリケーションと同一プロセス内で動作するDBMSの形態です。
関連キーワード: インプロセスデータベース, 組込みシステム, DBMS, SQLite, クライアントサーバ, インメモリデータベース