Datenbank für Spiel
-
Moin, ich hab mal ne Frage zum Thema Datenbanken. Wenn man theoretisch ein online Spiel machen will, wo die Accountdaten und Inventare und sowas drin gespeichert wird, was für eine Datenbank sollte man da nehmen. Aslo man muss viele Daten verarbeiten können und muss sicher sein gegen unerwünschten Zugriff. Ich kenne mich mit MySQL etwas aus, weiß aber nicht ob das dafür geeigent ist?
Gruß Grunzke
-
MYSQL ist schnell wenn es um SELECTS geht.
Sind jedoch viele INSERT/UPDATE dabei solltest du dir gedanken über das Tabellenformat (INNODB) machen oder z.B. zu POSTGRE, MSSQL,ORACLE wechseln.
-
ich würde empfehlen postgresql zu verwenden, da es im gegensatz zu mysql die datenintegrität sicherstellt
nebenbei ist es recht flott, was das ganze abrundetMSSQL,ORACLE sind allein schon aus Gründen des Preis/Leistungs Verhältnisses bedenklich
-
mysqluser schrieb:
MYSQL ist schnell wenn es um SELECTS geht.
Eigentlich auch nur bei ziemlich primitiven Selects.
-
Grunzke schrieb:
Moin, ich hab mal ne Frage zum Thema Datenbanken. Wenn man theoretisch ein online Spiel machen will, wo die Accountdaten und Inventare und sowas drin gespeichert wird, was für eine Datenbank sollte man da nehmen. Aslo man muss viele Daten verarbeiten können und muss sicher sein gegen unerwünschten Zugriff. Ich kenne mich mit MySQL etwas aus, weiß aber nicht ob das dafür geeigent ist?
Gruß Grunzke
Solange du nur wenige hundert oder tausend Datensätze hast, ist das fast egal. Da geht auch Oracle. Zumal bei einer theoretischen Realisierung keine Lizenzgebühren anfallen .
MySQL hat den Vorteil, daß Du das schon ein wenig kennst und es viele andere gibt, die Dir helfen können. Willst Du einen shared-hosting-Server, dann steht Dir MySQL in der Regel am ehesten zur Verfügung. Ansonsten gibt es meiner Ansicht nach keine technischen Gründe, die für MySQL sprechen. Für kleine Webapplikationen würde ich sqlite bevorzugen, da Du dort keinen Serverprozess verwalten musst und auch keine Probleme mit der Authentifizierung hast. Ansonsten ist PostgreSQL immer eine gute Wahl.
-
Gut Danke hab mir mal kurz postgresql angesehen. Sieht gar nicht schlecht aus. Werde mich mal daran versuchen.
-
Kommt drauf an wie dein Online SPiel aufgebaut ist.
Hasst du sowas wie ne Art Browsergame, oder Online Schach, ist die onteroperabilitaet zwischen mehreren nutzern eher gering. Du kannst merhere sitzungen auf mehrere Serverprozesse verteilen die sich nur ueber die datenablage synchronisieren -> nen DBMS durchaus sinnvoll.
Bei den anderen MMOPGs aufn markt, wie Guildwars, wow und wie sie alle heissen iss das nicht so easy. Du hasst viele clients gleichzeitig angebunden, die sich ziemlisch schnell untereinander synchronisieren muessen. da waern umweg ueber ne datenablage viel zu langsam. Der server wird dann wohl ehere ein oder mehrere prozesse gross sein, die sich auf einer maschine / oder mehreren clustern befinden, und die communication erfolgt ueber ausgereifte IPC mechanismen.
Sprich das ganze synchronisieren locken etc isss aus der Datenverwaltung draussen. Man brauch nur noch nen system was schnell daten lesen / schreiben kann, ohne ruecksicht auf andere prozesse. Da waer nen ausgefeiltes DBMS eher overkill. nen einfaches filebasiertes DB schnittstelle wuerde es da auch tun. Oder man nimmt nen DBMS aus kompatiblitaetsgruenden.
Ciao ...
-
ich würde auf jeden fall sqlite nehmen. das ist komplett freeware und du musst keinen datenbank-server installieren bevor es läuft(den müsste sonst auch jeder, der dein spiel dann spielen will installieren). einfach nur eine dll und fertig.
und für normale datenmengen reicht das voll aus. ist teilweise sogar noch schneller als mysql.