Provides high availability and high throughput with low latency, while allowing for near linear scalability.
The core of the platform is a MySQL replication cluster that consists of one Master and two or more Replicas. The cluster runs MySQL versions 5.6 or 5.7 with legacy semi-sync replication with GTID for increased data consistency.
Access to the cluster is provided by a pair of ProxySQL servers for redundancy. To send queries to the database a client application connects to the virtual IP that is managed by keepalived.
ProxySQL ensures database high availability, read/write split for load sharing, and monitors health of MySQL replicas and takes out of rotation if any replica is unhealthy.
Health of MySQL as well as ProxySQL servers if monitored by Datadog. Each instance exports metrics to Datadog service using API.
Datadog also contains a set of preconfigured monitors. If a monitored metric is abnormal, doesn’t report or violates configured thresholds Datadog sends notification to PagerDuty and JIRA systems.
Receive, respond and remediate issues that may occur to the database 24×7. For alerts accumulation and notification TwinDB MySQL platform leverages PagerDuty service.
PagerDuty receives alerts and notifies an on-call engineer accordingly to normal and escalation schedules. TwinDB on-call engineers receive 24×7 all around a year.
Backup and Verification
TwinDB MySQL Platform leverages TwinDB Backup Tool for taking backups of MySQL database. The backups are encrypted and stored off-site in Amazon S3 storage. The schedule and backups retention policy is configured as per Customer’s requirements. TwinDB MySQL Platform performs continuous verification of backup copies. Important metrics like backup time and restore time are exported to Datadog and alerts are triggered if SLA on these metrics is broken.