The DBaaS Enterprise control plane and database engines on separate plinths.

DATABASE LIFECYCLE CONTROL PLANE

DBaaS EnterpriseEngine-aware database operations, not just provisioning

A lifecycle control plane for ten database engines with 1/2/3-node topologies, engine-native HA semantics, backup/restore, upgrade and runtime verification.

MySQLPostgreSQLRedis OSSValkeyMariaDBMongoDBClickHouseOpenSearchScyllaDBQdrant

DBaaS Enterprise components: one control plane and ten database engines

  1. 1Control PlaneAdmission, RBAC and durable operations for every engine; the Manager never joins the tenant data path.
  2. 2Durable operation stateEvery accepted operation is recorded in PostgreSQL before execution and handed to workers through a transactional outbox.
  3. 3Workers & automationWorkers hold an execution lease and source-manifest fence, then run Ansible on the database nodes.
  4. 4MySQLInnoDB ReplicaSet at 1–2 nodes, InnoDB Cluster / Group Replication at 3; MySQL Router runs on the DB nodes.
  5. 5PostgreSQLPatroni with streaming replication and etcd; PgBouncer and HAProxy colocated on the DB nodes.
  6. 6MariaDBMulti-primary Galera with HAProxy; three members provide quorum HA.
  7. 7Redis OSSReplication, Sentinel and HAProxy; two-node automatic failover is deliberately disabled.
  8. 8ValkeyThe same replication + Sentinel + HAProxy model behind a stable tenant FQDN.
  9. 9MongoDBDocument database; topology and HA follow its native semantics under the same control plane.
  10. 10ClickHouseColumnar analytics database (OLAP); topology and HA follow its native semantics under the same control plane.
  11. 11OpenSearchSearch and log analytics; topology and HA follow its native semantics under the same control plane.
  12. 12ScyllaDBWide-column database; topology and HA follow its native semantics under the same control plane.
  13. 13QdrantVector database; topology and HA follow its native semantics under the same control plane.
01PROBLEM & OUTCOME

Product problem

Provisioning is the easy part; operating the database is the product.

Replication, quorum, backup, restore, upgrade and failover differ by engine. DBaaS preserves those differences while presenting one durable operational surface.

01DAY‑2

Lifecycle after creation

Scale, backup, restore, upgrade and recovery are first-class actions.

02ENGINE SEMANTICS

No fake abstraction

InnoDB, Patroni, Sentinel and Galera keep their native quorum/election behavior.

03FAILURE

Designed recovery

Promotion, fencing and rejoin rules exist before an incident.

04TRUTH

Observed success

Membership, endpoint and client I/O must confirm the result.

02CAPABILITY SNAPSHOT

Capabilities

One operational surface, engine-specific mechanics.

The operator sees a coherent lifecycle while each engine keeps the coordination model it actually requires.

01PROVISION

Create service

Engine, version, topology and nodes with preflight.

02SCALE

1 → 2 → 3

Add members without treating two nodes as automatic HA.

03BACKUP / RESTORE

Data protection and recovery

Engine-native backup, integrity evidence and post-restore verification.

04UPGRADE

Controlled change

Supported version edge, backup gate and runtime read-back.

05FAILOVER

Promotion / routing

Engine-aware promotion or Galera routing reconciliation.

06ENDPOINT

Stable client identity

Tenant FQDN remains stable across topology changes.

07OBSERVE

Real signals

Host/database telemetry and service-level probes.

08SECURITY

TLS, RBAC and audit

Access and every operation stay controlled and traceable in the control plane.

03TOPOLOGY / DEPLOYMENT MODEL

Deployment model

Topology follows the engine, not a generic HA checkbox.

The relational and key-value profiles (MySQL, PostgreSQL, Redis, Valkey and MariaDB) start at one node, grow through two nodes without automatic failover, and reach automatic HA at three members using the engine's own coordination model.

ProfileEnginesFailure behaviorNative mechanism
1 nodeMySQL · PostgreSQL · Redis · Valkey · MariaDBNon-HASingle member + stable endpoint
2 nodesMySQL · PostgreSQL · Redis · Valkey · MariaDBAutomatic failover disabledPrimary/Mirror or two-member Galera without majority
3 nodesMySQL · PostgreSQL · Redis · Valkey · MariaDBAutomatic HAInnoDB Cluster · Patroni/etcd · Sentinel · Galera quorum
04ARCHITECTURE

