qua: Datenbankverwaltung mit mehr als 1,5Mrd Datensaetzen...

Beitrag lesen

Ich habe eine Datenbank mit mehr als 1,5Mrd Datensaetzen (das sind mehr als 25GB Festplattenspeicher). Eine Tabelle hat knapp 125Mio Datensaetze. Die Tabellen besitzen keinen Index, weil der sonst den Speicher der Tabellen verdoppeln wuerde.

Ich wollte nun, wie gewohnt, eine Abfrage an die Datenbank stellen und das Ergebnis in ein Array speichern. Schnell fand ich heraus, dass das Array zu klein wurde.

Eine Tabelle ist folgendermaßen aufgebaut: Datum, source, destination, packets, bytes.
Die summierten Bytes pro interner source oder destination sollen ausgegeben werden. Nun ist es aber so, dass eine "normale" Abfrage allein schon knapp 4Minuten dauert. Eine Abfrage mit Gruppierung (wegen SUM ()) dauert schon knappe 20Minuten.
Eine Abfrage nach Tag brachte immernoch ueber 3Mio Datensaetze, wo ich wieder einen FATAL ERROR bekam, wo mir die Groesse des Arrays als zu klein beschrieben wurde.
Also brachte ich in meine Abfrage eine WHERE-Klausel mit ein, wo ich pro Tag ein Array errichtete. Aber 30 Arrays (Die Daten sind pro Monat) bringen mir auch nichts. ...
Langsam verlier ich echt den Ueberblick.
Weiß jmd vielleicht eine andere Loesung oder einen Loesungsansatz fuer mich?

Mfg q