Todo lo que no sabías sobre Amazon Aurora

Los sistemas de bases de datos tradicionales tienen muchas limitaciones de rendimiento, disponibilidad y escalabilidad. Amazon Aurora es la solución a estas limitaciones.

Las bases de datos son necesarias para impulsar las aplicaciones que hacen funcionar el negocio. Deben ser más grandes, más confiables y más rápidos para brindar mejores servicios. Amazon Web Services facilita a las empresas la gestión de datos y mejora la satisfacción del cliente.

El servicio web AWS Aurora de Amazon es un ejemplo de dicho servicio. Utiliza el volumen del clúster para administrar sus datos y asignarlos para respaldo de emergencia.

¿Qué es Amazon Aurora?

Amazon Aurora, una base de datos nativa de la nube, es totalmente compatible con MySQL y PostgreSQL de código abierto. Aurora es compatible con todas las funciones de MySQL de código abierto. También permite la compatibilidad inmediata con aplicaciones que se ejecutan en estas bases de datos.

Aurora se diseñó para clientes que requieren un servicio de base de datos totalmente administrado con la rentabilidad y la simplicidad de las bases de datos de código abierto pero con el mismo rendimiento que una base de datos comercial.

Aurora ofrece un rendimiento cinco veces más rápido que MySQL tradicional y tres veces mejor que PostgreSQL. Amazon RDS maneja tareas como el aprovisionamiento, la copia de seguridad y la recuperación. No hay costo inicial y solo paga una tarifa mensual.

Aurora es única porque ofrece un historial de excelencia operativa y características empresariales a una fracción del costo de las bases de datos comerciales.

Aurora proporciona rendimiento, disponibilidad, seguridad y confiabilidad sin precedentes a nivel mundial. Aurora ha sido el servicio de más rápido crecimiento en la cartera de AWS desde su creación en 2014.

¿Para qué se utiliza Amazon Aurora?

El notable crecimiento de Aurora ha sido impulsado por un fuerte interés de muchas industrias. Hemos visto un gran interés en los servicios financieros, software e Internet, así como en los verticales de entretenimiento y juegos y minoristas en los últimos doce meses.

Los clientes migran a Aurora MySQL y Aurora PostgreSQL para consolidar sus bases de datos MySQL y PostgreSQL. También vemos a muchos clientes migrar de bases de datos heredadas como Oracle o Microsoft SQL Server a Aurora PostgreSQL.

Estos clientes que están «libres de rupturas» se han cansado de pagar altas tarifas de licencia y encerrarse en bases de datos heredadas. Los clientes con un alto crecimiento quieren escalar rápidamente y sin problemas en todas las regiones. También quieren poder integrarse en los servicios de AWS.

Beneficios de Amazon Aurora

A continuación se muestran los beneficios de usar Amazon Aurora:

Escalabilidad

Puede habilitar el ajuste de escala automático. Aumentará la capacidad de almacenamiento cuando tenga más almacenamiento. También disminuirá el tamaño de su base de datos si hay una disminución en el espacio de almacenamiento.

Económico

Solo pague por la potencia de procesamiento y el espacio de almacenamiento que utilice. No hay tarifas por adelantado u otros cargos. Es simple hacer pagos mensuales.

Seguridad

Amazon VPC le permite aislar la red desde la que se ejecuta su base de datos.

Utilice AWS Key Management Service para crear claves de cifrado que protejan sus datos.

Alta disponibilidad y durabilidad

Puede crear réplicas de Aurora en muchas zonas de disponibilidad.

Es una base de datos global que se puede distribuir fácilmente en varias regiones de AWS, lo que podría disminuir la velocidad de lectura/escritura local.

Apoyo a la Migración

Para migrar su base de datos local a Aurora, puede usar los comandos pg-dump o MySQL dump.

Totalmente administrado

Aurora es muy fácil de usar. Es fácil configurar una instancia mediante la consola de AWS RDS. Aurora ofrece monitoreo con Amazon Cloudwatch sin costo adicional.

No hay necesidad de preocuparse por el aprovisionamiento, la actualización o la actualización. Amazon tiene control total sobre todos los aspectos de su software y realizará los parches necesarios.