Architecture

Control Plane stays out of the tenant data path.

Intent and durable job state live in the manager; database runtime, membership and local routing stay on tenant database nodes.

ENTRYPanel / Product APITenant, project, engine, topology, permission and confirmation.
DURABLE STATEPostgreSQL operationsOperation, lock, correlation and audit persist before mutation.
EXECUTIONOutbox → RabbitMQ/Celery → AnsibleSerialized engine-specific execution on tenant DB nodes.
RUNTIMEDatabase nodes + local router/proxyThe serving system owns replication and routing truth.
BoundaryMechanismOperational contract
ManagerControl plane onlyNever a DB member, witness, quorum voter or failover target.
Stable endpointTenant FQDNClient identity survives topology changes.
RoutingLocal Router/HAProxy on DB nodesA client reaching any service node can still reach the correct role.
CoordinationEngine-native quorum/electionNo external witness is added to invent HA.
StageAuthority / ComponentTechnical contract
AdmissionPanel / Product APIEngine, topology, permission and confirmation are checked; the request is only admitted.
Durable statePostgreSQLOperation and Job persist before mutation; only one active mutation is allowed per tenant; a second request is refused, not queued.
DispatchTransactional Outbox → RabbitMQ → Celery WorkerWork publication is coupled to transactional state and the worker receives serialized execution.
Execution fenceExecution lease + signed source manifestThe runtime tree must match expected release identity; drift blocks playbook execution.
Engine executionProject-local AnsibleThe native engine playbook runs only on tenant DB nodes; the Manager never enters the Data Plane.
VerificationEngine runtime + stable endpointMembership/quorum, replication, DNS/TLS and client read/write are read back from the real runtime.
EvidenceJob-scoped evidenceResult and correlation stay attached to the same Operation; HTTP acceptance never becomes completion by itself.
05LIFECYCLE

Lifecycle

The lifecycle is one durable loop.

Every mutation is admitted, persisted, executed, read back and either verified or moved into an explicit recovery state.

01Createengine · version · topology
02Scaleprepare · join · sync
03Backupartifact · integrity
04Restorepreflight · restore · verify
05Upgradeedge · stage · read-back
06Failoverfence · promote / reconcile
07Rejoinmembership convergence
08Removesafe member removal
06ENGINE PROFILES

Engine profiles

Ten engines, each with its own native semantics, under one Control Plane.

The control plane is shared, but replication, election/quorum, local routing, backup and failover/recovery follow each engine's native architecture.

DBaaS Enterprise across ten database engines: requirements, engine choice, topology, operations and monitoring, backup and restore, scale and failover.
EngineNative topology / routing1 node2 nodes3 nodesData protection
MySQLInnoDB ReplicaSet (1–2) · InnoDB Cluster / Group Replication (3) · MySQL Router on DB nodesNon-HAManual promotionAutomatic HAXtraBackup
PostgreSQLPatroni + Streaming Replication · etcd + PgBouncer + HAProxy on DB nodesNon-HAManual promotionPatroni automatic HApg_basebackup
Redis OSSReplication + Sentinel + HAProxy; Sentinel and proxy stay on DB nodesNon-HAManual promotionSentinel automatic HARDB / AOF
ValkeyReplication + Sentinel + HAProxy; a separate engine, not a Redis aliasNon-HAManual promotionSentinel automatic HARDB / AOF
MariaDBGalera (wsrep) + HAProxy; multi-primary cluster with product-routed write targetSingle-member GaleraNo automatic failoverGalera quorum HAMariaBackup / Logical Dump
MongoDBDocumentTopology, HA and data protection follow the engine's own native semantics, under the same control plane and lifecycle.
ClickHouseColumnar analytics (OLAP)Topology, HA and data protection follow the engine's own native semantics, under the same control plane and lifecycle.
OpenSearchSearch & log analyticsTopology, HA and data protection follow the engine's own native semantics, under the same control plane and lifecycle.
ScyllaDBWide-columnTopology, HA and data protection follow the engine's own native semantics, under the same control plane and lifecycle.
QdrantVectorTopology, HA and data protection follow the engine's own native semantics, under the same control plane and lifecycle.
07ACTION & WORKFLOW CONTRACT

