Preguntas frecuentes para ingenieros de soluciones de bases de datos – Percona Database Performance Blog

En esta publicación de blog, analizaré las preguntas comunes que recibe como ingeniero de soluciones de bases de datos en Percona. En este rol, hablo con una amplia gama de usuarios de MySQL y MongoDB responsables de entornos extremadamente grandes y complejos para entornos de servidores más pequeños. Por lo general, nos contactan cuando el cliente está a punto de embarcarse en una migración o rediseño arquitectónico, o cuando tiene problemas de rendimiento en su entorno de producción. El propósito de este blog es armar una lista de preguntas comunes que he encontrado al hablar con usuarios activos de MySQL y MongoDB.

Estamos considerando una migración a AWS. ¿Cuál es la solución adecuada para nosotros: EC2, RDS o Aurora?

Tenemos esta pregunta mucho. La transferencia a AWS es una tendencia candente. El ingeniero de soluciones Rick Golba escribió una entrada de blog dedicado a los detalles de cada una de estas ofertas de Amazon, así como a la libertad de renunciar a pasar niveles. Esta es la principal preocupación al considerar estas soluciones basadas en la nube. Con Aurora, renuncia a una gran cantidad de control sobre el entorno de su base de datos. Con una implementación de EC2, puede conservar la mayor parte. Sin embargo, hay que hacer otras consideraciones.

Tamaño de datos

El mayor beneficio de elegir una de estas ofertas de Amazon es que reduce el costo asociado con la administración de un entorno de base de datos físico. Esto no elimina la necesidad de dimensionar su entorno. Si lo hace, puede marcar una gran diferencia en los costos anuales asociados con la compra de una gran instancia de Amazon. Esto también puede abrir opciones cuando se trata de elegir entre EC2, RDS y Aurora, ya que existen ciertas limitaciones y restricciones con respecto al tamaño de la tabla y el tamaño total de los datos. Aquí hay una referencia rápida:

  • Amazon RDS – 6 TB *
  • Aurora – 64 TB **
  • EC2 – Depende de ***

* Tamaño máximo de mesa de Amazon documentación.

** Tamaño de volumen máximo del clúster de Aurora.

** Existen demasiadas opciones por lista uno.

Hay varias estrategias cuando se trata de dimensionar su entorno. La primera y más sencilla es archivar los datos antiguos no utilizados. Percona Toolkit ofrece una herramienta que puede ayudar con este proceso llamada pt-archiver. Esta herramienta le permite almacenar archivos MySQL no utilizados en otras tablas o archivos. La documentación para pt-archiver es aquí. Otra estrategia utilizada por las grandes organizaciones es utilizar diferentes bases de datos para diferentes actividades. La ventaja de esta estrategia es que puede utilizar la base de datos adecuada para un caso de uso específico. La desventaja es la sobrecarga de tener expertos para administrar cada uno de estos diversos tipos de bases de datos y casos. Esto requiere una cantidad significativa de esfuerzo de ingeniería que no es adecuado para implementaciones más pequeñas.

Alguien puede preguntar: «¿Por qué es solo mi entorno?» La mayoría de las veces, todos esos datos no son necesarios en una base de datos de producción. Es probable que haya datos que nunca se van a retocar ocupando una cantidad significativa de espacio. A medida que disminuye el tamaño de sus datos, se hacen posibles más opciones de Amazon. Además de esto, las tareas operativas asociadas con la gestión de su entorno de base de datos se vuelven más sencillas. Si ha logrado convertir una tabla inflada en una más manejable, también puede ver un mayor rendimiento. Esto reduce los costos cuando se trata de la migración a la nube.

Compatibilidad

Amazon es compatible con la mayoría de las implementaciones de MySQL, pero hay algunas excepciones. Amazon Aurora actualmente es compatible con MySQL 5.6. Si está interesado en las funciones de MySQL 5.7, como el almacenamiento de datos con el tipo de datos JSON, es posible que Aurora no sea la opción adecuada. Para obtener una lista completa de las características de MySQL 5.7, consulte u Documentación de mysql. Amazon RDS y EC2 son compatibles con MySQL 5.7. Una limitación de RDS es que no es compatible con MongoDB. Amazon ofrece su propia solución NoSQL alojada en la nube llamada DynamoDB, pero la migración no es tan fluida como con las ofertas de MySQL de Amazon. La mejor opción para la migración a la nube con MongoDB es una instancia EC2.

Resumen

Percona ha ayudado con las optimizaciones y migraciones de Amazon para muchos clientes a través de nuestros servicios de consultoría. Nuestros arquitectos tienen un conocimiento profundo de las implementaciones de MySQL de alto rendimiento en la nube y pueden ayudarlo con su diseño e implementación/migración. Un ejemplo de este éxito es Wattpad. A través de la optimización del rendimiento recomendada por Percona, Wattpad ha podido reducir el tamaño de su instancia de Amazon y ahorrar dinero en el transcurso del año.

¿Podemos reemplazar nuestra solución de monitoreo empresarial con Percona Monitoring and Management (PMM)?

