Database technologies#
Configuration#
Default configuration#
By default, unit tests and other code run will run against an in-memory SQLite database (a warning should be given that a database has not been configured).
User-specified configuration#
The user creates a configuration object with details of available database connections.
Docker#
Note: Containers are currently not configured to provide persistent storage (i.e. to store data outside of the container)
opencdms-db image#
Initially opencdms-db
will provide an empty TimescaleDB/PostGIS database instance.
Database schemas for each supported CDMS can be created later within an opencdms-db
container using SQLAlchemy models
in pyopencdms
. The resulting schemas should be equivalent to the originals, but the underlying database technology may
be different and, as a result, other minor difference may exist.
Image |
Database |
Notes |
---|---|---|
opencdms-db |
TimescaleDB/PostGIS |
Empty database server |
Database groups#
Database schemas for each CDMS can be created using a database system that is compatible with the original database system
using the original SQL DDL from the opencdms-test-data
repository. When using docker compose the database schema will
be restored. For example:
MCH uses MySQL 5.1 in production, when using DB-group the SQL DDL will be restored to MariaDB 1.1.
MIDAS uses Oracle Enterprise or Standard Edition in production, when using database groups the SQL DDL will be restored to Oracle eXpression Edition (XE)
Image |
Database |
Notes |
---|---|---|
postgres |
PostgreSQL 13 |
CliDE, Belize SURFACE |
mysql |
MySQL 8 |
climsoft-4.1.1, mch-english |
oracle-xe |
Oracle XE 11g |
midas-code (experimental) |
Production#
For some supported CDMSs, docker images exist for the exact databases and version numbers that are commonly used in production.
In each case, only one CDMS schema is restored.
CDMS |
Database |
Notes |
---|---|---|
belize-surface |
TimescaleDB |
|
clide |
PostgreSQL 13 |
PostgreSQL version not confirmed |
climsoft-4.1.1 |
MariaDB 10.1 |
|
mch-english |
MySQL 5.1.73 |
Experimental |
midas-core |
Oracle Enterprise or Standard Edition |
Not available |