State and flows

Accepted is not succeeded.

One active mutation per tenant prevents overlapping topology changes; runtime evidence closes the job.

01AdmissionENGINE · TOPOLOGY · RBAC
02PersistDURABLE OPERATION
03QueueQUEUED
04ExecuteRUNNING
05Read-backVERIFYING
06TerminalSUCCEEDED / FAILED
FAILOVER PATH

Failover with fencing and quorum

The stable endpoint moves only after the new serving role is proven.

STABLE ENDPOINT
↓
PRIMARY
⇄
REPLICA
↓
QUORUM
+ FENCE
Failure → membership read-back → fence → promotion → route update → client verify
RECOVERY FORK

Restore: promote or abort

A recovery point must verify before it can enter the serving path.

BACKUP + CHECKSUM
↓
RESTORE
VALID?
↓
PROMOTE
RESTORED
↙ ↘
ABORT
ISOLATE
Compatibility · ownership · disk · engine health · client read/write
RECONCILIATION LOOP

Rejoin / replace loop

Observed membership decides whether a node can rejoin or must be replaced.

DESIRED
MEMBERS
→
RECONCILE
↓
READ
BACK
↑
OBSERVED
MEMBERS
←
DRIFT /
FAILED NODE
Rejoin eligibility → re-seed if needed → membership sync → endpoint verify
ADDITIONAL OPERATIONAL FLOWS

Additional operational flows

Two Day-2 paths that matter as much as initial provisioning.

ActionAdmission / PreconditionsExecution ownerSuccess criterionFailure / recovery
Create ServiceValid tenant/project, engine/version, nodesDBaaS worker + engine playbookMembership + endpoint + client I/OFailed job retains evidence; reconcile before retry
ScaleHealthy current cluster + exact new nodeSerialized tenant mutationExact member count and replication/quorumPartial join is reconciled
BackupCompatible engine and destinationEngine-native backupArtifact + integrity metadataIncomplete backup is invalid
RestoreVerified backup + compatibility + maintenance gateCluster-locked restoreService + replication + endpoint + I/OUnknown outcome requires read-back
UpgradeSupported edge + backup + healthStaged engine-aware upgradeExact version + health + client I/OUnsupported/downgrade edge rejected; stops and recovers at the failed stage
FailoverEligible topology + fencing/quorumPromotion or Galera routing reconcileNew serving role + stable endpointRejoin/reconcile remains separate
08OPERATIONS CATALOG

Operator surface

DB operations become explicit product actions.

Operators work with lifecycle intent rather than memorized shell sequences.

01 · PROVISION

Create database service

Engine-aware deployment with preflight and runtime verification.

02 · SCALE

Add member

Prepare, join, sync and verify topology.

03 · BACKUP

Create recovery artifact

Scheduled backup with retention and verify; native backup with integrity evidence.

04 · RESTORE

Recover service

Compatibility and service-level verification.

05 · UPGRADE

Change engine version

Supported edge and staged runtime read-back.

06 · FAILOVER

Move serving role

Planned switchover and failover with quorum/fencing-aware promotion or reconciliation.

07 · REJOIN

Repair membership

Return a recovered node to valid membership.

08 · OBSERVE

Inspect service

Topology, replication, endpoint and telemetry state.

09 · USERS

Users & databases

Create, grant, rotate passwords and drop through the same job path.

10 · TLS

Certificate lifecycle

Certificate status, renewal, reissue and product CA rotation.

11 · TUNING

Apply tuning profile

Resource-aware configuration profiles applied with ordered, safe restarts.

MCP

Remote MCP without a parallel authority. OAuth 2.1 Authorization Code + PKCE: the Panel is the Authorization Server and the MCP Addon the Resource Server; grants bind to the existing mcp_clients, RBAC, scope and rate limits instead of a second access model.

Database lifecycle as a product, not a runbook.

The control plane stays consistent while each engine retains its real topology and failure semantics.

All 4SO products →