データの基礎応用
あるECサイトが既存のRDBMS(SQL Server)から、1日10億件のセンサーイベントデータを毎秒取り込む要件に変更されました。既存のトランザクションログ(トランザクション分離レベル: READ COMMITTED)でDirty Readを防いでいたこのシステムが、新要件下で大量のロック競合が発生して書き込み性能が急落した場合、最も効果的な対策はどれか?
A.分離レベルをREAD UNCOMMITTEDに引き下げてロック時間を最小化する
✗ READ UNCOMMITTEDではDirty Readが発生し、センサーデータの正確性が失われます。既存要件に矛盾します。
B.スナップショット分離(SNAPSHOT ISOLATION)に移行して、ロック不要の一貫性を実現する← 正解
✓ 正解です。SNAPSHOT分離はロック競合を回避しながら読み取り一貫性を保証し、OLTP型の大量書き込みに最適です。
C.トランザクションログのバッチサイズを増やしてロック頻度を低減する
✗ バッチサイズ調整ではロック競合そのものは解決されず、毎秒10億件の規模では効果が限定的です。
D.ACIDトランザクション保証を放棄して、最終的一貫性に切り替える
✗ 最終的一貫性ではセンサー値の即座の正確性が失われ、リアルタイム異常検知の要件に対応できません。
この問題のポイント
SNAPSHOT分離はロック競合を回避しながら読み取り一貫性を保証し、OLTP型の大量書き込みに最適です。
「データの基礎」の他の問題
ある製造工場がQC検査ラインで以下4種類のデータを収集しています。「半構造化データ」に分類されるのはどれか?ある銀行が2つのシステムを運用しています。①ATM出金処理(毎秒数千件・ACID保証必須・即時応答)と②全支店の月次収益…あるECサイトが「注文を受けた瞬間に在庫を引き当て、15秒以内に在庫不足アラートを送信する」要件を持っています。最も適し…データパイプラインの設計で「生データのままAzure Synapse Analyticsへロードし、Synapseの大規…ネット銀行が「A口座から1万円引き落とし」と「B口座に1万円入金」を同一トランザクション内で実行中にシステム障害が発生し…注文管理テーブルに「注文ID・顧客名・顧客住所・商品名・商品単価・数量」が1テーブルに入っており、同一顧客が別注文をする…
IT・クラウド の関連資格
AWS Certified Cloud Practitioner(CLF-C02)
AWSクラウドの入門資格。クラウドの概念・AWSのコアサービス・セキュリティ・料金モデルを問う。
AWS Certified Solutions Architect - Associate(SAA-C03)
AWSでのシステム設計能力を問うアソシエイト資格。高可用性・セキュリティ・コスト最適化の設計が中心。
AZ-900:Microsoft Azure Fundamentals
クラウドとAzureの基礎を問うMicrosoft認定資格。クラウドの概念、Azureの主要サービス、セキュリティ・コンプライアンス・料金を扱う。