Chapter 30. MySQL Database Schema

30.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.

30.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 an internal entity type number.

  • 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 Bypassing bigworldLogOnMapping and Using Account 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 Server Programming Guide 's section 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.