Difference between revisions of "Database backends/fr"

From Luanti Wiki
Jump to navigation Jump to search
(Replaced content with "[https://dev.luanti.org/database-backends This page has moved to the Luanti Developer Wiki]")
Tag: Replaced
 
Line 1: Line 1:
{{Languages|nocat=1}}
+
[https://dev.luanti.org/database-backends This page has moved to the Luanti Developer Wiki]
 
 
Un ''backend de base de données'' est une interface entre le serveur Minetest et la base de données. Il est chargé d'organiser, d'écrire (généralement sur le disque) et de lire les données concernant la carte. Ainsi, pour changer le format dans lequel est enregistré la map, il suffit de modifier le backend de base de données.
 
 
 
Minetest supporte plusieurs ''backends de base de données''. Cette page fournit une comparaison des quatre backends (en fait 5, mais le backend ''dummy'' est généralement inutile).
 
 
 
Le backend de base de donnée est spécifié par le réglage <code>backend</code> dans le ''world.mt''.
 
 
 
Si vous voulez changer le backend d'un monde (en convertissant le format de la carte), utilisez <code>minetestserver --migrate <nom du nouveau backend> --world <chemin d'accès au dossier du monde></code>.
 
 
 
== Tableau de comparaison ==
 
 
 
{| class="wikitable sortable" style="text-align: left; font-size: smaller"
 
|-
 
! Backend
 
! Rapidité
 
! Fiabilité
 
! Compatibilité avec les compilations
 
|-
 
| SQLite3
 
| style="background-color: #FFB;" |
 
'''Acceptable'''
 
| style="background-color: #FFB;" |
 
'''Acceptable''' ''(la BDD peut être corrompue si vous l'accédez alors qu'elle est ouverte par Minetest)''
 
| style="background-color: #9F9;" |
 
'''Excellente''' ''(supporté par n'importe quelle version de Minetest)''
 
|-
 
| LevelDB
 
| style="background-color: #9F9;" |
 
'''Bonne'''
 
| style="background-color: #9F9;" |
 
'''Bonne'''
 
| style="background-color: #FFB;" |
 
'''Supporté par la plupart des versions'''
 
|-
 
| Redis
 
| style="background-color: #9EF;" |
 
'''Excellente''' ''(la majorité des données est tout le temps consevée dans la RAM, attention aux cartes volumineuses)''
 
| style="background-color: #9F9;" |
 
'''Bonne'''
 
| style="background-color: #FAA;" |
 
'''Mauvaise''' ''(nécessite un serveur Redis en fonctionnement permanent)''
 
|-
 
| PostgreSQL
 
| style="background-color: #9EF;" |
 
'''Excellente''' ''(les données les plus souvent consultées sont en mémoire, les autres accessibles rapidement)''
 
| style="background-color: #9EF;" |
 
'''Excellente'''
 
| style="background-color: #FAA;" |
 
'''Mauvaise''' ''(nécessite un serveur PostgreSQL en fonctionnement permanent)''
 
|-
 
| Dummy
 
| style="background-color: #9EF;" |
 
'''Excellente''' ''(toutes les données sont conservées dans la RAM)''
 
|  |
 
'''N/A''' ''(rien n'est stocké sur le disque)''
 
|  |
 
'''N/A''' ''(rien n'est stocké sur le disque)''
 
 
 
|}
 
 
 
La colonne ''Compatibilité avec les compilations'' n'est utile pour vous que si vous souhaitez redistribuer votre monde.
 
 
 
=== SQLite3 ===
 
 
 
SQLite3 est le backend par defaut de tous les mondes Minetest, il est supporté par la totalité des versions de Minetest, et est par conséquent le format de base de donnée standard qui est utilisé pour redistribuer les mondes.
 
 
 
=== LevelDB ===
 
 
 
LevelDB est le backend recommandé pour les serveurs, en raison de sa fiabilité améliorée et sa capacité d'utiliser plus de 4Go d'espace disque. Vous devrez l'installer en plus.
 
 
 
=== Redis ===
 
 
 
Le support Redis fut ajouté à Minetest en avril 2014, il est principalement utile pour les serveurs car il permet à plusieurs mondes d'être stockés dans une même instance Redis. Vous devrez l'installer en plus (bibliothèque ''libhiredis'').
 
 
 
Des informations pour mettre en place un serveur Redis peuvent être trouvées ici : http://redis.io/topics/quickstart
 
 
 
On notera que le backend Redis peut être utilisé pour permettre à des programmes de s'interposer entre le système de fichiers et le serveur Minetest de manière transparente pour ce dernier (en communiquant avec le serveur Minetest avec un protocole Redis, et en inscrivant sur le disque les données dans un format standard). Ces programmes peuvent ainsi lire et traiter en temps réel les modifications dans la base de données. C'est ainsi que fonctionne, notamment, [https://forum.minetest.net/viewtopic.php?f=14&t=10278 le mapper MTSatellite].
 
 
 
==== Réglages du world.mt pour Redis ====
 
 
 
<code>redis_address</code> '''--''' L'adresse du serveur Redis (nom de domaine ou IP).
 
 
 
<code>redis_port</code> '''--''' Le port du serveur Redis. ''Optionnel, par défaut 6379''
 
 
 
<code>redis_hash</code> '''--''' ''Hash'' dans lequel sont stockés les ''MapBlocks''. Si vous voulez plusieurs mondes dans une seule instance Redis, il doit être différent pour chaque monde. Si vous n'en avez pas besoin, vous pouvez mettre <code>IGNORED</code>.
 
 
 
=== PostgreSQL ===
 
 
 
Le support Postgresql fut ajouté à Minetest en mai 2016, il est principalement utile pour les serveurs car il permet à plusieurs mondes d'être stockés dans un même service PostgreSQL au sein de plusieurs bases de données.
 
 
 
PostgreSQL offre une excellente alternative à Redis. Il ne stocke pas toutes les données en mémoire, seules les données fréquentes y sont et le stockage des données PostgreSQL est extrêmement robuste. De plus vous pourrez interfacer facilement un site web sur votre base de données.
 
 
 
Bien que les versions anciennes de PostgreSQL soient supportées, il est recommandé d'utiliser une version 9.5 au minimum.
 
 
 
Pour avoir de meilleures performances du backend PostgreSQL avec vos serveurs Minetest, assurez vous de configurer le fichier postgresql.conf de PostgreSQL avec un minimum de 512MB pour son shared_buffer dans un maximum de 50% de la mémoire disponible sur votre machine.
 
 
 
==== Réglages du world.mt pour PostgreSQL ====
 
 
 
<code>pgsql_connection</code> '''--''' Chaîne de connexion au serveur PostgreSQL | ''host=<db_host> user=<db_user> password=<db_password> dbname=<db_name>''
 
 
 
=== Dummy ===
 
 
 
Un backend de base de données ''dummy'' (littéralement "mannequin") a été créé, qui enregistre tous les ''MapBlocks'' dans la RAM sans les inscrire sur le disque (ils ne seront pas conservés après l'arrêt du serveur) et qui sera sans doute parfaitement inutile pour vous. Il peut être utilisé par les développeurs pour effectuer des tests.
 
 
 
[[Category:French]]
 

Latest revision as of 12:36, 22 December 2024