Problem mit Gameserver / Datensynchronisation

mavinatic

Bekanntes Mitglied
Hallo Community,

ich habe einen Gameserver programmiert, welcher Daten aus einer Datenbank läd, jedoch ist die Datenbank generell immer langsamer als der Speicher ;-)
Jedoch sind das verschiedene Daten und viele Daten, so dass ich sie nicht alle im RAM halten kann, gibt es da ein Pattern, wie ich mit Hibernate / JDBC am besten und am Performantesten die Daten aus der Datenbank holen kann? Caching-Verfahren / Pattern?
 
Welcher Gameserver?

Also wir betreiben selber einen relativ großen und haben auch verdammt viel im RAM (inkl Geodaten), aber dass das nicht passen soll? Klar auf 1GB RAM wird das eng.
 
Definiere Gameserver. Wenn du viele Daten vorhalten willst klingt das eher nach einem MMO-Gameserver und da musst du schon entsprechend Daten cachen. Gib mal mehr Info.
 
Gameserver = Spielerdaten verwalten, verteilen, updaten ;-) Gameserver mit Clusterfunktion == MMO Server ;-)

Ich habe eine Datenbank, wo ich alle Datenspeichere, aber wenn ich jedes mal einen Request an die DB schicke wird das spiel ziemlich langsam!
Ergo muss ich mir was überlegen, wie ich das gestalte, sodass ich nicht immer von der DB zugreifen muss....also entweder Cache ich es...oder ich habe eine sehr schnelles verfahren, was mir erlaubt darauf zuzugreifen ;-)
 
Ja man hält die Daten eben im Speicher, ich weiß ja nicht von was für Massen an Speicher du redest aber ein Gameserver (gerade MMO) darf gerne mal 4GB RAM fressen - auch mehr.
 
Ja soweit ist mir das bewusst, jedoch suche ich ein Pattern welches mir möglichst gute Performance bietet, desweiteren suche ich ein Pattern, welches mir erlaubt alle x sekunden von der Datenbank daten abzurufen. Gibt es ein Entwurfsmuster?

Oder learning by doing?
 
Schau dir andere Gameserver an wie die das gemacht haben. Ein generelles Pattern gibt es nicht. Meistens versucht man mehrere Implementierungen und schaut welche besser ist.
Generell gilt aber: Optimieren erst wenn es nötig wird und um den Speicherverbrauch würde ich mir nur bedingt Sorgen machen, ein Server ist eben ein Server und da interessiert der Speicherverbrauch noch nicht mal sekundär.

Kann dir gerne ein paar Tipps geben an gewissen Stellen wenn Interesse besteht.
 
Hm, vlt sind NoSQL Datenbanken eine Lösung ? Die skalieren quasi ohne Grenze und haben schnelleren Zugriff soweit ich weiß...
 

Neue Themen


Zurück
Oben