Achim Schrepfer: MySQL und Anzahl von Datensätzen

Beitrag lesen

Hi,

Wie viele Datensätze kann man mit MySQL in venünftiger Zeit verwalten.

es ist zwar schon gesagt worden, dass Deine 30000 Datensätze für MySQL ein ziemlicher Pups sind (ein halbwegs gescheiter Rechner vorausgesetzt), aber ich wollte trotzdem noch meinen Senf dazu geben.

Ich habe mal einen Prototypen eines Prozessdatenvisualisierungssystems geschrieben, der Messdaten von grossen Industrieanlagen im Browser visualisieren kann (im Intra- wie auch im Internet). Jeder Standort (also eine Frabrik o.ä.) bekam seine eigene MySQL-Datenbank, in der die Messdaten gespeichert wurden. An einem Standort (in Simulation) kam es vor, dass bis zu 20 separate Messkanäle (Temparatur-, Geschwindigkeits- und andere Messgeräte) Werte in die Datenbank schrieben. Und zwar mit Samplingraten von bis zu einer 1/100tel Sekunde.

Für den Prototypen haben wir eine Anwendung mit
8 Kanälen, 1 32bit-Wert / Sekunde (1Hz)
4 Kanälen, 10 32bit-Werte / Sekunde (10Hz)
1 Kanal, 100 32bit-Werte / Sekunde (100Hz)
simuliert.

Das macht summa summarum pro Stunde:
60*60*8 = 28800 DS
60*60*4*10 = 144000 DS
60*60*1*100 = 360000 DS
also 532800 DS pro Stunde. Nettodatenmenge ca. 2MB, mit Kanal- und anderen Infos ca. 3MB. (Weis nicht mehr genau, wieviel Plattenplatz die Tabellen- und Indexdateien gebraucht haben...).

Die Anwendung lief auf einem 1Ghz, PIII mit 512MB RAM unter Red Hat Linux 7.0. Zusätzlich lief auf dem Rechner ein Apache-Webserver mit den Perl-Skripten für die Visualisierung der Daten. Um die zu übertragenden Daten möglichst kompakt zu halten, wurden die Visualisierungsgrafiken (Kurven, Diagramme...) anhand der Usereingaben auf dem Server berechnet und als .png-Grafik zum Browser geschickt.

Vielleicht ist dazu zu sagen, dass MySQL nur sehr einfache Queries bearbeiten musste und nur in den wenigsten Fällen kleine Teilmengen dieser Daten irgendwie zu sortieren oder zu sonstwasen hatte. Ausserdem wurde diese Menge an Datensätzen nicht ganz in Echtzeit in die Datenbank geschrieben, sondern von der Anwendung, die die Daten erfasst "mundgerecht" verabreicht.

Aus diesem Prototypen ergab sich zwar, dass das Projekt in dieser Form nicht realisierbar war, aber MySQL hat die Simulation locker überstanden. Insgesamt haben wir ca. drei-vier Stunden aufgezeichnet.

Viele Grüsse
 Achim Schrepfer