Je crée une base de données pour une application qui enregistre des données pour plusieurs nœuds différents. Les données enregistrées se présente comme suit:Modélisation de la journalisation temporelle sur plusieurs nœuds
- horodatage
- plusieurs valeurs entières
- plusieurs valeurs à virgule flottante
- peut-être une chaîne ou deux
Chaque noeud est interrogé séparément.
Je créerais une entrée de journal entre toutes les 10 minutes et toutes les 10 secondes (intervalle de journalisation variable), donc je regarderais (au maximum) sous 10k entrées par jour et par nœud. Je me demande comment structurer la base de données pour un meilleur accès/gestion des données. J'imagine que je voudrais accéder à au moins 30 jours de données historiques, et je veux être prêt pour 100s de nœuds. Initialement, j'ai pensé à créer une seule table avec des données de journal et à lier chaque entrée de journal à un nœud via une relation 1: 1, mais j'ai peur que ma table devienne trop grande dans ce scénario.
La création d'une table séparée pour chaque nœud est-elle une option viable?
Les commentaires/suggestions seraient utiles,
Merci!
Certaines questions: des données (lignes) sont insérées. Une fois inséré, les données sont-elles mises à jour? Les données datant de plus de 30 jours sont-elles régulièrement supprimées ou s'accumulent-elles pour toujours? Doit-on être en mesure de rapporter des données actuelles ou peut-il y avoir un délai (une heure, un jour) entre le moment où les données sont générées et les données mises à la disposition d'un utilisateur? Quelles seront-elles * en utilisant * les données pour - les grands rapports, l'analyse des tendances, alimentés dans un système ultérieur? La performance en sous-seconde est-elle critique, pour l'entrée ou la sortie? Ces questions et des questions similaires pourraient conduire à la décision OLTP par rapport à la conception de l'entrepôt. –
Réponses, par ordre de questions: Les données ne seront pas mises à jour, une fois enregistrées. Après les 30 jours, j'imagine qu'il serait déplacé vers une base de données d'archives, où il s'accumulerait pour toujours (si possible). La capacité de rapporter les données actuelles est cruciale, mais nous pouvons avoir un délai de quelques minutes.Les données seront utilisées pour les rapports, l'analyse, éventuellement introduits dans les systèmes ultérieurs. La performance en dessous de la seconde n'est pas un facteur, la résolution des secondes est plus que suffisante. – Goro