# MariaDB - Features

## Description <a href="#mariadbarchitecture-description" id="mariadbarchitecture-description"></a>

MariaDB Community Edition is available in two self-service topologies:

* A standalone instance (with a [GTID](https://mariadb.com/kb/en/gtid/) replica on request)
* A Galera cluster based on 3 active/active instances

For more information on MariaDB architecture :

{% embed url="<https://mariadb.com/kb/en/understanding-mariadb-architecture/>" %}

MariaDB instances are accessible on port 3306 by default.

## Regions <a href="#mariadbarchitecture-regions" id="mariadbarchitecture-regions"></a>

MariaDB is available in the following **cegedim.cloud** data centers:

* EB4 (Boulogne-Billancourt, France)
* ET1 (Labège, France)

In some cases, when a third node is deployed (Galera cluster), nearby secondary data centers may also be used to ensure maximum resilience:

* EB5 (Magny-les-Hameaux, France)
* ET2 (Balma, France)

## Resources <a href="#mariadbarchitecture-ressources" id="mariadbarchitecture-ressources"></a>

The MariaDB Platform as a Service is hosted on the Linux Debian 10 distribution.

Minimum system requirements are 2 CPUs and 4GB RAM.

Storage can be configured during provisioning and subsequently increased on request.

## Topologies <a href="#mariadbarchitecture-topologies" id="mariadbarchitecture-topologies"></a>

### Standalone instance

This is a single instance deployed in a single data center.

### **Active/passive replication**

Two MariaDB instances are deployed in the same data center: the main node with a read-only replica.

{% hint style="warning" %}
Only deployed on request!
{% endhint %}

{% embed url="<https://mariadb.com/kb/en/gtid/>" %}

<figure><picture><source srcset="https://835168969-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FXoHyOBZPpJv3UALn4V%2Fuploads%2Fgit-blob-0c60125974a4af792293b7f01feda091258b4f2a%2FreplicaFRDark%20(1).png?alt=media" media="(prefers-color-scheme: dark)"><img src="https://835168969-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FXoHyOBZPpJv3UALn4V%2Fuploads%2Fgit-blob-fa21542bd82f91cbe892710f64e19af15ce7519a%2FreplicaFRLight.png?alt=media" alt="" width="455"></picture><figcaption><p>Standard Replication with GTID</p></figcaption></figure>

### Galera cluster

A MariaDB Galera cluster is a virtually synchronous multi-primary cluster for MariaDB.\
A cluster based on 3 active/active instances can be deployed in any cegedim.cloud data center.

{% hint style="warning" %}
MyISAM tables are not compatible with MariaDB Galera clusters because this storage engine does not support transactions and row-level locking, which are essential for Galera's synchronous multi-master replication. Therefore, it is necessary to convert them to InnoDB format before migrating to the cluster.
{% endhint %}

{% embed url="<https://mariadb.com/kb/en/what-is-mariadb-galera-cluster/>" %}

<figure><picture><source srcset="https://835168969-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FXoHyOBZPpJv3UALn4V%2Fuploads%2Fgit-blob-8fc172428b3b1c2d22525734b0c6e5e4a686a8e2%2FmariaDB_ENG_dark.png?alt=media" media="(prefers-color-scheme: dark)"><img src="https://835168969-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F2FXoHyOBZPpJv3UALn4V%2Fuploads%2Fgit-blob-5ab1446f360a96ca091784a737bbee54195165fb%2FmariaDB_ENG_light.png?alt=media" alt="MariaDB Galera cluster" width="375"></picture><figcaption><p>MariaDB Galera cluster</p></figcaption></figure>

## Supported versions

The supported version is the latest LTS (long term support) currently available. For more information, please consult MariaDB versions.

{% embed url="<https://mariadb.com/kb/en/release-notes>" %}

## Restrictions

This section is to list which feature / capabilities are available to customer, and how to request / perform them :

<table data-header-hidden><thead><tr><th width="184"></th><th></th></tr></thead><tbody><tr><td><strong>Self Service</strong></td><td>Customer can perform action autonomously.</td></tr><tr><td><strong>On Request</strong></td><td>Customer can request for the action to be done to cegedim.cloud support team.</td></tr></tbody></table>

<table data-full-width="true"><thead><tr><th width="278">Feature</th><th width="152" data-type="checkbox">Self service</th><th width="132" data-type="checkbox">On request</th><th>Comments</th></tr></thead><tbody><tr><td>SSH access</td><td>false</td><td>false</td><td>SSH access is disabled and reserved to cegedim.cloud administrators.</td></tr><tr><td>Change configuration file</td><td>false</td><td>true</td><td>On request via ticket.<br>Review by the cegedim.cloud team.</td></tr></tbody></table>

## Default settings

Some default MariaDB parameters configured by cegedim.cloud :

<table data-full-width="true"><thead><tr><th width="252">Setting</th><th width="216.33333333333331">Value</th><th>Description</th></tr></thead><tbody><tr><td>transaction_isolation</td><td>READ-COMMITTED</td><td>Type of transaction</td></tr><tr><td>max_connections</td><td>1000</td><td>Max allowed connections to the instance</td></tr><tr><td>innodb_buffer_pool_size</td><td>50% of RAM</td><td>Innodb buffer memory allocated to the instance</td></tr><tr><td>slow queries</td><td>disabled</td><td>Slow queries are not logged by default</td></tr></tbody></table>

{% embed url="<https://mariadb.com/kb/en/documentation/>" %}

## Backup <a href="#mariadbarchitecture-backup" id="mariadbarchitecture-backup"></a>

Backup policy for MariaDB is configured like so :

* Full backup every weekend (online)
* Differential backup every day (online)
* Binlog backup every two hours

Default backup retention for the full backups and dependent backups is two weeks.

## Security <a href="#mariadbarchitecture-security" id="mariadbarchitecture-security"></a>

### Authentication <a href="#mariadbarchitecture-authentication" id="mariadbarchitecture-authentication"></a>

MariaDB's authentication is internal user based.

### Authorizations <a href="#mariadbarchitecture-authorizations" id="mariadbarchitecture-authorizations"></a>

An administration user is provided to the customer when the provisioning is over.

{% hint style="warning" %}
The password of this user is not stored nor saved by cegedim.cloud.\
Please be sure to save it in your own vault.
{% endhint %}

## Monitoring <a href="#mariadbarchitecture-monitoring" id="mariadbarchitecture-monitoring"></a>

As part of our Managed Databases offer, MariaDB is specifically monitored on top of the underlying system to ensure service uptime and performances.

The following key MariaDB indicators are monitored and tracked :

* Number of aborted client connections
* Number of failed server connection attempts
* Number of refused connections due to internal server errors
* Maximum number of simultaneous connections opened