Como la mayoría de las respuestas en el mundo de las bases de datos, la respuesta corta es «depende». Percona Monitoring and Management (PMM) ofrece una gama sólida de funciones de monitoreo para su entorno de base de datos y es perfectamente capaz de reemplazar ciertas funciones de las plataformas de monitoreo MySQL y MongoDB de nivel empresarial. Aquí hay una breve lista de lo que PMM trae a la mesa:

  • Gratis y de código abierto. Nuestro director ejecutivo, Peter Zaitsev, se dedica a mantener esto como una realidad. PMM utiliza elementos de código abierto existentes e integra algunos de los complementos de Percona para formar una solución de monitoreo completa y sólida.
  • Integración MongoDB. Si tiene implementaciones de MySQL y MongoDB, puede ver métricas y análisis de consultas para ambos en un solo lugar.
  • Supervisar MySQL de forma remota en las nubes. PMM es compatible con RDS.
  • Análisis visual de consultas. Identifique rápidamente las preguntas problemáticas.
  • Reparar y encontrar consultas costosas. Analice preguntas costosas sin necesidad de scripts o herramientas de línea de comandos.
  • monitor InnoDB. Obtenga estadísticas detalladas sobre las métricas de InnoDB.
  • monitor de disco. Tenga en cuenta las métricas a nivel del sistema además de las métricas de MySQL y MongoDB.
  • monitor de clúster. La reciente incorporación de Orchestrator a PMM ha agregado esta característica.
  • Tablero de replicación. Orchestrator también puede mostrar el estado de replicación en una GUI intuitiva.

Si la lista anterior satisface sus necesidades de monitoreo, definitivamente debería usar PMM. Nuestro equipo de desarrollo está trabajando activamente para fortalecer este producto y agradece los aportes de la comunidad que utiliza esta solución. Los foros de PMM son un excelente lugar para hacer preguntas u ofrecer comentarios/sugerencias.

¿Cambiar a la replicación síncrona es una solución para nosotros?

A primera vista, una solución de replicación síncrona parece resolver todas las limitaciones que vienen con una implementación estándar de MySQL. Lleva consigo una gran cantidad de excelentes funciones, como nodos multimaestros de alta disponibilidad, cada uno capaz de administrar escalas de escritura y lectura. Sin embargo, hay varias cosas a considerar al responder a esta pregunta.

¿Una solución más simple satisfará sus necesidades?

Uno de los gerentes técnicos de cuentas de Percona, Michael Patrick, escribió un blog fantástico sobre cómo elegir una solución HA. Generalmente, la razón para cambiar a una solución en clúster es la alta disponibilidad. Si ha pasado un poco de tiempo de inactividad por un maestro fallido y una transición lenta a un esclavo, mudarse a un clúster podría ser una reacción instintiva. Sin embargo, soluciones como MHA o MySQL Orchestrator pueden aliviar bastante estos problemas y agregar poca complejidad al entorno.

¿El diseño de su aplicación y base de datos es compatible con una solución en clúster?

Debe tener en cuenta algunas consideraciones basadas en la aplicación al pasar a una solución en clúster. Una consideración es la limitación del motor de almacenamiento con soluciones en clúster. Percona XtraDB Cluster y MariaDB Cluster requieren InnoDB. MySQL Cluster requiere un motor de almacenamiento NDB. Al recurrir a una solución en clúster, otras opciones de motor de almacenamiento dejan de estar disponibles.

Otra consideración de la aplicación es cómo las soluciones en clúster manejan la replicación sincrónica de conjuntos de scripts. Si su aplicación tiene puntos de acceso de escritura, los bloques recibirán transacciones de escritura simultáneas. Existen soluciones para lidiar con esto, como la reingeniería de la estructura de la base de datos para eliminar el punto de acceso o permitir que la capa de aplicación recupere estas transacciones. Si nada de esto es una opción, es posible que una solución en clúster no sea adecuada para su entorno.

¿Su base de datos está distribuida en varias regiones geográficas?

Puede implementar soluciones de clúster en entornos WAN. Sin embargo, estas soluciones contienen problemas de latencia. Si su aplicación es capaz de admitir tiempos de vuelo más largos debido a que un clúster se extiende por varias regiones geográficas, esto no será un problema. Sin embargo, si este retraso no es tolerable, es posible que un clúster WAN no sea la solución adecuada. Hay varias estrategias para aliviar este dolor cuando se trata de implementar un clúster en entornos WAN, un seminario web dado por el ingeniero de software líder de Percona XtraDB Cluster, Krunal Bauskar, cubre este tema. Un ejemplo es la replicación asincrónica entre regiones geográficas con clústeres en cada una. El beneficio de esto es que el clúster en cada región geográfica ha eliminado el retraso de latencia de WAN. La desventaja de esto es la adición de muchos más nodos (probablemente tres para cada centro de datos). Esta solución también complica el medio ambiente.

Pensamientos finales

Planeo continuar esta serie de blogs con las preguntas más frecuentes que recibo cuando hablo con usuarios de MySQL y MongoDB. Si desea hablar con un representante de cuentas (¡o conmigo!) Para ver cómo Percona puede ayudarlo a satisfacer las necesidades de rendimiento de su base de datos, no dude en contactarnos.

Author: Ing. Luis

A lo largo de conocer Windows y otros sistemas operativos me eh encontrado con diversos tipos de error, ahora brindo soluciones según mi experiencia-

Deja un comentario