View Single Post
  #22  
Old 11-10-2009, 01:35 PM
bobius bobius is offline
Inactive Developer
 
Join Date: Jan 2007
Posts: 162
Quote:
Originally Posted by TuleenDonai View Post
I'm still a bit confused about the Berkely DB structure vs. MySQL DB.

In looking at the code, it seems to me that you are using the Berkely DB for internal object management, AND you are using MySQL to manage player information that would get loaded and unloaded as players log on and off. That's where I get a bit caught around the axle. If I understand correctly, it appears that the Berkely DB would actually manage "In RAM" volatile information, but if the power gets pulled, you'll still need something like MySQL to maintain "Non-volatile" game state information.

This could be the result of an incomplete OR and/or observing "in-progress" code. There seems to be an overall thinking that Berkely DB will replace MySQL.

Are we to see future Berlkey DB constructs that actually "write" information into a file-based DB structure?

Can one of you Devs enlighten here?
Basically we will be using MySQL for two things (as of now, this may change).

1. Populating the static object db the first time you start the server after a wipe. (You can't load objects from the objectDB that aren't there)

2. Referencing objects that are in the berkelyDB

For example, when you login we hit the MySQL db to fetch a list of your characters and their objectids. We send those to you. You request character Tuleen which has an object id of 100001. We load player 10001 from objectdb.

Since all the objectdata is serialized, there's no quick way to poll the objectdb for information (like player object ids for your account), so we use myself for that sort of thing.

Only a very small amount of data is ever going to be read or written to MySql. That's why you get the performance increase.