Las mejores características de Amazon Aurora

A continuación se muestran las mejores características de Amazon Aurora:

Escalabilidad: Esta es la mejor característica de Amazon Aurora. La base de datos aumenta automáticamente de tamaño según los requisitos de almacenamiento. El volumen puede crecer en incrementos de hasta 10 GB y puede alcanzar un máximo de 128 TB. Esto permite un almacenamiento sin problemas.

Alto rendimiento: los puntos de referencia de SysBench han mostrado un aumento de 5 veces en el rendimiento. Amazon Aurora emplea una variedad de técnicas de software y hardware para maximizar la memoria, la informática y las redes disponibles. Para mejorar la consistencia del rendimiento, las operaciones de entrada y salida utilizan técnicas de sistemas distribuidos como los quórumes.

Supervisión y reparación de instancias: Amazon RDS supervisa continuamente el estado y el rendimiento de la base de datos de Amazon Aurora, así como de las instancias EC2 subyacentes. Amazon RDS reinicia automáticamente la base de datos en caso de falla de la base de datos y todos los procesos asociados.

Cifrado: Amazon Aurora brinda alta seguridad al permitirle cifrar la base de datos utilizando claves que usted controla y crea a través de AWS Key Management Service. Amazon Aurora utiliza el cifrado SSL para proteger los datos durante el tránsito.

Fácil de usar: Amazon Aurora es fácil de usar. La consola de administración de Amazon RDS se utiliza para crear la nueva instancia de base de datos de Amazon Aurora. Esta llamada API, o CLI, solo toma una llamada API. Las instancias de base de datos de Amazon Aurora vienen preconfiguradas con los parámetros y configuraciones adecuados para cada tipo de instancia de base de datos.

Rentable: Paga solo por lo que usas. No hay costos iniciales ni otras tarifas. Es simple hacer pagos mensuales.

Compatibilidad con la migración: para migrar su base de datos local de Aurora a Aurora, puede usar los comandos pg-dump o MySQL dump.

Aurora está completamente administrada: puede comenzar a usarla de inmediato. Todo lo que necesita hacer es crear una instancia utilizando la consola de AWS RDS o llamar a una API desde su código. No hay necesidad de preocuparse por el aprovisionamiento, la actualización o la actualización.

Arquitectura Amazonas Aurora

Toda la arquitectura de la base de datos Aurora se basa en un DBMS tradicional. Reutiliza la mayoría de los componentes de DBMS, como el administrador de transacciones, el motor de ejecución de consultas y el administrador de recuperación.

Amazon Aurora es un nuevo DBMS que va más allá del juego tradicional. Hace muchas mejoras a los DBMS existentes para aumentar su disponibilidad, confiabilidad y escalabilidad.

Estos cambios son:

  • Se utiliza una configuración de réplica principal
  • El almacenamiento remoto de los datos se puede replicar
  • Solo los registros de cambios deben guardarse en el disco remoto

La arquitectura de Amazon Aurora puede escalar las capas de almacenamiento de las bases de datos relacionales tradicionales.

La instancia de la base de datos principal de Amazon Aurora pasa el registro de rehacer a su capa de almacenamiento para su procesamiento. Los registros son procesados ​​por la capa de almacenamiento, que crea y almacena nuevas versiones de la página y realiza una copia de seguridad de todo en S3.

Crédito de la imagen: AWS

Amazon Aurora solo necesita crear instancias de motor de base de datos adicionales y conectarlas con la capa de almacenamiento existente durante un escalamiento horizontal. Esto elimina el cuello de botella en la replicación de datos al delegar estas tareas para el procesamiento paralelo a la capa de almacenamiento.

Esto permite la creación de muchas características nuevas, tales como:

  • Recuperación instantánea de fallas: no necesita reproducir registros desde el último punto de control
  • Conmutaciones por error rápidas: no hay necesidad de preocuparse por qué base de datos de réplica tiene el registro de rehacer más reciente. La capa de almacenamiento se encarga de eso.
  • Retroceso: debido a que la capa de almacenamiento ha transmitido registros de rehacer, puede «rebobinar» los datos a puntos específicos en el pasado sin tener que restaurar un punto de control desde la copia de seguridad de S3.

