Saltar al contenido principal

Amazon RDS para MySQL

¿Qué es MySQL?

¿Qué es MySQL?

MySQL funciona como el principal almacén de datos relacional para numerosos sitios web, aplicaciones y productos comerciales conocidos. Con más de 25 años de desarrollo y soporte respaldados por la comunidad, MySQL es un sistema de administración de bases de datos de lenguaje de consulta estructurado (SQL) fiable, estable y seguro.

La base de datos MySQL es adecuada para una amplia variedad de casos de uso, incluidas las aplicaciones críticas y los sitios web dinámicos. MySQL también es un motor SQL popular para las aplicaciones modernas debido a su simplicidad y fiabilidad. Los desarrolladores de aplicaciones obtienen un motor con una sencilla interfaz cliente-servidor y una incorporación más rápida, mientras que las organizaciones ahorran costos en formación.

AWS admite MySQL de diversas maneras, incluido un servicio de base de datos totalmente administrado, Amazon Relational Database Service (RDS) para MySQL. La edición de Amazon Aurora compatible con MySQL también se creó con MySQL, y Amazon RDS admite el popular proyecto de bifurcación de MySQL, MariaDB.

También puede alojar el software de MySQL en Amazon EC2 y autoadministrar la base de datos, o explorar las ofertas de MySQL de terceros en AWS Marketplace.

Historia de MySQL

La primera versión de MySQL Server fue lanzada en 1995 por la empresa sueca MySQL AB, fundada por David Axmark, Allan Larsson y Michael Widenius. MySQL toma su nombre de la hija de Widenius, llamada My. El proyecto MySQL se publicó como código abierto en 2000, bajo la Licencia Pública General (GPL) de GNU.

En 2001, MySQL había alcanzado más de 2 millones de instalaciones activas; en 2004, el software se descargaba más de 30 000 veces al día. Sun Microsystems adquirió MySQL en 2008 y, cuando Oracle adquirió Sun en 2009, también adquirió la propiedad de MySQL. 

Ventajas de usar una base de datos MySQL

Facilidad de uso

Los desarrolladores web prefieren la base de datos MySQL debido a sus características de productividad y facilidad de uso, incluidos los activadores, los procedimientos almacenados y las vistas actualizables. MySQL incluye utilidades como mysqldump, un programa de respaldo; mysqladmin, un cliente administrativo; y MySQL Workbench, una GUI para tareas de administración y migración.

Rendimiento

Con el tiempo, MySQL ha aumentado sus capacidades de rendimiento con características que incluyen tablas de discos de árbol B con compresión de índices, asignación de memoria basada en subprocesos y uniones de bucles anidados optimizadas. El bloqueo a nivel de fila y las lecturas consistentes en el motor de almacenamiento brindan a MySQL beneficios de rendimiento adicionales para la concurrencia de varios usuarios. MySQL sigue y promueve las prácticas de diseño para un rendimiento más rápido al proporcionar una funcionalidad básica con un conjunto mínimo de características.

Fiabilidad y seguridad

El motor de almacenamiento transaccional InnoDB de MySQL se adhiere al modelo ACID, con capacidades adicionales que mejoran la protección de los datos, incluida la recuperación en un momento puntual y la confirmación automática. InnoDB también ofrece una integridad de datos mediante la compatibilidad con restricciones de clave externa, lo que evita las incoherencias de datos entre las tablas de datos.

MySQL incluye características de seguridad reforzadas y flexibles, como la verificación basada en el host y el cifrado del tráfico de contraseñas. InnoDB ofrece beneficios de seguridad adicionales, con el cifrado de espacios de tablas de datos en reposo mediante una arquitectura de claves de cifrado de dos niveles.

Licencia de código abierto

MySQL está disponible bajo una licencia de código abierto (la Licencia Pública General GNU) que le permite usar y modificar libremente el código fuente al instalar MySQL. Las versiones administradas de MySQL, como Amazon RDS para MySQL, no conllevan costos de licencia adicionales para el motor de MySQL, a diferencia de los motores de SQL propietarios.

