0

データを毎秒保存すると、データベースは急速に大きくなります。数週間/数か月前の測定の詳細を少なくする必要があります。平均で十分でしょう。私は5つのセンサーを持っています:風速、風向、温度、光と雨。データベースをどのように設計しますか?

4

1 に答える 1

0

そうですね、現在のデータ用のテーブルを設計してから、集計データを含むテーブルを設計します。ときどき (おそらく、毎晩、毎週、または毎月実行)、データを集計し、テーブルに書き込み、現在のデータから削除します。

必要な集計レベルごとにまったく同じテーブル (フィールド: 測定 ID、風速、風向、温度、光と雨、タイムスタンプ) が必要です。

  1. 測定値_毎週
  2. 測定値_毎日_平均
  3. 測定値_週次_平均
  4. 測定値_月間_平均
  5. 測定値_年間_平均

これにはいくつかの利点があります。 データを個別に管理できます (バックアップ/詳細レポートなど)。すべての集計レベルに対して 1 つの集計プロシージャが必要であり、異なるタイムスパンとテーブルを引数として実行するだけです。任意のテーブルに対するクエリ、したがって分析は高速でパフォーマンスが向上します。

冗長に見える構造が気に入らない場合は、2 つのテーブルでも十分な場合があります。しかし、このアプローチでは、集計ルーチンや分析が複雑になるため、私は使用しません。

于 2010-12-11T14:25:19.590 に答える