Difference between revisions of "Database backends"

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
 
(69 intermediate revisions by 18 users not shown)
Line 1: Line 1:
Minetest supports serveral database backends. This page provides a comparison of all three backends.
+
[https://dev.luanti.org/database-backends This page has moved to the Luanti Developer Wiki]
 
 
The database backend is set using the <code>backend</code> setting in ''world.mt''.
 
 
 
If you want to migrate a world to a new backend use <code>minetestserver --migrate [name of new backend] --world [path to your world directory]</code>
 
= Comparison table =
 
 
 
{| class="wikitable sortable" style="text-align: left; font-size: smaller"
 
|-
 
! Backend
 
! Speed
 
! Reliability
 
! Compatibility with builds
 
|-
 
| SQLite3
 
| style="background-color: #F99;" |
 
'''Acceptable'''
 
| style="background-color: #FFB;" |
 
'''Acceptable''' ''(db can corrupt if accessed while open)''
 
| style="background-color: #9F9;" |
 
'''Very good''' ''(supported by any Minetest version)''
 
|-
 
| LevelDB
 
| style="background-color: #FFB;" |
 
'''Good'''
 
| style="background-color: #9F9;" |
 
'''Good'''
 
| style="background-color: #FFB;" |
 
'''Usually supported'''
 
|-
 
| Redis
 
| style="background-color: #9F9;" |
 
'''Very good''' ''(most data always kept in RAM)''
 
| style="background-color: #9F9;" |
 
'''Good'''
 
| style="background-color: #F99;" |
 
'''None''' ''(needs redis server)''
 
|-
 
| Dummy
 
| style="background-color: #9F9;" |
 
'''Very good''' ''(data always kept in RAM)''
 
| style="background-color: #F99;" |
 
'''None''' ''(nothing is actually saved)''
 
| style="background-color: #F99;" |
 
'''None''' ''(nothing is actually saved)''
 
 
 
|}
 
 
 
== SQLite3 ==
 
SQLite3 is the default backend for all Minetest worlds, it is supported by every Minetest builds and is therefore the standard database format that is used to distribute worlds.
 
== LevelDB ==
 
LevelDB is mostly used on servers because of it's improved reliability and the ability to use more than 4GB space.
 
== Redis ==
 
Redis support was added to Minetest in April 2014, redis is mainly useful for servers as it allows multiple worlds to be stored in one redis instance.
 
 
 
Information about setting up a redis server can be found here: http://redis.io/topics/quickstart
 
=== world.mt settings for redis ===
 
<code>redis_address</code> '''--''' The IP or hostname of the redis server.
 
 
 
<code>redis_port</code> '''--''' The port of the redis server. ''Optional, default: 6379''
 
 
 
<code>redis_hash</code> '''--''' Hash where the MapBlocks are stored in, if you want multiple worlds in one redis instance this needs to be different for each world.
 
== Dummy ==
 
A dummy database backend.
 

Latest revision as of 12:36, 22 December 2024