# Servicio de Bases de Datos Relaciones de Amazon

El Servicio de Bases de Datos Relacionales de Amazon (o Amazon RDS ) es un servicio de base de datos relacional distribuido de Amazon Web Services (AWS). Es un servicio web que se ejecuta "en la nube" diseñado para simplificar la configuración, el funcionamiento y el escalado de una base de datos relacional para su uso en aplicaciones. Los procesos de administración, como la aplicación de parches al software de la base de datos, la copia de seguridad de las bases de datos y la habilitación de la recuperación en un momento dado, se gestionan automáticamente. El almacenamiento de escala y los recursos informáticos se pueden realizar mediante una sola llamada API al plano de control de AWS bajo demanda. AWS no ofrece una conexión SSH a la máquina virtual subyacente como parte del servicio administrado.

## Cronología

Amazon RDS se lanzó por primera vez el 22 de octubre de 2009 soportando bases de datos MySQL. A este le siguió el soporte para Oracle Database en junio de 2011, Microsoft SQL Server en mayo de 2012, PostgreSQL en noviembre de 2013, y MariaDB (una bifurcación de MySQL) en octubre de 2015, y 80 funciones adicionales durante 2017.
En noviembre de 2014, AWS anunció Amazon Aurora, una base de datos compatible con MySQL que ofrece alta disponibilidad y rendimiento mejorados, y en octubre de 2017 se lanzó una oferta de base de datos compatible con PostgreSQL.

## Características

Las nuevas instancias de bases de datos se pueden lanzar desde la Consola de administración de AWS o mediante las API de Amazon RDS. Amazon RDS ofrece diferentes características para admitir diferentes casos de uso. Algunas de las características principales son:

### Implementación de zona de disponibilidad múltiple (AZ)

En mayo de 2010, Amazon anunció la compatibilidad con la implementación de zonas de disponibilidad múltiple. Amazon RDS Multi-Availability Zone (AZ) permite a los usuarios aprovisionar y mantener automáticamente una réplica "en espera" física o lógica síncrona, según el motor de la base de datos, en una zona de disponibilidad diferente (infraestructura independiente en una ubicación físicamente separada). La instancia de base de datos Multi-AZ puede desarrollarse en el momento de la creación o modificarse para ejecutarse como una implementación Multi-AZ más adelante. Las implementaciones Multi-AZ tienen como objetivo proporcionar una mayor disponibilidad y durabilidad de los datos para instancias de MySQL, MariaDB, Oracle, PostgreSQL y SQL Server y están destinadas a entornos de producción. En caso de que se produzca un mantenimiento planificado de la base de datos o una interrupción no planificada del servicio, Amazon RDS conmuta por error automáticamente al modo de espera actualizado, lo que permite que las operaciones de la base de datos se reanuden sin intervención administrativa.
Las instancias Multi-AZ RDS son opcionales y tienen un costo asociado. Al crear una instancia de RDS, se le pregunta al usuario si le gustaría usar una instancia de RDS Multi-AZ. En las implementaciones Multi-AZ RDS, las copias de seguridad se realizan en la instancia en espera, por lo que la actividad de E/S no se suspende en ningún momento, pero es posible que experimente latencias elevadas durante unos minutos durante las copias de seguridad.

### Leer réplicas

Las réplicas de lectura permiten diferentes casos de uso, como escalar para cargas de trabajo de base de datos con muchas lecturas. Hay hasta cinco réplicas disponibles para MySQL, MariaDB y PostgreSQL. Las instancias utilizan la funcionalidad de replicación asincrónica nativa de sus respectivos motores de base de datos. No tienen copias de seguridad configuradas de forma predeterminada y son accesibles y se pueden usar para el escalado de lectura. Las réplicas de lectura de MySQL y MariaDB se pueden volver a escribir desde octubre de 2012; las réplicas de lectura de PostgreSQL no lo admiten. Las réplicas se realizan a nivel de instancia de base de datos y no admiten la replicación a nivel de base de datos o tabla.

