About the Database

The Unity Database Structure

We have taken a slightly different approach to database organization with our system.  Those familiar with other  emulators will note that most tables are quite similar, but the locations within the databases may be entirely different  than other emulators.

Our concept is to divide the tables into three distinct groups:

1.  Account Data:  This will be only the data necessary to authenticate an account and set global security.  Currently, we are quite close to this goal.  We feel that the realmlist needs to remain at this level, but feel that we still need to remove the realmcharacters, since that data is directly related to the realm runtime function.

2.  World Data:  Aside from development, we feel the world data should be static.  Running a realm against the world database in production should not result in any modified data being written to this database.  This is a departure from previous emulators, which routinely write dynamic data to the world database.  Our primary reasons for the new approach are to reduce the need for frequent backups (given the size of the database, and the downtime required), as well as positioning the project to build front-end cluster solutions in the future.

3.  Runtime Data:  Any dynamic data required to run the realm will be stored in this database.  This includes commands and teleport locations that may be unique to only one realm on a server, as well as respawn data and other variables that are stored.
 

Published on  October 16th, 2011