データベースで、次のスキーマを使用してツールのリストを管理しています。
[id] int PRIMARY
[name] varchar
各ツールは数秒ごとに測定値を出力します。このスキーマを使用して OLAP ストアに保存します。
[toolID] int
[time] timestamp
[measurement] int
(まだ OLAP ストアを選択していませんが、実行するデータ量、セマンティクス、およびクエリの種類から、OLAP ストアが必要であると想定しています)
測定値が 100 を超えるツール名のリストを照会するにはどうすればよいですか? 課題は、OLAP ストアと OLTP ストアの両方のデータを結合する必要があることです。
オプション 1 - 測定ごとにツール名も OLAP に保存します (非正規化)。問題は、測定後にツール名が変更された可能性があり、最新のものを必要とすることです。また、ツールごとにさらに多くの詳細 (および詳細データ) が存在する可能性がありますが、測定ごとにすべてを保存する意味があるかどうかはわかりません。
オプション 2 - OLAP は ID のリストのみを返します。次に、OLTP にクエリを発行して名前を取得します。これには、多くの ID が埋め込まれた SQL クエリが必要であり、正しくないようです。
オプション 3 - すべての OLTP データを数分ごとに OLAP に同期します。しかし、OLAP ツールは更新用に最適化されていないため (Vertica など)、これは効率的ではないようです。