Suche gutes Datenbankschema

Zei7i

Grünschnabel
Hi Leutz,

Ich habe folgendes Problem:

Ich hab Wetterdaten in einer speziellen Form vorliegen, was aber hier nicht sonderlich wichtig ist.

Zusammenfassend ausgedrückt habe ich ca 120 000 Messpunkte, diese haben eine Latitude- und Longitude-Angabe.
Jeder dieser Messpunkte verfügt über 17 verschiedene Messwerte. Hinzu kommen nun das jeder Messpunkt 17 Messwerte pro "Zeiteinheit" hat.

Ich möchte diese Werte nun in eine relationale Datenbank, PostGresSQL überführen. Doch dazu brauche ich ein Schema für die Ablage der Daten.
Das Problem an dieser Stelle ist die schiere Grösse der Daten.

Meine erste Idee war eine Tabelle mit Positionsangaben für jeden Messpunkt anzulegen, zusammen mit einem Schlüssel. Als nächstes würde eine Tabelle mit Datumsangaben kommen, die ebenfalls über einen Schlüssel verfügt.
Nun würde ich eine Tabelle "Relation" machen in der der Schlüssel eines Positionseintrages zusammen mit einem Schlüssel für eine Datumsangabe gespeichert wird. (Hier ist die Relation 1 Position kann N Zeiteinträge haben.)

Nun spaltet sich das weitere Vorgehen in mehrere Ansätze. Eine Idee wäre nun eine Tabelle für die Messwerte zu machen. Die erste Spalte wäre ein Schlüssel, der zu der eben genannten Tabelle "Relation" in Verbindung steht. Eine Zeile in dieser Tabelle würde nun aus dem Schlüssel bestehen, die sie zu dem Positions/Zeitangabe in Verbindung bringt und würde aus den 17 Messwerten bestehen.

Das Problem ist das diese Tabelle für beispielhaft einen Zeitraum von 24 Stunden, wenn eine Zeiteinheit 1 Stunde wäre folgende Grösse hätte:

120 000 Messpunkte * 17 Messwerte * 24 Zeinheiten = 48 960 000 Zeilen !

PostGresSQL hat eine maximal Grösse für Tabellen die bei 32 TB liegt, aber wie sieht das mit Indizierung und Geschwindigkeit aus, wenn ich über eine solch grosse Tabelle gehen möchte.

Typischer Anwendungsfall wäre beispielhaft für eine Position und einen Zeitraum die Messwerte zu holen.

Ich hoffe irgendjemand hat ne andere Idee, würde mich freuen :)


Vielen Dank


Zei7i
 
Ich kann jetzt leider nichts zu PostGresSQL im speziellen sagen.
Aber jede Datenbank kommt mit 50 Mio Einträgen klar.
Ich glaube nicht das du mehr als 1 Tabelle brauchst, aber ich bin nicht so 100% schlau geworden aus deinen Angaben.

Zur Geschwindigkeit würde ich einfach mal einen Test machen, aber bedenke je mehr Tabellen gejoint werden müssen um so langsamer wird es.
 
Zurück