### Métricas de desempeño y monitoreo

Las métricas de rendimiento de Amazon RDS están disponibles en la Consola de administración de AWS o en la API de Amazon CloudWatch . En diciembre de 2015, Amazon anunció una función de monitoreo mejorada opcional que proporciona un conjunto ampliado de métricas para los motores de base de datos MySQL, MariaDB y Aurora.

### Costos de RDS

Las instancias de Amazon RDS tienen un precio muy similar al de Amazon Elastic Compute Cloud (EC2). RDS se cobra por hora y viene en dos paquetes: instancias de base de datos bajo demanda e instancias de base de datos reservadas. Las instancias bajo demanda tienen una tarifa de uso constante por hora. Las instancias de base de datos reservadas requieren una tarifa única por adelantado y, a su vez, proporcionan un descuento en el cargo por uso por hora para esa instancia.
Además del costo por hora de ejecutar la instancia de RDS, a los usuarios se les cobra por la cantidad de almacenamiento aprovisionado, las transferencias de datos y las operaciones de entrada y salida realizadas. AWS ha introducido operaciones de entrada y salida aprovisionadas, en las que el usuario puede definir cuántas E/S por segundo requiere su aplicación. IOPS puede contribuir significativamente al costo total de ejecutar la instancia de RDS.
Como parte de la capa gratuita de AWS, la capa gratuita de Amazon RDS ayuda a los nuevos clientes de AWS a comenzar con un servicio de base de datos administrado en la nube de forma gratuita. Puede utilizar la capa gratuita de Amazon RDS para desarrollar nuevas aplicaciones, probar aplicaciones existentes o simplemente adquirir experiencia práctica con Amazon RDS.

### Copias de seguridad automáticas

Amazon RDS crea y guarda copias de seguridad automatizadas de instancias de base de datos de RDS. La primera instantánea de una instancia de base de datos contiene los datos de la instancia de base de datos completa y las instantáneas posteriores son incrementales, el período de retención máximo es de 35 días. En las implementaciones Multi-AZ RDS, las copias de seguridad se realizan en la instancia en espera, por lo que la actividad de E/S no se suspende durante ningún período de tiempo, pero es posible que experimente latencias elevadas durante unos minutos durante las copias de seguridad.

### Operación

Las instancias de la base de datos se pueden administrar desde la Consola de administración de AWS, utilizando las API de Amazon RDS y AWS CLI. Desde el 1 de junio de 2017, puede detener las instancias de AWS RDS desde la Consola de administración de AWS o la CLI de AWS durante 7 días a la vez. Después de 7 días, se iniciará automáticamente, y, desde septiembre de 2018, las instancias de RDS se pueden proteger contra una eliminación accidental. Se admite aumentar el espacio de la base de datos, pero no disminuir el espacio asignado. Además, hay al menos un período de seis horas en el que no se puede realizar una nueva asignación.

## Tipos de instancias de base de datos

A partir de agosto de 2020, Amazon RDS admite 82 tipos de instancias de base de datos para admitir diferentes tipos de cargas de trabajo:
* Propósito general: 31 instancias
* Memoria optimizada: 33 instancias
* Generación anterior: 18 instancias

### Propósito general

