Da ich datenbanktechnisch länger nicht aktiv unterwegs war benötige ich Unterstützung bei einem Datenbankdesign
Szenario:
Ich bekomme einen Timestamp und eine Zahl geliefert. Diese sollen später nach Stunde/Tag/Woche/Monat/Jahr ausgewertet werden.
Pro Tag werden aktuell ca. 100 neue Einträge erwartet. Kann jedoch bis zu 10.000/Tag ansteigen.
geplante Umsetzung:
Speicherung der Daten auf Stundenbasis (kleinste Granularität).
Es gibt zu beginn 5 verschiedene ID's. Pro ID kann es in Verbindung mit einer Stunde nur 1! Wert geben. Deswegen ergibt die Kombination aus id und timestamp den primary key.
tabelle(id,timestamp,zahl);
Fragen
Es werden Auswertungen nach Stunden/Tag/Woche/Monat/Jahr vorgenommen.
Ist es sinnvoll Aggregate in eigenen Tabellen (Tag,Woche,Monat, Jahr) anzulegen?
Wenn ja, gibt es eine Möglichkeit bei einem neuen Eintrag automatisch in die anderen Tabellen(Tag/Woche...) weiterzuschreiben (Aggregation)?
Ich hoffe mein Anliegen ist soweit verständlich
Freue mich auf Unterstützung/Verbesserungen
Szenario:
Ich bekomme einen Timestamp und eine Zahl geliefert. Diese sollen später nach Stunde/Tag/Woche/Monat/Jahr ausgewertet werden.
Pro Tag werden aktuell ca. 100 neue Einträge erwartet. Kann jedoch bis zu 10.000/Tag ansteigen.
geplante Umsetzung:
Speicherung der Daten auf Stundenbasis (kleinste Granularität).
Es gibt zu beginn 5 verschiedene ID's. Pro ID kann es in Verbindung mit einer Stunde nur 1! Wert geben. Deswegen ergibt die Kombination aus id und timestamp den primary key.
tabelle(id,timestamp,zahl);
Fragen
Es werden Auswertungen nach Stunden/Tag/Woche/Monat/Jahr vorgenommen.
Ist es sinnvoll Aggregate in eigenen Tabellen (Tag,Woche,Monat, Jahr) anzulegen?
Wenn ja, gibt es eine Möglichkeit bei einem neuen Eintrag automatisch in die anderen Tabellen(Tag/Woche...) weiterzuschreiben (Aggregation)?
Ich hoffe mein Anliegen ist soweit verständlich
Freue mich auf Unterstützung/Verbesserungen
