令和6年度 春期 午前Ⅱ 問2
データベース
インプロセスデータベースの説明
組込みシステムで DBMS を用いるときには,通信のオーバーヘッド,通信負荷の発生を防ぐこと,必要なメモリ容量をリソース制限内に抑えることなどを目的として,インプロセスデータベースを用いることがある。このインプロセスデータベースの説明として,適切なものはどれか。
- アクライアントサーバ形式のクライアントとなるアプリケーションプログラムとソケットを介して通信し,SQL を用いて処理を記述する。
- イデータベースエンジンはライブラリ形式で提供され,アプリケーションプログラムとリンクされて同一メモリ空間で動作する。
- ウテーブルデータの全体をメモリ上に配置して,データベース処理を高速化する。
- エ一つのテーブルを一つのファイルで管理し,アプリケーションプログラムからはファイル入出力の API で操作する。
答えと解説を見る
✓ これが正解イデータベースエンジンはライブラリ形式で提供され,アプリケーションプログラムとリンクされて同一メモリ空間で動作する。
解説
エンジンがライブラリとしてアプリと同じメモリ空間で動く方式です。
インプロセスデータベースは、名前のとおりアプリケーションプログラムと同じプロセスの中で動くデータベースです。データベースエンジンがライブラリの形で提供され、アプリケーションプログラムにリンクされて同一のメモリ空間で動作します。別のサーバプロセスと通信する必要がないので、通信のオーバーヘッドが生じず、DBMS のために別のプロセスを常駐させるメモリも抑えられます。設問が挙げる目的は、まさにこの性質から出てくるものです。見分ける軸は、エンジンがどこで動くか、アプリとの間に通信があるかです。インプロセスは同じプロセスの中、と言葉の意味どおりに覚えておくと選べます。
ほかの選択肢はなぜ違うのか
- アクライアントサーバ形式のクライアントとな…:ソケットを介してアプリケーションプログラムと通信する形は、クライアントサーバ形式の DBMS の姿です。プロセス間の通信が残るため、通信のオーバーヘッドを避けたいという設問の目的には合いません。
- ウテーブルデータの全体をメモリ上に配置して…:テーブルデータ全体をメモリ上に置いて速くするのは、インメモリ型のデータベースの考え方です。データの置き場所の話であり、エンジンがアプリと同じプロセスで動くかどうかとは別の観点です。
- エ一つのテーブルを一つのファイルで管理し,…:一つのテーブルを一つのファイルで持ち、ファイル入出力の API で操作する形は、データの格納方法を述べたものです。エンジンをライブラリとしてリンクして動かすという、インプロセスの要点が書かれていません。
この問題の用語
- クライアントサーバサービスを求める側と提供する側に役割を分けて、処理を分担するしくみです。求める側をクライアント、こたえる側をサーバと呼びます。
- DBMSデータベースを管理するソフト。複数の処理が同じデータを同時に更新しても矛盾しないよう、排他制御などを行います。
- データベースたくさんのデータを決まった形で貯め、探したり書き換えたりできるようにした仕組み。多くの人が同時に使うことを前提にしています。
出典:令和6年度 春期 システムアーキテクト試験 午前Ⅱ 問2
同じ用語が出る問題
- 令和6年度 春期 午前Ⅱ 問24:デッドロックに関する問題(DBMS)
- 令和6年度 春期 午前Ⅱ 問14:WTO政府調達協定に関する記述(データベース)
- 令和6年度 春期 午前Ⅱ 問13:デザイン思考の説明(データベース)
- 令和5年度 春期 午前Ⅱ 問24:コミット処理を完了するタイミング(DBMS)
- 令和4年度 春期 午前Ⅱ 問4:インプロセスデータベースの説明(クライアントサーバ)
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)