La gran comunidad global de colaboradores y entusiastas de MySQL aporta muchos beneficios adicionales y duraderos al uso del sistema de bases de datos. Por ejemplo, la comunidad de MySQL se mantiene al tanto de los problemas de seguridad y las correcciones de errores, lo que contribuye a la resiliencia general del software. Los grupos de usuarios, los eventos, los foros y las listas de correo de MySQL proporcionan una red integrada para la educación y el soporte.

Casos de uso comunes de MySQL

Base de datos OLTP de uso general

MySQL es adecuado para cualquier aplicación que requiera un motor SQL transaccional, incluidas las aplicaciones de misión crítica y los sitios web con mucho tráfico. MySQL se adhiere a los principios de ACID e incluye extensiones para el estándar SQL ANSI/ISO, así como soporte para XML y JSON.

MySQL también admite la agrupación en clústeres de bases de datos de alta disponibilidad y puede gestionar bases de datos del tamaño de un petabyte. Entre las aplicaciones más populares que utilizan la base de datos MySQL se encuentran TYPO3, MODx, Joomla, WordPress, phpBB, MyBB y Drupal. 

Aplicaciones de eCommerce

MySQL es uno de los motores transaccionales más populares para las plataformas de comercio electrónico. MySQL es particularmente útil para administrar todos los datos de clientes, transacciones y catálogos de productos.

En las soluciones de comercio electrónico, MySQL se usa a menudo junto con otras bases de datos no relacionales, incluidos los almacenes de documentos y valores clave para sincronizar los datos de los pedidos y almacenar datos que no son de productos. 

Pila de código abierto LAMP

MySQL es parte integral de innumerables aplicaciones que se ejecutan en la pila de software de código abierto LAMP (LAMP son las siglas de Linux, Apache, MySQL y PHP/Python/Perl). LAMP es una pila de soluciones de servicios web omnipresente y está ampliamente considerado como la plataforma preferida para sitios web dinámicos y aplicaciones web de alto rendimiento.

Proyectos de bifurcación de software MySQL

MariaDB

MariaDB es una bifurcación popular de MySQL de MariaDB, que fue fundada por los desarrolladores originales de MySQL con la intención de que permaneciera libre y de código abierto bajo la GPL de GNU. Si bien MariaDB se mantiene separada de MySQL, retiene un alto grado de compatibilidad con MySQL, incluida la equivalencia binaria de la biblioteca y la coincidencia exacta con las interfaces de programación de aplicaciones (API) y varias herramientas de administración. AWS admite MariaDB con el servicio de bases de datos totalmente administrado Amazon RDS para MariaDB.

Percona Server

Percona Server es otra bifurcación popular de MySQL de Percona. Percona Server incluye XtraDB, la bifurcación de Percona del motor de almacenamiento InnoDB.

Compatibilidad con lenguajes para el desarrollo de aplicaciones

MySQL es líder en compatibilidad con el lenguaje SQL. MySQL también es compatible con la mayoría de los principales lenguajes y protocolos de programación, lo que permite a los usuarios usar Python, Java, Perl, Node.js, .NET, PHP, Ruby, Erlang, C/C++, Tcl, ODBC y Objective-C.

MySQL frente a PostgreSQL

MySQL y PostgreSQL son bases de datos relacionales de código abierto populares. La popularidad de MySQL se debe a que se ha percibido como fácil de usar y rápido, mientras que PostgreSQL se considera rico en características y más comparable a las versiones con licencia comercial de bases de datos como Oracle. Sin embargo, las principales versiones actuales de MySQL y PostgreSQL ofrecen muchas características y capacidades que respaldan el rendimiento, la fiabilidad y la seguridad de las consultas, entre otras. Puede obtener más información sobre PostgreSQL y probar Amazon Aurora PostgreSQL o Amazon RDS para PostgreSQL con el nivel gratuito de AWS.

Opciones de alojamiento de MySQL en AWS

MySQL autoadministrado en Amazon EC2

Históricamente, las bases de datos relacionales estaban en las instalaciones y, a medida que las cargas de trabajo de las bases de datos se trasladaron a la nube, las organizaciones utilizaron inicialmente Amazon EC2 para ejecutar sus propias bases de datos. Con este enfoque, administra todas las tareas de administración habituales que acompañan a una base de datos en las instalaciones, como el aprovisionamiento de hardware, la configuración de la base de datos, el ajuste, la aplicación de parches, las copias de seguridad y la escalabilidad de MySQL.

