bw logo

Chapter 34. MySQL Database Schema

34.1. Entity Tables

Entity tables store the persistent entity data. The name of all entity tables if prefixed by tbl_.

Every entity type has one main table and zero or more sub-tables. An entity type's main table is named tbl_<entity_type_name>. The main table name is the prefix for the names any sub-tables of that entity type.

For details, see Mapping BigWorld Properties Into SQL.

34.2. Non-Entity Tables

BigWorld uses a number of tables to keep track of various internal states these tables' names are prefixed by bigworld. Accessing or modifying these tables is strongly discouraged.

BigWorld non-entity tables are described below:

  • bigworldEntityTypes

    Maps entity names to internal entity type numbers.

    • name - The name of the entity type.

    • typeID - An id that is maintained over changes to entities.xml.

    • bigworldID - An id that indicates this type's position in entities.xml.

  • bigworldGameTime

    Stores the current game time.

    This information is used during crash recovery.

  • bigworldInfo

    Stores the version number of the schema.

    This number is incremented if a new version of BigWorld uses an incompatible schema that will require migration of data.

  • bigworldLogOnMapping

    Used during the login process to determine whether to allow access to a user.

    For details, see Authentication via a Base entity.

  • bigworldLogOns

    Stores information about entities that are currently active.

    This information is used to construct mailboxes to active entities every active entity with a non-zero databaseID (including non-Proxy entities will have an entry in this table.

  • bigworldNewID

    Together with bigWorldUserIDs, this table is used to keep track of the object IDs currently in use by the system.

    This information is used during crash recovery to prevent allocation of duplicate object IDs.

  • bigworldSecondaryDatabases

    Each row in this table represents an unconsolidated secondary database. When the server is shutdown this information will be used by the data consolidation process to retrieve the secondary databases. When the data consolidation completes, this table will be cleared.

    For more details about secondary databases, see Secondary Databases.

  • bigworldSpaceData

    Together with bigworldSpaces, this table contains a backup of the space data.

    This information is used during crash recovery.

  • bigworldSpaces

    See bigworldSpaceData

  • bigworldTableMetadata

    Stores meta information about the database schema.

    This table is a candidate for obsolescence, since MySQL already provides APIs for retrieving database meta data.

  • bigworldUsedIDs

    See bigworldNewID.