DP-900-CORE#80-2
注: この問題は、同じ前提を持つ一連の問題の一部です。それぞれの問題には異なる解決策が提示されます。
前提
ある製造業の本社が、各工場の生産ライン センサーから 1 分あたり数万件のテレメトリ (温度・圧力・振動・稼働状態) を収集し、(1) リアルタイム ダッシュボードで異常を即時可視化、(2) 過去 5 年分の蓄積データから故障予兆を分析、(3) 工場別の月次レポートを作成、の 3 目的を同時に達成したいと考えています。
解決策
Azure SQL Database (Single Database) のみを構築し、すべてのセンサー データをそこに INSERT し、3 つの目的 (リアルタイム ダッシュボード、5 年分析、月次レポート) をすべて同じ DB へのクエリで対応する。
この解決策は目的を満たしますか?
解説
【判定: いいえ】の理由
本提案はスケール・コスト・性能のすべてに重大な問題があり、3 目的のいずれも実用レベルでは満たせません。
正しいアプローチは目的別にサービスを分離する Lambda / Kappa アーキテクチャです (#80-1 / #80-3 を参照してください)。
【「はい」が違う理由】
単一 SQL Database では取り込みスループット、長期保存コスト、集計クエリ性能の全てで限界に達するため、要件達成度がゼロに近くなります。
出典: Microsoft Learn — Choose a data store on Azure
本提案はスケール・コスト・性能のすべてに重大な問題があり、3 目的のいずれも実用レベルでは満たせません。
| 問題 | 詳細 |
|---|---|
| 取り込み スループット不足 | 1 分あたり数万件 = 秒数百件以上の INSERT となり、SQL Database の OLTP 設計では持続的バルク取り込みでスロットリングが発生します |
| 長期保存コスト過大 | SQL Database は GB あたりの単価が高く、5 年 × 工場数で TB 級になり ADLS の 10〜100 倍のコストになります |
| 分析クエリの非効率 | RDB は行指向で大量集計に不向きであり、Parquet 列指向比で 10〜100 倍の処理時間がかかります |
| 責務混在のアンチパターン | OLTP / リアルタイム ストリーミング / 長期分析を 1 DB に混在させることは設計禁則です |
正しいアプローチは目的別にサービスを分離する Lambda / Kappa アーキテクチャです (#80-1 / #80-3 を参照してください)。
【「はい」が違う理由】
単一 SQL Database では取り込みスループット、長期保存コスト、集計クエリ性能の全てで限界に達するため、要件達成度がゼロに近くなります。
出典: Microsoft Learn — Choose a data store on Azure

コメント