Configuración de Amazon Aurora

A continuación, se detallan los pasos para configurar Amazon Aurora correctamente.

#1. Inicie sesión en la consola de administración de AWS y abra RDS.

#2. Haga clic en crear base de datos.

#3. Seleccione la opción Motor como Amazon Aurora.

#4. Seleccione la versión de Aurora MySQL que necesita.

#5. Cree un identificador de clúster de base de datos y establezca el nombre de usuario y la contraseña de configuración de credenciales.

#6. Seleccione la configuración de la instancia de la opción desplegable y elija una opción para crear una réplica o no.

#7. Seleccione las opciones de conectividad como se muestra a continuación.

#8. Elija de un grupo de seguridad de VPC existente o cree uno nuevo.

#9. Habilite la supervisión mejorada, seleccione la opción de función de granularidad y supervisión.

#10. Finalmente, haga clic en crear base de datos.

#11. Ha creado correctamente la base de datos de Amazon Aurora.

Modelo de precios: Amazon Aurora

Las ACU sin servidor de Aurora v2 cuestan 0,12 dólares la hora, el doble del precio de las ACU de Aurora aprovisionadas. Esto significa:

  • Costo mínimo de funcionamiento actual: 4 ACU, $0.48 por hora o $350 por mes
  • Para las cargas de trabajo que activan patológicamente la función de escalado automático, hay un aumento mínimo de escalabilidad de 30 segundos o 0,0005 USD por media ACU.

El costo mensual de Aurora Serverless V2 es de $350. Cada evento de escalado automático se cobrará al menos $0.0005. Aunque la capacidad equivalente de Aurora es de $175 por mes, no tendría un escalado automático sin servidor receptivo.

Casos de uso: Amazon Aurora

#1. Software como servicio (SaaS)

Utiliza arquitecturas de múltiples talentos que pueden ser flexibles en almacenamiento y escalado de instancias. Como resultado, Amazon Aurora permite a las empresas centrarse en desarrollar aplicaciones de alta calidad y no preocuparse por la base de datos.

#2. Propósito de juego

AWS Aurora funciona de la misma manera que la base de datos relacional. Proporciona alto rendimiento, capacidad de almacenamiento masivo, alta disponibilidad y alta disponibilidad.

#3. Aplicación empresarial

Amazon Aurora es compatible con cualquier firma que ya sea más fílmica que Relational Database. Aurora es rentable ya que reduce el precio hasta en un 90 % en comparación con otras opciones.

Compatibilidad de Aurora con MySQL y PostgreSQL

Amazon Aurora está diseñado para ofrecer alto rendimiento, disponibilidad global y compatibilidad total con MySQL/PostgreSQL. Las herramientas estándar facilitan la migración de bases de datos MySQL y PostgreSQL desde Aurora. También puede ejecutar aplicaciones de SQL Server heredadas con Babelfish para Aurora PostgreSQL, lo que requiere cambios mínimos en el código.

Amazon Aurora funciona con herramientas estándar de importación/exportación de PostgreSQL, como pg_dump o pg_restore. También puede crear una nueva tabla de Amazon Aurora mediante una instantánea de base de datos de Amazon RDS o MySQL.

Las instantáneas de base de datos generalmente se completan rápidamente, pero dependerán de la cantidad y el formato de datos que se migren.

Amazon Aurora frente a Amazon RDS

Diseño arquitectónico

La arquitectura RDS es similar en el sentido de que le permite instalar un motor de base de datos en Amazon EC2 de forma manual, pero deja el aprovisionamiento y el mantenimiento a AWS. RDS proporciona muchas funciones, como conmutación por error automática, copias de seguridad, etc. RDS utiliza volúmenes de Amazon EBS para almacenar datos de base de datos y registros.

El sistema de almacenamiento de la base de datos de Aurora es confiable y tolerante a fallas. El almacenamiento de la base de datos de Aurora es independiente de las instancias. Aurora almacena datos en seis copias, cada una con fragmentos de 10 GB. Estas copias se distribuyen a tres zonas de disponibilidad. Incluso si solo tiene una instancia de Aurora, aún habrá seis copias de sus datos.