| Tipo de instancia | Memoria | EBS optimizado/rendimiento | Núcleos | Rendimiento de la red |
| db.t2.micro | 1 GB | | 1 | Bajo a moderado |
| db.t2.small | 2 GB | | 1 | Bajo a moderado |
| db.t2.medium | 4 GB | | 2 | Bajo a moderado |
| db.t2.large | 8 GB | | 2 | Bajo a moderado |
| db.t2.xlarge | 16 GB | | 4 | Moderado |
| db.t2.2xlarge | 32 GB | | 8 | Moderado |
| db.t3.micro | 1 GB | | 2 | Hasta 5 Gbps |
| db.t3.small | 2 GB | | 2 | Hasta 5 Gbps |
| db.t3.medium | 4 GB | | 2 | Hasta 5 Gbps |
| db.t3.large | 8 GB | | 2 | Hasta 5 Gbps |
| db.t3.xlarge | 16 GB | | 4 | Hasta 5 Gbps |
| db.t3.2xlarge | 32 GB | | 8 | Hasta 5 Gbps |
| db.m4.large | 8 GB | 450 Mbit/s | 2 | Moderado |
| db.m4.xlarge | 16 GB | 750 Mbit/s | 4 | Alto |
| db.m4.2xlarge | 32 GB | 1000 Mbit/s | 8 | Alto |
| db.m4.4xlarge | 64 GB | 2000 Mbit/s | 16 | Alto |
| db.m4.10xlarge | 160 GB | 4000 Mbit/s | 40 | 10 Gigabit |
| db.m4.16xlarge | 256 GB | 10000 Mbit/s | 64 | 25 Gigabit |
| db.m5.large | 8 GB | up to 3500 Mbit/s | 2 | Hasta 10 Gbps |
| db.m5.xlarge | 16 GB | up to 3500 Mbit/s | 4 | Hasta 10 Gbps |
| db.m5.2xlarge | 32 GB | up to 3500 Mbit/s | 8 | Hasta 10 Gbps |
| db.m5.4xlarge | 64 GB | 3500 Mbit/s | 16 | Hasta 10 Gbps |
| db.m5.12xlarge | 192 GB | 7000 Mbit/s | 48 | 10 Gigabit |
| db.m5.24xlarge | 384 GB | 14000 Mbit/s | 96 | 25 Gigabit |
| db.m6g.large | 8 GB | Up to 4750 Mbit/s | 2 | Hasta 10 Gbps |
| db.m6g.xlarge | 16 GB | Up to 4750 Mbit/s | 4 | Hasta 10 Gbps |
| db.m6g.2xlarge | 32 GB | Up to 4750 Mbit/s | 8 | Hasta 10 Gbps |
| db.m6g.4xlarge | 64 GB | 4750 Mbit/s | 16 | Hasta 10 Gbps |
| db.m6g.8xlarge | 128 GB | 9000 Mbit/s | 32 | 12 Gbps |
| db.m6g.12xlarge | 192 GB | 13500 Mbit/s | 48 | 20 Gbps |
| db.m6g.16xlarge | 256 GB | 19000 Mbit/s | 64 | 25 Gbps |

### Memoria optimizada

