Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

🏠 Back to Blog

RDS (Relational Database Service)

Introduction

  • Fully managed relational database service
    • Automated provisioning and maintenance
    • Full backups and point in time restore
  • Monitoring dashboards
  • Multi AZ setup for DR
  • Read replicas for improved performance
  • Storage backed by EBS
  • Vertical and horizontal scaling
  • Supports
    • Postgres
    • MySql / MariaDB
    • Oracle
    • IBM DB2
    • MSSQL
    • Aurora (Postgres and MySQL)
  • You cannot SSH or access the underlying database compute instance
  • Storage auto-scaling

Read replicas

  • Scale out database reads
    • read replicas only support select statements
  • Improves performance for reads
  • You can create up to 15 read replicas in the same AZ, cross AZ, or cross region
  • Asynchronous replication, reads are eventually consistent
  • You can promote a read replica to a full read/write instance
  • Apps must update the connection string to use a read replica
  • Network costs
    • If the replica is in the same region, there is no fee for network traffic
    • Cross region replicas will cost you for replication traffic

RDS Proxy

  • Fully managed database proxy for RDS
  • Allow apps to pool and share DB connections established with the database
  • Improves database efficiency by reducing stress on the database resources by pooling connections at the proxy
  • Serverless, autoscaling, HA
  • Reduced RDS and Aurora failover time by up to 66%
  • RDS proxy is only accessible from within the VPC, it is never publicly accessible
  • RDS proxy is particularly helpful when you have auto-scaling lambda functions connecting to your database