¿Cuáles son las respectivas ventajas / limitaciones de Amazon RDS frente a EC2 con MySQL? [cerrado]


Me doy cuenta de un par de diferencias básicas entre los dos, es decir,

  1. EC2 va a ser más barato

  2. RDS No tendría que hacer mantenimiento

Aparte de esos dos, hay alguna ventaja de ejecutar mi base de datos desde RDS en lugar de un servidor EC2 separado que actúa como un servidor MySQL. Suponiendo tamaños de instancia similares, ¿ambos se van a encontrar con las mismas limitaciones en términos de poder manejar una carga?

Para darte un poco más información sobre mi uso, tengo una base de datos, nada demasiado grande o nada (tabla más grande 1 millón de filas), solo alto volumen de selección.

Author: franzlorenzon, 2011-01-26

8 answers

Esta es una pregunta simple con una respuesta muy complicada!

En resumen: EC2 proporcionará el máximo rendimiento si va con un EBS RAID0. Hacer RAID0 EBS requiere una cantidad bastante significativa de gastos generales de mantenimiento, por ejemplo:

Http://alestic.com/2009/06/ec2-ebs-raid

Http://alestic.com/2009/09/ec2-consistent-snapshot

EC2 sin RAID0 EBS proporcionará un rendimiento de E/S de mierda, por lo que ni siquiera es realmente una opción.

RDS proporcionará muy buen (aunque no máximo) rendimiento fuera de la caja. La consola de administración es fantástica y es fácil actualizar las instancias. Los esclavos de alta disponibilidad y solo lectura están a un clic de distancia. Es realmente impresionante.

Respuesta corta: Ir con RDS. ¿Todavía en la cerca? ¡Ve con RDS!!! si te gustan los dolores de cabeza y afinar hasta el último poquito para obtener el máximo rendimiento, entonces puedes considerar EC2 + EBS RAID 0. Vanilla EC2 es una opción terrible para el alojamiento MySQL.

 135
Author: efalcao,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-26 16:06:15

En este post hay un excelente punto de referencia entre:

  • Ejecutando MySQL en un Pequeño EC2 + EBS
  • Ejecutando MySQL en un Pequeño EC2 + EBS + parámetros MySQL ajustados
  • Un Pequeño RDS

El benchmark es muy bueno ya que no se enfoca solo en condiciones ideales (solo un hilo) sino también en escenarios más realistas, con 50 hilos golpeando la base de datos.

 24
Author: Andres,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-16 16:26:21

RDS no es realmente un sistema de alta disponibilidad. Lea la letra pequeña en las preguntas frecuentes de RDS. Durante un evento de conmutación por error, la conmutación por error puede tardar hasta 3 minutos. Amazon adicional decidirá que necesita " actualizar "su instancia de rds y realizará una conmutación por error en ese momento que desactivará su base de datos por" hasta 3 minutos " (nuestra experiencia es que puede tardar más que eso).

La alta disponibilidad de RDS es muy diferente de la replicación maestro - maestro o maestro - esclavo y es mucho más lenta. No utilizan replicación mysql, pero utiliza algún tipo de replicación ebs. Por lo tanto, en una situación de conmutación por error, montará el ebs en la máquina de copia de seguridad, iniciará mysql, esperará a que mysql se recupere por error (con suerte, nada se corrompió demasiado mal), y luego hará un cambio de dns.

Espero que esto le ayude con su evaluación.

 12
Author: Jeff Whiting,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-14 18:49:25

Elegimos usar instancias de MySQL EC2 porque tenemos un alto volumen de lectura y necesitamos replicación maestro-esclavo. Por supuesto, puede activar varias instancias RDS y configurar la replicación MySQL entre ellas usted mismo, pero usamos Scalr.net, que lo administra por usted usando instancias EC2.

Básicamente, solo le decimos a Scalr cuántas instancias de MySQL queremos que las mantenga, automatiza la configuración de la replicación, maneja la conmutación por error automática de la promoción de esclavos a maestro si el maestro obtiene terminado, etc. Hace copias de seguridad de volcado SQL e instantáneas de volumen de EBS del maestro. Por lo tanto, cuando necesita crear un nuevo esclavo, automáticamente monta temporalmente un volumen EBS de la última instantánea maestra para inicializar la base de datos esclava, luego inicia la replicación desde el punto apropiado. Todo apunta y haz clic :) (y no, no trabajo para Scalr ni nada. Scalr está disponible como Código abierto si no desea utilizar su servicio)

 6
Author: DavidJ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-10 18:16:52

Con respecto a la pregunta de la ventana de mantenimiento. Si utiliza Multi-AZ, RDS creará una réplica en espera en otra zona de disponibilidad para que no haya tiempo de inactividad para el mantenimiento y se proteja contra un fallo de zona.

Eso es lo que estoy planeando hacer en la próxima semana más o menos. Por supuesto que te va a costar más pero aún no lo he resuelto.

 5
Author: Shin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-04-23 08:47:21

He estado probando RDS durante unos meses y aquí hay algunos problemas que tengo:

  1. Usar SQL profiler es complicado. Dado que no puede conectar profiler directamente al servidor, debe ejecutar algunos procedimientos almacenados para crear un archivo de registro que pueda analizar. Si bien ofrecen algunas sugerencias sobre cómo se hace, está lejos de ser fácil de usar. Solo recomendaría que tenga un profesional certificado de SQL para hacer este tipo de trabajo.

  2. Mientras que Amazon hace copias de seguridad de su instancia, no se puede restaurar una base de datos individual. Tengo una aplicación web con varias bases de datos específicas del cliente separadas y mi solución fue lanzar una instancia EC2 con SQL ejecutándose en ella para adjuntarla a la base de datos de producción RDB e importar los datos y luego hacer una copia de seguridad en la instancia EC2. La otra solución fue utilizar una herramienta de terceros que crea un script SQL masivo (en el servidor de aplicaciones) que recreará el esquema y rellenará los datos de nuevo a un punto de restauración.

 4
Author: Eccountable,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-25 21:48:34

MySQL en EC2 vs RDS MySQL

Ventajas de MySQL en EC2 Replicación entre Regiones de Amazon EC2

Copie instantáneas en las regiones de Amazon EC2

RAID 0 con EBS Striping en MySQL EC2

Se pueden adjuntar más de 3 TB de espacio en disco ( no lo necesitará para su tamaño) en MySQL en EC2.

Desventajas de MySQL en EC2

Configuración, Monitorización y Mantenimiento en comparación con RDS

Copias de seguridad de punto en el tiempo disponible en RDS

IOPS menor que RDS MySQL (incluso después de RAID 0) actualmente, 10800 con 6 discos para MySQL en EC2 mientras que 12500 IOPS 16KB en RDS MySQL

 3
Author: Harish Ganesan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-23 06:12:47

Tuve la misma pregunta este fin de semana. Hay una ventana de tiempo de inactividad de 4 horas por semana para RDS donde hacen mantenimiento. RDS parecía más caro si puedes salirte con la tuya con una micro instancia de EC2. (Esto es cierto para las instancias de prueba que tienen un tráfico mínimo) Tampoco pude cambiar la zona horaria de la instancia RDS porque no tengo permiso.

Ahora estoy mirando http://xeround.com/ que es mysql en EC2 por otra empresa. Ellos no usan InnoDB, en su lugar tienen su propio motor llamado IDG. Estoy empezando a investigar eso, pero están en BETA y darán 500 MB de espacio.

 1
Author: Tihom,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-01-26 15:35:14