| Tipo de instancia | Memoria | EBS optimizado/rendimiento | Núcleos | Rendimiento de la red |
| db.r4.large | 15.25 GB | 437 Mbit/s | 2 | Hasta 10 Gbps |
| db.r4.xlarge | 30.5 GB | 875 Mbit/s | 4 | Hasta 10 Gbps |
| db.r4.2xlarge | 61 GB | 1750 Mbit/s | 8 | Hasta 10 Gbps |
| db.r4.4xlarge | 122 GB | 3500 Mbit/s | 16 | Hasta 10 Gbps |
| db.r4.8xlarge | 244 GB | 7000 Mbit/s | 32 | 10 Gbps |
| db.r4.16xlarge | 488 GB | 14000 Mbit/s | 64 | 25 Gbps |
| db.r5.large | 16 GB | up to 3500 Mbit/s | 2 | Hasta 10 Gbps |
| db.r5.xlarge | 32 GB | up to 3500 Mbit/s | 4 | Hasta 10 Gbps |
| db.r5.2xlarge | 64 GB | up to 3500 Mbit/s | 8 | Hasta 10 Gbps |
| db.r5.4xlarge | 128 GB | 3500 Mbit/s | 16 | Hasta 10 Gbps |
| db.r5.12xlarge | 384 GB | 7000 Mbit/s | 48 | 10 Gbps |
| db.r5.24xlarge | 768 GB | 14000 Mbit/s | 96 | 25 Gbps |
| db.r6g.large | 16 GB | up to 4750 Mbit/s | 2 | Hasta 10 Gbps |
| db.r6g.xlarge | 32 GB | up to 4750 Mbit/s | 4 | Hasta 10 Gbps |
| db.r6g.2xlarge | 64 GB | up to 4750 Mbit/s | 8 | Hasta 10 Gbps |
| db.r6g.4xlarge | 128 GB | 4750 Mbit/s | 16 | Hasta 10 Gbps |
| db.r6g.8xlarge | 256 GB | 9000 Mbit/s | 32 | 12 Gbps |
| db.r6g.12xlarge | 384 GB | 13500 Mbit/s | 48 | 20 Gbps |
| db.r6g.16xlarge | 512 GB | 19000 Mbit/s | 64 | 25 Gbps |
| db.x1e.xlarge | 122 GB | 500 Mbit/s | 4 | Hasta 10 Gbps |
| db.x1e.2xlarge | 244 GB | 1000 Mbit/s | 8 | Hasta 10 Gbps |
| db.x1e.4xlarge | 488 GB | 1750 Mbit/s | 16 | Hasta 10 Gbps |
| db.x1e.8xlarge | 976 GB | 3500 Mbit/s | 32 | Hasta 10 Gbps |
| db.x1e.16xlarge | 1952 GB | 7000 Mbit/s | 64 | 10 Gbps |
| db.x1e.32xlarge | 3904 GB | 14000 Mbit/s | 128 | 25 Gbps |
| db.x1.16xlarge | 976 GB | 7000 Mbit/s | 64 | 10 Gbps |
| db.x1.32xlarge | 1952 GB | 14000 Mbit/s | 128 | 25 Gbps |
| db.z1d.large | 16 GB | | 1 | Hasta 10 Gbps |
| db.z1d.xlarge | 32 GB | | 2 | Hasta 10 Gbps |
| db.z1d.2xlarge | 64 GB | | 4 | Hasta 10 Gbps |
| db.z1d.3xlarge | 96 GB | | 6 | Hasta 10 Gbps |
| db.z1d.6xlarge | 192 GB | | 12 | 10 Gbps |
| db.z1d.12xlarge | 384 GB | | 48 | 25 Gbps |

### Generación anterior

| Tipo de instancia | Memoria | EBS optimizado/rendimiento | Núcleos | Rendimiento de la red |
| db.t1.micro | 0,613GB | | 1 | Muy bajo |
| db.m1.pequeño | 1,7 GB | | 1 | Bajo |
| db.m1.medio | 3,75 GB | | 1 | Moderado |
| db.m1.grande | 7,5 GB | | 2 | Moderado |
| db.m1.xlarge | 15GB | | 4 | Alto |
| db.m$^2$.xgrande | 17,1 GB | | 2 | Moderado |
| db.m$^2$.2xgrande | 34,2GB | | 4 | Moderado |
| db.m$^2$.4xgrande | 68,4GB | | 8 | Alto |
| db.m3.medio | 3,75GB | | 1 | Moderado |
| db.m3.grande | 7,5GB | | 2 | Moderado |
| db.m3.xgrande | 15GB | 500 Mbit/s | 4 | Alto |
| db.m3.2xgrande | 30GB | 10000 Mbit/s | 8 | Alto |
| db.cr1.8xl | 244GB | | 32 | 10 gigabits |
| db.r3.grande | 15,25GB | | 2 | Moderado |
| db.r3.xgrande | 30,5GB | | 4 | Moderado |
| db.r3.2xgrande | 61GB | | 8 | Alto |
| db.r3.4xgrande | 122 GB | | 16 | Alto |
| db.r3.8xgrande | 244 GB | | 32 | 10 gigabits |