Data stores
A data store is a message store that uses a relational database. A messaging engine uses a data store to store operating information in the database, as well as to preserve essential objects that the messaging engine needs for recovery in the event of a failure.
A data store consists of the set of tables that a messaging engine uses to store persistent data in a database. See Data store tables for a list of the tables that comprise a data store. All the tables in a data store are held in the same database schema. We can create multiple data stores in the same database, provided that you use a different schema name for each data store.
The one-to-one relationship between a messaging engine and a data store means that every messaging engine must have its own data store. A messaging engine uses an instance of a JDBC data source to interact with the database containing the data store for that messaging engine. Figure 1 illustrates these relationships.
Figure 1. The relationship between a messaging engine and its data store.
All the tables in the data store must be stored in the same schema. We can create more than one data store in a database, provided that you use a different schema name for each data store. Although every messaging engine uses the same table names, its relationship with the schema gives each messaging engine exclusive use of its own tables.
Data store topologies
You have several options for the relative location of a data store and its messaging engine. The topology also defines the relationship of a data store with other data stores.
The following options affect the choice of data store topology:
- The data store can either run on the same node as its messaging engine or on a remote node.
- The data store can either have a dedicated database or it can share a database with other data stores.
For the Informix RDBMS, configure a separate database instance for each messaging engine.
Subtopics
- Data store life cycle
Starting or deleting a messaging engine affects the life cycle of its data store. Appropriate actions must be carried out on the data store.
- Data store exclusive access
A messaging engine establishes a lock on its data store so that it has exclusive access to the data stored within. This process ensures the integrity of the data within the data store. Note that several factors can affect exclusive access locking in practice.
- Data store performance
The performance of a data store, chosen as the message store for a messaging engine, can be affected by several factors such as providing the Java data base connectivity (JDBC) data source with sufficient connections. Use this information to help configure an optimal environment for a data store.
- Configuration planning for a messaging engine to use a data store
We must consider a number of choices before configuring a messaging engine to use a data store.
Related concepts
Message reliability levels - JMS delivery mode and service integration quality of service Data store topologies
Related tasks
Back up a data store Restore a data store
Data store tables