Actuación

RDS utiliza almacenamiento SSD para mejorar el rendimiento de I/O. Hay dos opciones de almacenamiento respaldadas por SSD disponibles. Uno es para aplicaciones OLTP de alto rendimiento, mientras que el otro es para uso general y económico.

Aurora ofrece el doble de rendimiento que PostgreSQL y cinco veces el de MySQL estándar en hardware comparable. El desempeño de Aurora ha sido consistentemente más alto y más consistente.

Soporte de motor de base de datos

RDS es compatible con MySQL, PostgreSQL y MariaDB, así como con Microsoft SQL Server y Oracle.

Aurora es compatible tanto con PostgreSQL como con MySQL. Esto significa que puede usar sus herramientas y aplicaciones de base de datos existentes en PostgreSQL y MySQL sin realizar ningún cambio.

Durabilidad y Disponibilidad

Aurora tiene un modelo de almacenamiento único que permite copias de seguridad y restauraciones continuas con un RPO (objetivo de puntos de recuperación) muy bajo. Esto lo hace más fiable y duradero que el RDS.

Los datos son duraderos por diseño en Aurora. Siempre hay varias copias de sus datos. Cada clúster de Aurora tiene seis nodos de almacenamiento distribuidos en tres zonas de disponibilidad. Incluso si solo tiene un nodo de cómputo, todavía hay varias copias de sus datos.

Resiliencia

Debido a su diseño arquitectónico, Aurora es más resistente que RDS. Es rápido para recuperarse de las fallas. Si un nodo de cómputo falla, Aurora puede recuperarse rápidamente.

Almacenamiento

El escalado automático de almacenamiento RDS escala la capacidad de almacenamiento a 64 TiB (excepto los 16 TiB de SQL Server) para adaptarse a las crecientes cargas de trabajo de la base de datos. No hay tiempo de inactividad.

Aurora aumenta automáticamente el almacenamiento aumentándolo desde un mínimo de 10 GB hasta un máximo de 128 TiB. El almacenamiento aumenta en incrementos de 10 GB sin ningún efecto sobre el rendimiento de la base de datos.

Escalabilidad

Escalado vertical: RDS y Aurora le permiten escalar la memoria y los recursos informáticos hasta un máximo de 244 GiB de RAM y 32 CPU virtuales. En cuestión de segundos, puede escalar operaciones.

Aurora Auto Scaling Dynamic: Aurora Auto Scaling ajusta dinámicamente cuántas réplicas de Aurora están disponibles para un clúster de base de datos de Aurora mediante el uso de la replicación de maestro único. RDS NO es compatible con dicho Auto Scaling.

Replicación

RDS se puede utilizar para proporcionar hasta cinco réplicas. El proceso de replicación también es más lento que el de Aurora.

Aurora puede aprovisionar hasta 15 réplicas y la replicación tarda solo unos segundos. Aurora escala más rápido porque puede agregar rápidamente nuevas réplicas de lectura.

conmutación por error

En RDS, la conmutación por error para leer la réplica se realiza manualmente. Esto podría causar la pérdida de datos. Se puede usar Multi-AZ (Standby Instance) para automatizar la conmutación por error y evitar la pérdida de datos.

Para evitar la pérdida de datos, Aurora utiliza la conmutación por error para leer réplicas automáticamente. Aurora tiene un tiempo de conmutación por error más rápido.

Puntos finales de clúster

RDS tiene un extremo de clúster que puede usar para ejecutar sus consultas de escritura. Es el puntero DNS a su instancia de base de datos maestra actual. RDS enruta el punto final al nuevo maestro a través de un simple cambio de DNS durante una conmutación por error.

El extremo del clúster todavía está disponible en Aurora para escribir consultas. Este punto final también actúa como un equilibrador de carga para sus replicaciones de lectura. Este punto final se puede utilizar para responder a sus consultas de lectura.

Respaldo

