Setting Up Separate Databases for Clustering¶
WSO2 Identity Server uses a database to store information such as user management details and identity data. By default, each WSO2 product is shipped with an embedded H2 database that works for all types of data.
This section guides you through the logical separation of data that you can do when clustering WSO2 Identity Server.
Embedded H2 is NOT RECOMMENDED in production
The embedded H2 database is NOT RECOMMENDED for enterprise testing and production environments. It has lower performance, clustering limitations, and can cause file corruption failures. Therefore, use an industry-standard RDBMS such as Oracle, PostgreSQL, MySQL, or MS SQL instead.
Before you begin
Creating separate databases as shown below is not mandatory. Instead, you can point all the following datasources accoridng to the default data structure. This will NOT make a difference in performance. For more information on default database structure, see Working with Databases.
The following image shows the default database structure and a recommended database structure for a logical separation of data.
Database Name | Description |
---|---|
USERSTORE_DB |
SHARED_DB
. |
IDENTITY_DB |
IDENTITY_DB .
In a deplyment both identity and UMA can be seperated for a single database while consent data is configured to a seperate
database `CONSENT_MGT` |
BPS_DB |
|
SHARED_DB |
SHARED_DB .
During a deployment, user data can be configured to a different database USERSTORE_DB while registry
data remains in the SHARED_DB
. |
CONSENT_MGT |
IDENTITY_DB .
In a deplyment both identity and UMA can be seperated for a single database while consent data is configured to a seperate
database. |
Note
For more information on SHARED_DB
and IDENTITY_DB
,
see Working with Databases.