平成25年度 春期28テクノロジ系

基本情報 平成25年度 春期 問28:テクノロジ系に関する問題

クライアントサーバシステムにおいて, 利用頻度の高い命令群をあらかじめサーバ 上の DBMS に用意しておくことによって, データベースアクセスのネットワーク負荷 を軽減する仕組みはどれか。

  • a2 相コミットメント
  • bグループコミットメント
  • cサーバプロセスのマルチスレッド化 ストアドプロシージャ
  • dH ざへ ヽ正答
正答:DH ざへ ヽ

AI解説(初心者・標準・上級)

理解度に合わせて3レベルの解説を無料で読めます。

初心者向けまずはここから。やさしく要点を解説

答えは d「ストアドプロシージャ」 です(OCRが乱れていますが、正答はストアドプロシージャ)。

クライアント(PC)からサーバ(データベース)に「これやって、次はこれ」と毎回個別命令を送ると通信回数が増えて遅くなります。そこで、よく使う命令のセットをサーバ側に保存しておく仕組みがストアドプロシージャ。

たとえばよく使う計算をマクロにしてExcelに保存しておき、ボタン一押しで実行するイメージ。

👉 覚え方:「ストアド=Stored=保存済みの処理。サーバ側で実行」。

ほかの選択肢:a 2相コミットは分散DBの整合性/b グループコミットは複数の更新を一括/c マルチスレッド化は処理の並列化。

標準試験対策の基準レベル

なぜこれが正解か

正解は d(OCR乱れあり、ストアドプロシージャが正答)。ストアドプロシージャは、複数のSQL文や処理ロジックをDBMS上に事前登録しておく機能。クライアントは1つの呼び出しで複数処理を実行できるため、SQL文ごとの通信が不要となりネットワーク負荷を軽減できる。

各選択肢の解説

  • a 2相コミット:分散トランザクションでの整合性保証技法(複数DBに対する一貫したコミット)。
  • b グループコミット:複数トランザクションのコミット処理をまとめて実行しディスクI/Oを削減する技法。
  • c マルチスレッド化:サーバプロセスを複数スレッドで並列処理する技法(スループット向上)。
  • d ストアドプロシージャ:サーバ側に処理を保存しネットワーク負荷軽減

覚え方・ひっかけ注意

ストアドプロシージャ=サーバ側に保存された手続き=呼び出し1回で複数処理」。利点は (1)ネットワーク負荷軽減、(2)処理高速化(プリコンパイル)、(3)セキュリティ(直接SQL公開不要)、(4)ロジック集約。欠点はDBMS依存(移行困難)。トリガー(自動実行)、ストアドファンクション(戻り値あり)と区別すること。

上級誤答論破・背景理論まで深掘り

理論的背景

ストアドプロシージャはRDBMS内に格納される手続き型コードで、SQL拡張言語(Oracle PL/SQL、SQL Server T-SQL、PostgreSQL PL/pgSQL、MySQL Stored Procedure)で記述される。事前にDBMS内部表現にコンパイル/解析されるため実行効率が高く、ネットワーク往復削減でレイテンシ短縮効果が大きい。関連機能として ストアドファンクション(戻り値あり、SELECT文中で利用可)、トリガー(INSERT/UPDATE/DELETEイベントで自動起動)、パッケージ(複数プロシージャをまとめる、Oracle PL/SQL)がある。

実務での使われ方

金融機関・大規模基幹系で長年活用されてきた中核技術。バッチ処理、複雑なビジネスロジック、トランザクション境界制御を一元化。マイクロサービス時代は ストアドプロシージャ批判(DBMS依存・テスト困難・スケール難)も強まり、ビジネスロジックをアプリケーション層に移す設計が主流化。それでもデータ整合性が最優先される領域(会計・在庫・決済)では現役技術。NoSQL/分散DBでは類似機能として MongoDBのAggregation Pipeline、Cassandraのユーザ定義関数、Redis Luaスクリプト等が用意される。

試験での位置づけ

FE・APデータベース分野で頻出。SQL基礎、トランザクション制御、分散DB、レプリケーション、データベースチューニングと併せて押さえる。応用情報・データベーススペシャリストでは具体的なPL/SQL・T-SQL構文、カーソル処理、例外処理、トランザクション分離レベルまで踏み込む。

選択肢の発展補足

2相コミット(a:2PC, Two-Phase Commit)は分散トランザクションの古典プロトコルで、準備フェーズ(PREPARE)→ コミットフェーズ(COMMIT)の2段階で全ノードの合意を取る。XA仕様(X/Open)が標準だが、ブロッキングと単一障害点が課題で、近年はSagaパターン(補償トランザクション)や結果整合性(Eventual Consistency)が代替手法として採用される。グループコミット(b)はWAL(Write-Ahead Logging)の書き込みを集約してディスクI/Oを削減する技法でPostgreSQL/MySQLで実装済み。マルチスレッド化(c)はOracle MTS(Multi-Threaded Server)が古典例で、コネクションプールと組み合わせ多数クライアント対応の標準アーキテクチャ。

出典・引用について

出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成25年度 春期28/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。

テクノロジ系の他の過去問

1
テクノロジ系
2
テクノロジ系
3
テクノロジ系
4
テクノロジ系
5
テクノロジ系

あなたの弱点を診断して、合格までの最短ルートを

この分野を連続演習し、AIがあなたの弱点を分析。合格ナビなら基本情報の過去問を解きながら学べます。