DB containers vs DB servers¶
You can create both database containers in your Docker environment, or managed database services, in MedStack. Each have their pros and cons. Please take a moment to review this article to help make an informed decision when deciding which method you'll choose to implement.
Container databases | Managed database service | |
---|---|---|
Types supported | Any containerized database (e.g. postgres, mysql, mariadb, mongo, redis) See database services on Docker Hub. |
PostgreSQL MySQL |
Connectivity | Docker service accessible using the host name (service name). | Cloud resource accessible using connection strings. |
Compliance | Yes – all Docker services ran on MedStack are configured for operational privacy compliance. |
Yes – all cloud resources provisioned via MedStack are configured for operational privacy compliance. |
Auto-scaling | CPU/Memory: No – limited to the node on which the service is pinned. Capacity: No – limited to disk size on node. Contact support if more compute resources or capacity is required. |
CPU/Memory: No – limited to the server size when creating the service. Capacity: Yes – default configuration. Contact support if more compute resources or capacity is required. |
Backups | Hourly, Daily, Weekly, Monthly Retains monthly snapshots indefinitely. |
Daily Retains daily full backups for 35 days. Transaction logs available in 5 minute intervals to bridge latest full backup and real-time. |
Restoration | Not database specific. Data is backed up to configured Docker volumes. Please contact support for database specific restorations. |
Database specific, contact support. |
Price | Free, but certain databases may have licensing costs. | Hourly, set by cloud provider. See Azure's managed database pricing for PostgreSQL and MySQL. |
Recommendations | Make use of: • Labels on nodes • Volume mapping for the Swarm • Volume mapping for the service • Configuring only one (1) replica of the service • Placement constraints for the service pinning it to a node |
Make use of: • Secrets or Configs to handle the connection string • Replicas for General Purpose type services (allows for hot-swapping databases) |