Use leveldb instead of sqlite for huge maps

User avatar
burli
Member
 
Posts: 1313
Joined: Fri Apr 10, 2015 13:18

Use leveldb instead of sqlite for huge maps

by burli » Sun Feb 26, 2017 18:14

I made a little test to see which dB is faster. I run /emergeblocks (-1000,-20,-1000)(1000,20,1000)

Leveldb was a little bit slower, but not much. The more interesting fact was that the sqlite DB has 66MB, leveldb only 36MB

Maybe just an interesting FYI
 

User avatar
Sergey
Member
 
Posts: 362
Joined: Wed Jan 11, 2017 13:28

Re: Use leveldb instead of sqlite for huge maps

by Sergey » Sun Feb 26, 2017 19:28

Recently I ran /emergeblocks (-5000, -50, -5000) (5000, 150, 5000)

About 5 hours of processing and 4.2 GB of map.sqlite file size.
 

User avatar
burli
Member
 
Posts: 1313
Joined: Fri Apr 10, 2015 13:18

Re: Use leveldb instead of sqlite for huge maps

by burli » Sun Feb 26, 2017 19:52

The map only has ~1900 mapblocks from the center to the edge, if I'm not totally wrong.

From center to edge are ~31000 nodes, each mapblock has 16 nodes.

31000/16=1937.5

Or did I miss something and emergeblocks means nodes and not mapblocks?
 

User avatar
Sergey
Member
 
Posts: 362
Joined: Wed Jan 11, 2017 13:28

Re: Use leveldb instead of sqlite for huge maps

by Sergey » Sun Feb 26, 2017 20:07

burli wrote:The map only has ~1900 mapblocks from the center to the edge, if I'm not totally wrong.

From center to edge are ~31000 nodes, each mapblock has 16 nodes.

31000/16=1937.5

Or did I miss something and emergeblocks means nodes and not mapblocks?

Not mapblocks. Coordinates. You can type /emergeblocks (-10.5, -5.5, 0) (10.9, 1.5, 20)

From wiki:
Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
/emergeblocks <pos1> <pos2>
— Starts loading (or generating, if inexistent) map blocks contained in the area within pos1 and pos2

http://wiki.minetest.net/Server_commands
 

User avatar
burli
Member
 
Posts: 1313
Joined: Fri Apr 10, 2015 13:18

Re: Use leveldb instead of sqlite for huge maps

by burli » Sun Feb 26, 2017 20:57

Sergey wrote:Recently I ran /emergeblocks (-5000, -50, -5000) (5000, 150, 5000)


If I run this I got error messages like "couldn't get block..."
 

User avatar
Sergey
Member
 
Posts: 362
Joined: Wed Jan 11, 2017 13:28

Re: Use leveldb instead of sqlite for huge maps

by Sergey » Sun Feb 26, 2017 22:37

burli wrote:
Sergey wrote:Recently I ran /emergeblocks (-5000, -50, -5000) (5000, 150, 5000)


If I run this I got error messages like "couldn't get block..."

That's strange. I had no error messages.

Well, to be honest, I had no messages at all, not only error messages but also processing messages. I thought my computer froze, but I look into MT world folder and map.sqlite was growing.
 

paramat
Member
 
Posts: 2662
Joined: Sun Oct 28, 2012 00:05
GitHub: paramat

Re: Use leveldb instead of sqlite for huge maps

by paramat » Wed Mar 01, 2017 06:26

/emergeblocks takes 2 co-ordinates in node units, it means 'emerge or generate the mapblocks that intersect the volume defined by these node co-ordinates'.
 

User avatar
Sergey
Member
 
Posts: 362
Joined: Wed Jan 11, 2017 13:28

Re: Use leveldb instead of sqlite for huge maps

by Sergey » Wed Mar 01, 2017 17:31

...
 


Return to Minetest General

Who is online

Users browsing this forum: No registered users and 112 guests

cron