RDS crea y guarda automáticamente copias de seguridad de sus instancias de base de datos durante la ventana de copia de seguridad de su instancia de base de datos. RDS crea una instantánea de su instancia de base de datos como un volumen de almacenamiento, haciendo una copia de seguridad de todas las bases de datos y no solo de las que seleccione.

Aurora realiza automáticamente una copia de seguridad de los volúmenes del clúster y continúa restaurando los datos durante el período de retención de la copia de seguridad. Las copias de seguridad de Aurora son continuas e incrementales para que pueda restaurar rápidamente cualquier punto dentro del período de retención de la copia de seguridad.

A continuación se muestra la tabla resumida de Amazon Aurora frente a Amazon RDS:

Amazon AuroraAmazon RDSPuede expandir el almacenamiento de 10 GB a 64 GBRDS permite 64 GBS para todos los motores, pero solo 16 GB para el servidor SQLPuede escalar la memoria y computar hasta un máximo de 32 vCPU y 244 GiB de RAMIgual que AuroraAdmite MySQL y PostgreSQLAdmite Microsoft SQL Server, MariaDB, Oracle Database, MySQL, PostgreSQL y Amazon AuroraAdmite quince réplicasAdmite cinco réplicasEl precio depende de las operaciones de E/SPuede probarlo de forma gratuita sin tarifa mínima de uso

Amazon Aurora frente a DynamoDB

Durabilidad y disponibilidad

Cada parte de los datos de DynamoDB se replica en varios nodos físicos. Amazon ha colocado estos nodos físicos en varias zonas (también conocidas como zonas de disponibilidad) para garantizar una alta durabilidad y disponibilidad en caso de un desastre como un incendio o un corte de energía importante. La operación continuará incluso si una copia deja de funcionar. Los SSD también son muy fiables y duraderos.

Copias de seguridad y restauración

DynamoDB ofrece una copia de seguridad a pedido, así como PITR (copias de seguridad de un punto en el tiempo), que le permite acceder a cualquier estado de la base de datos. DynamoDB es capaz de realizar copias de seguridad de cualquier cantidad de datos. El rendimiento y la disponibilidad no se verán afectados. La copia de seguridad lleva muy poco tiempo y los usuarios no tienen que preocuparse por los programas de copia de seguridad o los procesos en segundo plano. AWS permite la recuperación de copias de seguridad con solo una llamada a la API.

El proceso de copia de seguridad de Amazon Aurora es similar al de DynamoDB. Se creó sin interrupciones en el rendimiento ni en el servicio de la base de datos. Las copias de seguridad de Amazon se guardan en un depósito S3. Aurora creará automáticamente una copia de seguridad de 30 minutos si no especificamos una ventana de copia de seguridad.

Control de acceso

DynamoDB admite usuarios y roles de IAM con políticas detalladas que limitan la creación de bases de datos y los privilegios de consulta. Amazon Aurora también tiene un esquema de permisos similar.

Sin embargo, Aurora también proporciona interfaces de conexión compatibles con MySQL y PostgreSQL para conectarse a la base de datos.

DynamoDB, un servicio regional, no está sujeto al límite de VPC. Sin embargo, los clústeres de base de datos de Aurora deben establecerse en una VPC que defina claramente su límite de red. También puede utilizar los grupos de seguridad de VPC para controlar qué dispositivos o instancias de Amazon EC2 pueden conectarse a la instancia de la base de datos.

A continuación se muestra la tabla resumida de Amazon Aurora frente a DynamoDB:

Amazon AuroraDynamoDBLa base de datos relacional compatible con MySQL y PostgreSQLBase de datos NoSQLMultirregion, Single-masterMulti-region, Multi-masterLa réplica se puede promocionar a principal en un minutoAlta disponibilidadLa latencia de replicación es inferior a 1 segundoLa latencia de replicación es inferior a milisegundos

Conclusión

Eso fue todo. Todos estamos entrando en una nueva era en las bases de datos relacionales, y Aurora es solo el comienzo. Los clientes han respondido con un abrumador acuerdo. Los líderes de todas las industrias, como Capital One, Dow Jones, Netflix y Verizon, están migrando sus cargas de trabajo de bases de datos relacionales a Aurora, incluidas las ediciones compatibles con MySQL y PostgreSQL.