Databases

Overview

At the infrastructure level, the Gentics Content Management Platform makes use of two types of databases:

  • one database (called the “CMS database”) to store content that has been created, uploaded and edited by the content managers

  • one database (called the “Content Repository”) to store the published content to be accessed by the frontend applications.

Databases used by the Gentics Content Management Platform
Figure 1. Databases used by the Gentics Content Management Platform

The minimum deployment of the Gentics Content Management Platform requires one database of each type — though several instances can be advisable for availability or performance reasons.

The CMS Database

The Gentics Content Management Platform supports MySQL or MariaDB as a CMS database. The same MySQL or MariaDB database can be used by Gentics CMS, Keycloak and Activiti. With the exception of possibly Keycloak, the SQL database is only used by backend components of the Gentics Content Management Platform.

The list of supported versions of MariaDB and MySQL can be found in the CMS guides.

Configuration

The URL to the database server, the user credentials to use, as well as the name of the database are usually configured in a file in /cms/conf/*.yml.

The specified user must have all privileges on the tables in the database.

Clustering

Depending on your availability requirements, you have the option to use a database cluster for the CMS database.

When having a clustered CMS installation, it is important that all instances of Gentics CMS have read/write access to the same database server(s), e.g. by making use of a MariaDB Galera Cluster.

For details on clustering support please refer to the CMS cluster support guide.

The Content Repository

When serving requests, the frontend portal only accesses the Gentics Mesh Content Repository and never the CMS database. Furthermore, any user generated content like comments or user-specific settings like favorites are stored in Gentics Mesh Content Repository. This is typically done by a project-specific custom handler in the portal or by Gentics Mesh Plugins.

Configuration

Please refer to the corresponding CMS guide for details.

Clustering

Starting with version 2.0.0 clustering with OrientDB is no longer part of the professional support by Gentics. For high availability setups, it is recommended to use Gentics Mesh SQL.

Multiple Mesh instances can be configured to run in a cluster, which can be configured as a multi master setup where at least some write requests can be handled by multiple nodes in the Mesh cluster, or a master replica setup where all write requests are forwarded to a dedicated master instance.

A detailed description of the clustering settings for the Mesh configuration file can be found in the Mesh clustering documentation.