Database backends/de

From Minetest Wiki
Jump to: navigation, search
Languages Sprache: English • Deutsch • français

Contents

Datenbanken

Minetest untersützt viele Datenbanken. Diese Seite vergleicht vier von ihnen (tatsächlich fünf, allerdings ist der dummy im Allgemeinen nicht nützlich).

Es gibt in Minetest zwei Datenbanken (seit 0.4.16)

  • Karten
  • Spieler


Kartendatenbank

Die Datenbank wird mittels der Einstellung backend in world.mt gesetzt.

Falls Sie eine Weltkarte auf eine neue Datenbank migrieren möchten, verwenden Sie minetest --server --migrate <Name der neuen Datenbank> --world <Pfad zu Ihrem “world”-Verzeichnis>.

Spielerdatenbank

Die Spielerdatenbank wird mittels der Einstellung player_backend in world.mt gesetzt.

Falls Sie Spieler auf eine neue Datenbank migrieren möchten, verwenden Sie minetest --server --migrate <Name der neuen Datenbank> --world <Pfad zu Ihrem “world”-Verzeichnis>.

Vergleichstabelle

Datenbank Geschwindigkeit Zuverlässigkeit Kompatibilität zwischen Versionen Karten Spieler
SQLite3

Gut

Akzeptabel (Probleme bei konkurrierenden Zugriffen möglich)

Sehr gut (immer unterstützt)

LevelDB

Gut

Gut

Meistens unterstützt

Redis

Sehr gut (Daten bleiben im Arbeitsspeicher)

Gut

Ungünstig (Redis-Server erforderlich)

PostgreSQL

Sehr gut (die am häufigsten verwendeten Daten liegen im Speicher, andere werden vom Datenträger abgerufen)

Sehr gut

Ungünstig (PostgreSQL-Server erforderlich)

Dummy

Höllisch schnell

nicht verfügbar (nichts wird auf den Datenträger gespeichert)

nicht verfügbar (nichts wird auf den Datenträger gespeichert)

Sie Spalte Kompatibilität zwischen Versionen ist nur von Bedeutung, falls Sie die Welten verteilen möchten.

SQLite3

SQLite3 ist die Standarddatenbank für alle Minetest-Welten. Sie wird von jeder Minetest-Version unterstützt und ist daher das zum Verteilen von Welten benutzte Standarddatenbankformat.

LevelDB

LevelDB wird meist auf Servern benutzt, da es die Zuverlässigkeit und mögliche Geschwindigkeit verbessert. Sie müssen es zusätzlich installieren.

Redis

Die Redis-Unterstützung wurde im April 2014 zu Minetest hinzugefügt. Redis ist hauptsächlich auf Servern nützlich, da es das Speichern mehrerer Welten in einer Redis-Instanz erlaubt. Sie müssen es zusätzlich installieren (Bibliothek libhiredis).

Informationen über das Aufsetzen eines Redis-Servers können Sie hier finden: https://redis.io/topics/quickstart

world.mt-Einstellungen für Redis

redis_address -- Die IP oder der Rechnername des Redis-Servers.

redis_port -- Der Port des Redis-Servers. Optional, Voreinstellung: 6379

redis_hash -- Hash, wo die Kartenblöcke gespeichert werden, falls Sie mehrere Welten in einer Redis-Instanz betreiben, muss er sich für jede Welt unterscheiden. Falls Sie das nicht benötigen, können Sie z.B. IGNORED benutzen.

PostgreSQL

PostgreSQL-Unterstützung wurde im Mai 2016 zu Minetest hinzugefügt. Sie ist haupsächlich auf Servern nützlich, da sie mehrere Welten in einer einzigen Instanz in mehreren Datenbanken erlaubt.

PostgreSQL ist eine hervorragende Alternative zu Redis. Sie legt nicht alle Daten im Speicher ab, nur die aktuellen und häufig geladenen. Alle Daten liegen auf dem Datenträger und dieser Speicher ist sehr robust. Sie können außerdem sehr einfach eine Benutzerschnittstelle zu Ihrer Website mit der Datenbank verbinden, um den Anwendern eine Oberfläche zu bieten.

Obwohl auch ältere Versionen untersützt werden, wird mindestens PostgreSQL 9.5 empfohlen.

Um die Leistung von PostgreSQL mit Minetest-Servern zu verbessern, konfigurieren Sie bitte die postgresql.conf mit mindestens 512 MB shared_buffer und maximal 50% des verfügbaren Arbeitsspeichers Ihres Servers.

world.mt für PostgreSQL

pgsql_connection -- PostgreSQL-Verbindungszeichenkette für die Weltkarte | host=<Datenbankrechner> user=<Datenbankbenutzer> password=<Datenbankpasswort> dbname=<Datenbankname>

pgsql_player_connection -- PostgreSQL-Verbindungszeichenkette für Spieler | host=<Datenbankrechner> user=<Datenbankbenutzer> password=<Datenbankpasswort> dbname=<Datenbankname>

Dummy

Eine Dummy-Datenbank ist eine Datenbank, die Kartenblöcke im Arbeitsspeicher ablegt ohne sie zu speichern. Diese Datenbank wird nicht oft benutzt. CTF-Server verwenden Dummy, da Karten nicht gespeichert werden müssen (sie werden in jeder Runde wiederhergestellt).