# Overview

<!--- Template Guidance 
This is the architectural overview of your product and where you explain key concepts and introduce domain specific terminology. 
Don't rely on text alone: diagrams tend to go a long way to make these concepts clear. 
The goal is to ensure that people get a good mental model of what problem the product is solving and how it is solving it.
The target audience here is system designers and architects. 

NOTE: Take a look at the overview of NLB (community/community/content/product/networking/nlb/overview/_index.md) for a good reference example.
-->

Exoscale’s __Database as a Service (DBaaS)__ enables you to quickly deploy fully managed data stores on demand. Our service is supported by enterprise-grade automation, ensures European data residency, and offers clusters with up to 99.99% uptime Service Level Agreements (SLAs).

## Architecture
Exoscale DBaaS provisions **dedicated virtual machines** per service; no compute resources are shared across organizations, and the servers never appear in your public instance list — they live behind a managed endpoint that Exoscale operates for you. Each plan changes *how many* of those isolated nodes are launched (single-node for Hobbyist/Startup, multi-node clusters for Business/Premium).

Under the hood, a European control plane (powered by our partner **Aiven**) orchestrates day-to-day operations: creation, daily backups, automated fail-over, rolling upgrades, and health checks. Traffic between nodes and to the object storage is encrypted, and all data remains inside the zone-country you selected.  

Because every service has dedicated VMs, you can resize, fork, or terminate it without affecting any other customer. After internal fail-over, the endpoint’s DNS name stays the same, so clients only need basic reconnect logic.

> [!NOTE]
> Use the plan naming scheme (`<tier>-<nodes>x?-<memory>`) to know instantly 
> how many dedicated nodes and RAM each deployment receives.

### Naming Conventions
A DBaaS plan name tells you **three key facts** about the service without opening a table:

| Segment           | Example   | Meaning                                                               |
| :---              |:---:      |:---                                                                   |
| **Tier**          | `premium` | Redundancy & backup profile (Hobbyist ---> Premium)                   |
| **Node Count**    | `9x`      | Number of nodes in the cluster (omitted on single-node plans)         |
| **RAM per Node**  | `16`      | Memory in GB for *each* node; aligns with Exoscale Compute flavors    |

### Reading a Plan

*`premium-9x-16`* ---> Premium-tier cluster, **9** nodes, **16 GB** RAM each.

### Tier Quick Reference

- **Hobbyist**
  single node, no SLA, hourly backup (1 copy)  
- **Startup**
  single node, 99.95 % SLA, hourly + rolling 3-day daily backups  
- **Business**
  2 nodes, hourly + 14-day retention, 99.99 % SLA  
- **Premium** 
  3 nodes, hourly + 30-day retention, 99.99 % SLA  

Details (CPU, storage, price) live in the [DBaaS plan tables](https://www.exoscale.com/dbaas/).

### Why the Pattern?

The scheme is shared by all engines (`pg`, `mysql`, `kafka`, `opensearch`, `valkey`, `grafana`, `thanos`) so teams can:

- **Spot Capacity**
  larger last number = more RAM  
- **Spot Resilience**
  higher tier = more replicas/backups  
- **Compare Costs**
  same tier & size behave similarly across zones  

> [!NOTE]
> when creating or updating a service via CLI/API, the `plan-string` is the only argument 
> you need to switch hardware, redundancy or price class.

### Service Levels 
Most DBaaS plans have a guaranteed **Service Level Agreement (SLA)** for high availability and reliability.

- **Hobbyist** plans have no SLA (best effort, no service credits)  
- **Startup** plans provide **99.95%** availability  
- **Business** and **Premium** plans provide **99.99%** availability  

The SLA applies to the uptime and responsiveness of the managed database services. It ensures that services remain accessible and functional according to enterprise-grade standards. Failures beyond this threshold are eligible for compensation as defined in the 
[Exoscale's SLAs](https://www.exoscale.com/terms/#:~:text=4.%20Service%20Level%20Agreement%20(SLA)).

> [!NOTE]
> The SLA applies only to the service infrastructure and not to user data, applications, or queries running on the databases.


## Terminology
Exoscale DBaaS
: A managed database as a service provided by Exoscale, which allows users to
  deploy and manage databases without managing the underlying infrastructure.

Plans
: Exoscale offers various plans for their DBaaS solutions, including Hobbyist,
  Startup, Business, and Premium, each catering to different workload
  requirements and scales.

Database Forking
: Available in some plans, allowing users to create a duplicate of a database
  for testing or development purposes without affecting the production
  environment.

Dedicated Instances
: All Exoscale managed databases run on dedicated instances, ensuring resources
  are not shared with other clients, which improves performance and security.

Volume Size
: Refers to the storage capacity allocated for a database instance, which
  varies depending on the plan and can be adjusted to match the application
  needs.

Max Connections
: The maximum number of connections a database can handle at any time, which is
  set according to the chosen plan.

Data Replication
: Exoscale ensures data replication within its infrastructure to maintain data
  integrity and availability.

Daily Backups
: All plans include daily backups, securing data and providing a restore point
  in the case of failure or data loss.

Zones
: Exoscale DBaaS solutions are available across multiple zones, providing
  options for geographic distribution and high availability.


## Features
Managed Lifecycle
: provisioning, patching, auto-healing and upgrades are handled by Exoscale.

Automated Backups
: daily encrypted backups retained per-plan policy; point-in-time-recovery
  available on engines that support it.

High Availability Options
: from single-node *Hobbyist* to multi-node *Premium* clusters with synchronous
  replication.

Security by Design
: services are isolated on dedicated instances and reachable only via
  TLS-encrypted endpoints; IP filters control ingress.

Automation
: full API & CLI coverage, plus Terraform provider

SLAs
: Startup 99.95 %, Business & Premium 99.99 %; Hobbyist has no SLA.

