2010-12-11 36 views
0

Si je stocke les données toutes les secondes, la base de données va se développer rapidement. J'ai besoin d'avoir moins de détails sur les mesures de quelques semaines/mois. Une moyenne serait suffisante. J'ai 5 capteurs: la vitesse du vent, la direction du vent, la température, la lumière et la pluie. Comment pourrais-je concevoir ma base de données?Conception de la base de données des stations météo, réception de chaque seconde données de capteur

+0

Est-ce ce devoir? Pas de problème pour aider aux devoirs, mais si c'est le cas, vous ferez mieux si vous montrez ce que vous avez jusqu'ici et demandez un examen de cette question ou des questions spécifiques sur les aspects. Les devoirs sont à votre avantage. – Richard

+0

Vous pourriez obtenir plus d'aide si vous postez un design sur lequel vous avez travaillé et demandez aux gens de l'examiner, plutôt que de simplement demander à d'autres de faire le travail pour vous. – Tony

Répondre

0

Eh bien, je concevrais une table pour les données actuelles, puis des tables avec des données agrégées. De temps à autre (peut-être une fois par mois/semaine/mois), j'agrégeais les données, les écrivais dans les tables et les supprimais des données actuelles. J'aurais exactement le même tableau (champs: identifiant de mesure, vitesse du vent, direction du vent, température, lumière et pluie, horodatage) pour chaque niveau d'agrégation dont j'ai besoin.

  1. measurements_weekly
  2. measurements_daily_average
  3. measurements_weekly_average
  4. measurements_monthly_average
  5. measurements_yearly_average

Cela présente plusieurs avantages: Les données peuvent être gérées séparément (rapports de sauvegarde/détaillées, etc.). Vous avez juste besoin d'une procédure d'agrégation pour tous les niveaux d'agrégation et exécutez-la avec différentes périodes et tables en tant qu'arguments. Les requêtes sur n'importe quelle table et donc l'analyse seront rapides et performantes.

Si vous n'aimez pas les structures apparemment redondantes, deux tables peuvent suffire: une pour les mesures et une pour les mesures agrégées, qui doivent alors inclure une période. Mais cette approche introduira de la complexité dans vos routines d'agrégation et toute analyse, donc je ne l'utiliserais pas.