これは、大量のデータをデータベースに保存することについてのパズルです。
それぞれが複数の量の時系列を測定する、機械でいっぱいの施設があるとします。おもちゃの例で説明しようと思います。
MachineA
4つの温度と湿度を測定します。MachineB
1つの温度と5つの電圧を測定します。MachineC
風速と風向を測定します。測定は常に自動的に行われます。
各マシンはすべての独自の測定を同時に行いますが、時間間隔とオフセットはマシンによって異なります。つまり、行には、1つのタイムスタンプで取得された1台のマシンからの測定値のみを含めることができます。
実際には2000台のマシンがあります。つまり、マシンまたはマシンのタイプごとに個別のテーブルを使用することは実用的ではありません。
常にさまざまなマシンが追加されています。可能なすべての測定値にまたがる列のセットは実用的ではありませんMachineD
。塩分測定値を追加すると、事前に塩分について考える必要がなくなり、そのためだけに非常に大きなテーブルに新しい列を追加する必要があるためです。使用する1台のマシン。
典型的なクエリ:
MachineA
過去90日間の最高気温は?MachineB
過去7日間のすべての測定値は何でしたか?- 温度測定を行っているすべての機械の中で、昨日測定された最低温度は何でしたか?
- 温度測定を行った各マシンについて、昨日測定された最低温度はどれくらいでしたか?
- 塩分検出器を備えたどのマシンでも、昨年中に測定が行われましたか?
MachineC
の風速と気温に基づく風冷えは何MachineB
ですか?
これらの制約内でこれをどのように整理できますか?