MySQL totalmente administrado en Amazon RDS

Amazon Relational Database Service (Amazon RDS) es un servicio de base de datos relacional fácil de administrar, optimizado para el costo total de propiedad. Es fácil de configurar, operar y escalar según la demanda. RDS automatiza tareas indiferenciadas de administración de bases de datos, como el aprovisionamiento, la configuración, las copias de seguridad y la aplicación de parches.

RDS le permite crear una nueva base de datos en cuestión de minutos y ofrece flexibilidad para personalizar las bases de datos para satisfacer sus necesidades. Puede optimizar el rendimiento con características como dos instancias en espera legibles, escrituras y lecturas optimizadas e instancias basadas en AWS Graviton4, y elegir entre varias opciones de precios para administrar los costos de manera eficaz.

Modernización con la edición de Amazon Aurora compatible con MySQL

Amazon Aurora ofrece un alto rendimiento y una disponibilidad sin precedentes a escala global para MySQL. Aurora tiene 5 veces más rendimiento que MySQL y es totalmente compatible. Aurora ofrece amplios estándares de cumplimiento, capacidades de seguridad de nivel empresarial y compatibilidad con aplicaciones distribuidas a nivel global.

Introducción sencilla a Amazon RDS para MySQL

1

Inscripción en Amazon RDS

Obtenga acceso al nivel gratuito de Amazon RDS.

2

Aprenda con tutoriales sencillos

3

Comenzar a crear con Amazon RDS

Comience a crear con la ayuda de la guía del usuario de MySQL en Amazon RDS.

Proceso de migración de bases de datos MySQL

Enfoques de migración de bases de datos MySQL nativas y de terceros

Servicios de volcado y replicación de SQL

El enfoque nativo más práctico para la migración del sistema de administración de bases de datos relacionales MySQL es realizar un volcado de SQL y, a continuación, realizar actividades de replicación para garantizar la sincronización de las bases de datos. Mysqldump, de MySQL, es una utilidad de copia de seguridad integrada que sirve como base para la migración de bases de datos del servidor MySQL. Mysqldump descarga toda la base de datos con un archivo de volcado y proporciona un conjunto de instrucciones SQL para regenerar la base de datos. Este método es útil para las bases de datos de menos de 10 GB, cuando tiene una conexión a Internet rápida y estable y el tiempo de migración de datos no es crítico.

Percona XtraBackup y Amazon S3

Al transferir primero los archivos y copias de seguridad de Percona XtraBackup a Amazon S3, puede migrar los servidores de bases de datos de forma individual desde una base de datos de origen a un nuevo clúster de base de datos de Amazon RDS para MySQL o Aurora. El uso de este proceso de conversión de migración de datos para cargar datos puede ser significativamente más rápido que el uso de mysqldump.

Base de datos INFORMATION_SCHEMA

La base de datos INFORMATION_SCHEMA integrada se puede utilizar como explorador de metadatos de MySQL. Al utilizar este explorador de metadatos de MySQL en combinación con Conversión de esquemas de AWS DMS, puede determinar si los esquemas de las bases de datos de origen coinciden con los esquemas y tipos de datos de las bases de datos de destino e identificar dónde corregir las brechas.

Servicios administrados de migración de datos de MySQL

AWS Database Migration Service

AWS Database Migration Service (DMS) detecta, evalúa, convierte y migra las cargas de trabajo de bases de datos MySQL a AWS, lo que reduce el esfuerzo y la edición manual. El asistente de migración de AWS DMS le permite seleccionar tanto la infraestructura de origen como la de destino, mediante la replicación automatizada con la captura de datos de cambio (CDC) y crear informes con recomendaciones de objetos de destino y evaluaciones automatizadas. No es necesario convertir esquemas o definiciones de objetos en MySQL en migraciones de MySQL. Aproveche AWS Application Discovery Service para detectar cualquier dependencia en las bases de datos de su servidor MySQL antes de migrar los datos. 

AWS Application Migration Service

Si realiza una operación sencilla mediante lift and shift para migrar datos a EC2 desde su servidor MySQL en las instalaciones, puede migrar todo su servidor a EC2 mediante AWS Application Migration Service. Puede aplicar esta técnica para bases de datos específicas o para varios objetos de bases de datos.