• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Extreme Auslastung eines Datenbankservers

Hansii

Mitglied
Hallo liebe Leute,

ich bin gerade dabei, ein kleines Webprojekt zu planen, darin enthalten: eine LiveMap. Ich möchte eine LiveMap haben, die mindestens jede Sekunden aktualisiert wird. Da ca. 100-500 Objekte getrackt werden müssen, wären dass im schlimmsten Fall 500 Datensätze jede Sekunde, aber auch nur im Schlimmsten Fall.

Meine Frage:

Ich weiß, wenn es geht, braucht man einen sehr guten Datenbankserver. Ich weiß allerdings nicht, inwieweit MySQL da mitspielt. Die Datenbank soll einmal im Monat leer gemacht werden, wären also im schlimmsten Fall

500 Datensätze die Sekunde
= 1800000 Datensätze die Stunde
= 43200000 Datensätze am Tag
= 1296000000 Datensätze im Monat

Ich kann es mir schon fast denken, dass 1,2 Milliarden Datensätze viel zu extrem sind oder? Also jeder Datensatz hat 4 Spalten, davon die ID und ein Integer und 2 Floats. Zur Not würde ich die Datenbank auch Wöchtentlich (ca. 15 Millionen Datensätze) oder Täglich (ca 2 Millionen Datensätze) leeren. Mein ihr, dass so ein Traffic überhaput machbar ist, denn die Daten müssen ja auch noch SELECTED werden.

Wie würdet ihr am besten bis zu 500 Objekte tracken? Möglichst live natürlich...

Da ich mich mit großer Datenverarbeitung noch nicht auskene, mich aber einarbeiten möchte, freue ich mich auf jede Antwort. Bitte aber nicht sowas wie "lass es bleiben"... :)
 
Hallo liebe Leute,

ich bin gerade dabei, ein kleines Webprojekt zu planen, darin enthalten: eine LiveMap. Ich möchte eine LiveMap haben, die mindestens jede Sekunden aktualisiert wird. Da ca. 100-500 Objekte getrackt werden müssen, wären dass im schlimmsten Fall 500 Datensätze jede Sekunde, aber auch nur im Schlimmsten Fall.

Meine Frage:

Ich weiß, wenn es geht, braucht man einen sehr guten Datenbankserver. Ich weiß allerdings nicht, inwieweit MySQL da mitspielt. Die Datenbank soll einmal im Monat leer gemacht werden, wären also im schlimmsten Fall

500 Datensätze die Sekunde
= 1800000 Datensätze die Stunde
= 43200000 Datensätze am Tag
= 1296000000 Datensätze im Monat

Ich kann es mir schon fast denken, dass 1,2 Milliarden Datensätze viel zu extrem sind oder? Also jeder Datensatz hat 4 Spalten, davon die ID und ein Integer und 2 Floats. Zur Not würde ich die Datenbank auch Wöchtentlich (ca. 15 Millionen Datensätze) oder Täglich (ca 2 Millionen Datensätze) leeren. Mein ihr, dass so ein Traffic überhaput machbar ist, denn die Daten müssen ja auch noch SELECTED werden.

Wie würdet ihr am besten bis zu 500 Objekte tracken? Möglichst live natürlich...

Da ich mich mit großer Datenverarbeitung noch nicht auskene, mich aber einarbeiten möchte, freue ich mich auf jede Antwort. Bitte aber nicht sowas wie "lass es bleiben"... :)

Also packen wird das MySQL sicher. Aber wird eher schwerfällig denke ich.
Wo ich jedoch noch ein größeres Problem sehe - die Verarbeitung der Datensätze. Wenn eine Stunde schon 1800000 Datensätze umfasst, ist deren Auswertung wahrscheinlich alles andere als "live".

Ich denke also nicht dass dein aktueller Ansatz praktisch gut umsetzbar ist.
Wie wäre es, nur bei Positionsänderung (zB mit einer Toleranz von 5m bzw. je nach Geschwindigkeit) zu aktualisieren und dafür einen Timestamp abzuspeichern? Was bringt es dir, wenn ein stillstehendes Objekt jede Sekunde die selbe Position schreibt?

Außerdem kannst du nicht exakt jede Sekunde einen Datensatz schreiben, du kannst nur jede Sekunde eine Request absetzen. Deine Daten wären also sowieso falsch, sie sagen nicht genau aus "wann wer wo war".

Habe aber noch nie was in die Richtung gemacht.
 
Zuletzt bearbeitet:
Zurück
Oben