Saltar a contenido

RDS (Relational Database Service).

  • Un RDS es un sistema operativo que incluye todo el software configurado e instalado para el uso directamente de un gestor de base de datos.

SGBD.

Un Sistema Gestor de Base de Datos es el software que nos va a permitir gestionar nuestra base de datos: crear tablas, introducir datos, relacionar tablas para evitar incongruencias, etc.

Existen varios SGBD como MariaDB, PostgreSQL, MySQL.

  • Se trata de un servicio administrado y por tanto forma parte de un PaaS, es decir, no estamos contratando simplemente una máquina con un sistema operativo, si no también una serie de paquetes actualizados, configurados e instalados.
¿Podemos instalar todo esto por nuestra cuenta en una EC2?

Sí. Pero al desplegar un RDS nos ahorramos el mantenimiento del servidor, buscar e instalar el software, su actualización en un futuro, realizar copias de seguridad, garantizar la disponibilidad o automatizar la escalabilidad.

Seguridad.

Por seguridad las RDS se suelen instanciar en VPC privadas y solo aceptan peticiones de las EC2 que necesiten acceder a ella.

Esto tiene el inconveniente que no nos podemos conectar directamente a ella (tendremos que saltar desde una EC2), pero la protege al no estar alcanzable directamente desde Internet.

Costes.

  • Dentro de los parámetros que generan coste en un RDS destacan.

    🔥 Tiempo en funcionamiento.

    🔥 Tipo de Instancia: CPU, RAM, Disco Duro.

    🔥 Transacciones realizadas en la base de datos.

Una transacción es una lectura o escritura en la base de datos.

Implementación Multi-AZ.

  • La implementación Multi-AZ genera automáticamente una copia continua de la base de datos original en una zona de disponibilidad diferente (alta disponibilidad).
  • La copia se hace de manera síncrona: Se escribe a la vez en la base de datos original y en la de respaldo.
¿Cuándo usaríamos una implementación Multi-AZ?

Cualquier aplicación que no pueda permitirse perder una transacción: sistemas financieros o comercio electrónico.

  • Ante un fallo de la base de datos principal, automáticamente la de respaldo tomaría su función.

Implementación de réplica de lectura.

  • Se crea una base de datos en una zona de disponibilidad o región diferente.

  • La replicación es asíncrona: Se escribe en la base de datos original y pasado un tiempo se actualizan todos los datos en la de respaldo.

  • Ante un fallo de la base de datos original, de forma manual, la base de datos de respaldo puede tomar su lugar.

¿Cuándo usaríamos una implementación de réplica de lectura?

En situaciones donde la consistencia en tiempo real no es crítica: backups.

Instantáneas.

  • Una instantánea es una copia exacta de los datos en cierto momento (copia de seguridad).

  • Podemos programar la creación de instantáneas de nuestra base de datos o crearlas manualmente.

Por defecto, se generan instantáneas diarias que se van borrando cada 7 días.

  • Las instantáneas se pueden almacenar en otras regiones.

Al crear una instantánea de los datos se congela toda la actividad en disco, lo que produce una pequeña interrupción en la disponibilidad del servicio, por tanto éstas se deben realizar cuando menor carga haya, generalmente de madrugada.