Database Management
Thalassa Cloud’s Database as a Service (DBaaS) provides managed PostgreSQL clusters with high availability and automatic failover capabilities. Our service is designed to handle most production workloads while minimizing operational overhead.
Overview
Our PostgreSQL service is built with reliability at its core. Each database cluster can be configured with up to nine (depending on quotas) replicas, automatically distributed across availability zones within a region. This architecture ensures:
- Automatic failover in case of primary node failure
- Data redundancy across physically separate datacenter buildings
- Consistent performance with predictable network latency
- Zero data transfer costs across availability zones
Supported PostgreSQL Versions
We currently support the following PostgreSQL versions:
- PostgreSQL 17.5
- PostgreSQL 16.9
- PostgreSQL 15.13
Our team handles all patching and updates, allowing you to focus on your applications rather than database maintenance. We support the latest 3 major Postgres versions at the time of launch. For each major version, we support the latest minor patch release.
Key Features
High Availability
- Multi-AZ deployment: Clusters can be configured with replicas across availability zones
- Automatic failover: Seamless failover to healthy replicas in case of primary node failure
- Data redundancy: Your data is replicated across physically separate datacenter buildings
Automated Management
- Automated backups: Regular automated backups with configurable retention policies
- Automatic scaling: Scale compute resources up or down based on demand
- Auto minor version upgrades: Opt into automatic minor version patches within configured maintenance windows
Security & Compliance
- SSL/TLS encryption: All connections are encrypted by default
- Role-based access control: Fine-grained access control for databases and users
- Network security: Integration with VPCs, subnets, and security groups
- Delete protection: Prevent accidental deletion of critical database clusters
Monitoring & Operations
- Health monitoring: Continuous monitoring of cluster health and performance
- Performance metrics: Detailed metrics for CPU, memory, storage, and connections
- Log management: Centralized logging for troubleshooting and compliance
Creating Database Clusters
Database clusters can be created through our Console, API, or Infrastructure as Code (IaC) tools.
Prerequisites
Before creating a database cluster, ensure you have:
- VPC and Subnet: A VPC with at least one subnet in your desired region
- Security Groups: Security groups configured to allow database connections. If you use VPC firewall rules, ensure they allow access to the database endpoint.
- Instance Type: Choose an appropriate database instance type for your workload
Cluster Configuration
When creating a database cluster, you’ll need to specify:
- Name: A unique name for your cluster (1-32 characters)
- Description: Optional description for your cluster
- Engine: Currently supports PostgreSQL
- Engine Version: Choose from supported PostgreSQL versions
- Instance Type: CPU and memory configuration
- Storage: Allocated storage in GB and storage type
- Replicas: Number of instances (1-9 for high availability)
- Network: Subnet and security group configuration
- Initial Database: Optional initial database and user setup
Managing Database Clusters
Scaling Operations
You can scale your database cluster in several ways:
- Vertical scaling: Change the instance type to increase CPU and memory
- Storage scaling: Increase allocated storage (always upward)
- Replica scaling: Add or remove replicas for high availability
Maintenance Windows
Configure maintenance windows for:
- Minor version upgrades: Automatic patches within your specified window
- Security updates: Critical security patches applied automatically
- Infrastructure maintenance: Planned maintenance with minimal downtime
Backup Management
- Automated backups: Daily automated backups with configurable retention
- Manual backups: Create on-demand backups for special events
- Point-in-time recovery: Restore to any point within your backup retention period
- Cross-region backup: Optional backup replication to other regions
Access Control
Configure database access through:
- Database grants: Control read/write access to specific databases
- Role permissions: Manage user privileges and capabilities
- Connection limits: Set maximum concurrent connections per user
Best Practices
High Availability Setup
- Use multiple replicas: Deploy with 2-3 replicas for production workloads
- Cross-AZ deployment: Ensure replicas are distributed across availability zones
Security Configuration
- Use SSL connections: Always connect using SSL/TLS encryption. The database clusters are configured with TLS.
- Implement least privilege: Grant minimum required permissions to users
- Regular password rotation: Implement password rotation policies
Performance Optimization
- Right-size instances: Choose appropriate instance types for your workload
- Monitor query performance: Use PostgreSQL’s built-in monitoring tools
- Optimize storage: Use appropriate storage types for your workload
- Connection pooling: Implement connection pooling for application connections
Backup Strategy
- Automated backups: Enable daily automated backups
- Test restores: Regularly test backup restoration procedures
- Retention policies: Configure appropriate backup retention periods
- Cross-region backup: Consider backup replication for disaster recovery