Ich plane momentan ein großes Projekt. Es geht um ein nicht kommerzieles "globales" Gameserverranking System basierend auf HLstatsX. Hierfür wird ein krätiger DB Server verlangt.
Die Ausmaße sind allerdings so beträchtlich das ich eher Quantität als Qualität umsetzen werden könne. Die Datenbank selber wird wohl gerne die 100GB mehr als locker übersteigen (wenn nicht sogar in den TB Bereich).
Ich nutze selber für meinen Clan schon dieses Rankingsystem. Daher kann ich schon mal mit ein paar Daten um mich werfen.
Mein Ranking besteht aus 5 Gameservern in der größe von 12-20 Spieler, insgesamt Platz für 80 Spieler (12-20 Slots sind auch die gänigen größen). Alle 5 Server sind SEHR stark besucht, somit kann man hier von schon fast Maximum/Limit Werten sprechen.
MySQL Wachstum pro Monat
800-900MB (alle 5 Server)
Gerunde 200MB pro Monat pro Server
Queries
20 Queries pro Sekunde (alle 5 Server - schnitt des ganzen Monats)
Gerundet 5 Q/s pro Server
Man rechne es auf einige Hundert oder gar 1000 oder 2000 Server hoch, so entsteht natürlich eine riesige Datenbank. Allerdings wird wohl pro Quartal ein Reset durchgeführt.
Nun steht natürlich die Frage wie die Datenbank am kostengünstigen umgesetzt wird. Von richtiger Serverhardware habe ich daher eher abgesehen. Somit wird wohl Hardware ala Desktop genutzt. Das heißt z.B. ein Core2Quad mit 8GB RAM oder i7 mit 12GB RAM für mehr RAM müsste man wieder in den Serverkomponenten bereich gehen.
Ich hatte eventuell angedacht ein paar SSDs im Raid0 zu schalten und diese als SWAP zu nutzen und es praktisch als "billigen" RAM anzusehen. Natürlich erreicht eine SSD keine Zugriffswerte und Bandbreiten eines RAMs allerdings müssen die Queries auch nicht innerhalb von 20ms beantwortet werden, denn bis zu 1 Sekunde wäre tragbar.
Somit würde es z.B. so aussehen
CPU: Intel i7
RAM: 12GB RAM
HDD: 4x 500GB im Raid0 (zum allgemeinen Speichern der DB)
SSD: 4x 30/40GB im Raid0 (oder wie auch immer eher kleine aber mehrere)
Anbindung: 1Gbit
Von jeder SSD werden 4-6GB als SWAP also praktisch billigen, etwas langsamen RAM genutzt. Der Rest bleibt praktisch von der SSD tot - denn irgendwann kann diese die Anfragen nicht mehr bewältigen. Somit während praktisch bis zu 24GB extra RAM möglich. Könnten sowas die SSDs bewältigen?
Natürlich wird das System jeden Tag einen Backup unterzogen. Sollte z.B. eine Platte mal ausfallen müssen die Spieler mit der Statistik vom vor Tag leben das bringt keinen um. Ebenfalls natürlich bewegt sich ein sollches System natürlich stark vom Optimum weg und im Grunde war es einfach mal so ein Hirngespinnt.
Die Ausmaße sind allerdings so beträchtlich das ich eher Quantität als Qualität umsetzen werden könne. Die Datenbank selber wird wohl gerne die 100GB mehr als locker übersteigen (wenn nicht sogar in den TB Bereich).
Ich nutze selber für meinen Clan schon dieses Rankingsystem. Daher kann ich schon mal mit ein paar Daten um mich werfen.
Mein Ranking besteht aus 5 Gameservern in der größe von 12-20 Spieler, insgesamt Platz für 80 Spieler (12-20 Slots sind auch die gänigen größen). Alle 5 Server sind SEHR stark besucht, somit kann man hier von schon fast Maximum/Limit Werten sprechen.
MySQL Wachstum pro Monat
800-900MB (alle 5 Server)
Gerunde 200MB pro Monat pro Server
Queries
20 Queries pro Sekunde (alle 5 Server - schnitt des ganzen Monats)
Gerundet 5 Q/s pro Server
Man rechne es auf einige Hundert oder gar 1000 oder 2000 Server hoch, so entsteht natürlich eine riesige Datenbank. Allerdings wird wohl pro Quartal ein Reset durchgeführt.
Nun steht natürlich die Frage wie die Datenbank am kostengünstigen umgesetzt wird. Von richtiger Serverhardware habe ich daher eher abgesehen. Somit wird wohl Hardware ala Desktop genutzt. Das heißt z.B. ein Core2Quad mit 8GB RAM oder i7 mit 12GB RAM für mehr RAM müsste man wieder in den Serverkomponenten bereich gehen.
Ich hatte eventuell angedacht ein paar SSDs im Raid0 zu schalten und diese als SWAP zu nutzen und es praktisch als "billigen" RAM anzusehen. Natürlich erreicht eine SSD keine Zugriffswerte und Bandbreiten eines RAMs allerdings müssen die Queries auch nicht innerhalb von 20ms beantwortet werden, denn bis zu 1 Sekunde wäre tragbar.
Somit würde es z.B. so aussehen
CPU: Intel i7
RAM: 12GB RAM
HDD: 4x 500GB im Raid0 (zum allgemeinen Speichern der DB)
SSD: 4x 30/40GB im Raid0 (oder wie auch immer eher kleine aber mehrere)
Anbindung: 1Gbit
Von jeder SSD werden 4-6GB als SWAP also praktisch billigen, etwas langsamen RAM genutzt. Der Rest bleibt praktisch von der SSD tot - denn irgendwann kann diese die Anfragen nicht mehr bewältigen. Somit während praktisch bis zu 24GB extra RAM möglich. Könnten sowas die SSDs bewältigen?
Natürlich wird das System jeden Tag einen Backup unterzogen. Sollte z.B. eine Platte mal ausfallen müssen die Spieler mit der Statistik vom vor Tag leben das bringt keinen um. Ebenfalls natürlich bewegt sich ein sollches System natürlich stark vom Optimum weg und im Grunde war es einfach mal so ein Hirngespinnt.