データを毎秒保存すると、データベースは急速に大きくなります。数週間/数か月前の測定の詳細を少なくする必要があります。平均で十分でしょう。私は5つのセンサーを持っています:風速、風向、温度、光と雨。データベースをどのように設計しますか?
1002 次
1 に答える
0
そうですね、現在のデータ用のテーブルを設計してから、集計データを含むテーブルを設計します。ときどき (おそらく、毎晩、毎週、または毎月実行)、データを集計し、テーブルに書き込み、現在のデータから削除します。
必要な集計レベルごとにまったく同じテーブル (フィールド: 測定 ID、風速、風向、温度、光と雨、タイムスタンプ) が必要です。
- 測定値_毎週
- 測定値_毎日_平均
- 測定値_週次_平均
- 測定値_月間_平均
- 測定値_年間_平均
これにはいくつかの利点があります。 データを個別に管理できます (バックアップ/詳細レポートなど)。すべての集計レベルに対して 1 つの集計プロシージャが必要であり、異なるタイムスパンとテーブルを引数として実行するだけです。任意のテーブルに対するクエリ、したがって分析は高速でパフォーマンスが向上します。
冗長に見える構造が気に入らない場合は、2 つのテーブルでも十分な場合があります。しかし、このアプローチでは、集計ルーチンや分析が複雑になるため、私は使用しません。
于 2010-12-11T14:25:19.590 に答える