Create a Database

This section explains how to manually create a database in an on-premises installation.

When you install Exasol, a database is automatically created on all the active nodes. In some scenarios you may want to create an additional database for testing or maintenance purposes.

We recommend that you do not run multiple Exasol databases on the same node on production systems. Since each database instance assumes it has full control over the node resources (storage, CPUs, network), running multiple databases on the same node may result in unpredictable behavior and performance issues.

Prerequisites

A database with the same name or UUID must not already exist.

Procedure

This procedure is carried out using ConfD.

The following examples use ConfD through the command-line tool confd_client, which is accessible on all database nodes. You can also access ConfD through XML-RPC in your own Python programs. For more information, see ConfD.

To manually create a database, use the ConfD job db_create. The following parameters are mandatory:

Parameter Name Data Type Description
db_name string A unique name for the new database.
version string The database version, for example 8.23.0
data_volume_name string

Volume name for the database data. The specified volume must exist.

mem_size string

Amount of memory (RAM) allocated to the database.

Value must be an integer + unit MiB, GiB, or TiB. For example: 2048 MiB.

For guidelines on how to determine the amount of RAM to allocate, see Sizing Considerations.

nodes list

A list of active and reserved node IDs for this database. The node IDs are integers.

num_active_nodes integer

The number of active nodes in the database.

This value must match the number of master nodes that was specified when setting up the data volumes. See also st_volume_create.

Several additional parameters can be set and may be required depending on the installation environment. For more details, see db_create.

Example:

confd_client -c db_create -a '{"db_name": "EXA_DB", "version": "8.23.0", "data_volume_name": "DataVolume1", "mem_size": "2048 MiB", "nodes": [11, 12], "num_active_nodes": 2}'

The combined DBRAM of all databases on a given node must not exceed the recommended maximum DBRAM for a single database.

If multiple databases are using block storage volumes that are backed by the same storage disk and neither database has a volume quota defined, both databases may crash if either of them produces too much temporary data.

Verification

To verify that the new database was created, use the ConfD job db_list.

confd_client -c db_list