DB4SCI is an easy-to-use, web-based, self-service database deployment application. Users can select a database type and version and DB4SCI creates a stand-alone database instance for the user. Each deployed database instance is a separate container with its own private data volumes. Multiple versions of PostgreSQL, MariaDB, Mongo and Neo4j can be selected. DB4SCI is a fully containerized Flask application.

DB4SCI was designed provide nimble, friction-less service to facilitate Fred Hutchinson Cancer Research Center’s research and administration. We wanted to make it easy to create a database and to promote database usage for scientific computing.

Users do not have to worry about protecting their data. DB4SCI performs native database backups for containers. Backups are kept on-site and replicated to Amazon S3 storage.

DB4SCI offers popular database deplyment options like MariaDB with encryption at rest and TLS with server/client certs. Configure PostgreSQL with multicore parallelization enabled. Neo4j is deployed in secure mode with https enabled. MongoDB is configured with authentication.

DB4SCI offers high performance if it is deployed on high-end hardware. Why build something that is slow? Our local deplyment uses NVMe Storage. DB4SCI can be deployment on Docker Swarm to provide a highly relable and scalable database service. DB4SCI could also be depolyed in AWS.

DB4SCI supports multiple storage volumes. Databases can be configured on different storage platforms to support production or development. From the create screen users give users the choice to choose storage types. Access to storage types can be managed by database type and user ID. Multi volume support has allowed us to offer encryption at rest for PostgreSQL by providing an encrypted filesystem as a storage option.