Welche Datenbank?

posi90

Erfahrenes Mitglied
Hallo,

Ich schreibe gerade an einem MMORPG Spiel inC++, wobei mein Server mit einer Datenbank verbunden werden muss. Nun stellt sich die Frage, welche Datenbank ich nehmen soll? Habe schon Erfahrungen mit dem MSSQLServer, der leider einen großen Nachteil hat: Er ist nicht Linux kompatibel. Hab nun ne Weile gegoogelt und bin auf folgende Datenbanken gestoßen:

MySQL - oft für php Anwendungen verwendet (Webserver und so)
PostgreSQL - schnell bei vielen gleichzeitigen Benutzern und komplexeren Operationen;
Verarbeitung geographischer Daten

Die Datenbank soll unter Linux laufen, schnellen Lese- und Schreibzugriff garantieren, gut im Punkt Sicherheit sein und mindestens so gut in der Funktionalität wie MSSQLServer sein, Lizenztyp ist egal. Es kann auch zu großen Datenmengen kommen >10GB, auch diese sollen noch verwaltbar sein. Serverleistung ist genug vorhanden.

Hat jemand eine Empfehlung oder Ratschlag für mich?

mfg. Poseidon
 
Also mit Postgres oder MySQL fährst du bestimmt nicht schlecht, aber ich möchte deine Aufmerksamkeit mal in eine andere Richtung lenken. Und zwar Richtung "NoSQL"-Datenbank. Ich denke besonders bei einem MMORPG kann man das Schema gut anwenden, da sich praktisch alles um die eine Spielfigur dreht. NoSQL Datenbanken sind besonders auf hohe Schreibzugriffe ausgelegt (Echtzeit).

Ich nenne einfach mal ein paar die mir einfallen
http://couchdb.apache.org/
http://www.mongodb.org/
http://hbase.apache.org/
http://cassandra.apache.org/
http://aws.amazon.com/simpledb/

Ich selbst hab damit leider noch nicht gearbeitet, aber wenn ich darüber nachdenke (besonders im Zusammenhang mit MMORPGs) werde ich ganz heiß drauf :-D
 
Super, danke für die rasche Antwort, habe zwar noch Nichts davon gehört, werde mich aber gleich darüber informieren und vielleicht überzeugt mich ja eine der Datenbanken.

mfg. Poseidon
 
Habe mich nun etwas über die Cassandra DB und die HBase DB informiert und bin ziemlich überrascht was es schon alles gibt auf dem Sektor =)

Jedoch sind beide in Java programmiert und es ist relativ schwierig für mich hier ein Interface zu C zu machen. Weiters gibt es etliche Tutorials und Beispiele für die MySQL Datenbank.

Ich denke, dass MySQL wegen der C-Engine etwas schneller ist als die in Java, siehe Cassandra und HBase.

Hat MySQL gute Voraussetzungen für eine MMORPG-Datenbank? Also, kann sie schnell viele Schreib- und Lesezugriffe verwalten um ein stabiles "Spielen" zu realisieren? Oder doch PostgreSQL dafür nehmen? Hat auch gute Features siehe (http://www.postgres.de/features.html) und läuft sogar in der Linux Konsole.

Poseidon
 
Zuletzt bearbeitet:
Ich glaube hier werden die meisten Antworten und Ratschläge fasst nur auf persönliche Vorlieben beruhen. Die einen mögen lieber MySQL die anderen PostgreSQL, aber richtige Benchmarks für dieses Szenario hat sicher keiner gemacht um dir dafür mehr und die richtigere Infos zu geben.

Am besten schreibst du dir ein kleines Test-Programm, was ungefähr soviel lese und schreibzugriffe ausführt, wie du der Meinung bist, dass dein Spiel es machen würde. Anschließend probierst du es einfach mal mit einem MySQL- und mal mit einem PostgreSQL-Server aus.

Aus dieser Erkenntnis wirst du die für deine Anforderungen beste Lösung finden.

Gruß
RudolfG
 
Zurück