sql >> Base de Datos >  >> RDS >> MariaDB

Evitar el bloqueo del proveedor de la base de datos para MySQL o MariaDB

El bloqueo del proveedor se define como "bloqueo de propiedad o bloqueo del cliente, que hace que un cliente dependa de un proveedor para sus productos y servicios; no puede usar otro proveedor sin un costo sustancial" ( wikipedia). Innegablemente para muchas empresas de software ese sería el modelo de negocio deseado. Pero, ¿es bueno para sus clientes?

Las bases de datos propietarias son muy compatibles con las migraciones desde otras soluciones populares de software de bases de datos. Sin embargo, eso solo causaría el bloqueo de otro proveedor. ¿Es entonces de código abierto una solución?

Debido a las limitaciones que tenía el código abierto hace años, muchos eligieron soluciones de bases de datos caras. Desafortunadamente, para muchos el código abierto no era una opción.

De hecho, a lo largo de los años, la base de datos de código abierto ha obtenido el respaldo y la madurez de Enterprise para ejecutar sistemas de transacciones de datos críticos y complejos.

Con la nueva versión, la base de datos, como Percona y MariaDB, ha agregado algunas características nuevas excelentes, ya sea compatibilidad o necesidades empresariales como soporte 24/7, seguridad, auditoría, agrupación, copia de seguridad en línea o restauración rápida. Todo eso hizo que el proceso de migración fuera más accesible que nunca.

La migración puede ser un movimiento inteligente, sin embargo, conlleva el riesgo. Ya sea que planee migrar de una migración de soporte propietario a una abierta de forma manual o con la ayuda de una herramienta comercial para automatizar todo el proceso de migración, necesita conocer todos los cuellos de botella y métodos posibles involucrados en el proceso y la validación de los resultados.

Cambiar el sistema de la base de datos también es un momento excelente para considerar otros riesgos de bloqueo de proveedores. Durante el proceso de migración, puede pensar en cómo evitar que se bloquee con alguna tecnología. En este artículo, nos vamos a centrar en algunos aspectos destacados del bloqueo de proveedor de MySQL y MariaDB.

Evitar el bloqueo para el monitoreo de la base de datos

Los usuarios de bases de datos de código abierto a menudo tienen que usar una combinación de herramientas y scripts propios para monitorear sus entornos de bases de datos de producción. Sin embargo, aunque tenga sus propios scripts de cosecha propia en la solución, es difícil mantenerlo y mantenerse al día con las nuevas características de la base de datos.

Con suerte, hay muchas herramientas gratuitas de monitoreo interesantes para MySQL/MariaDB. Las herramientas gratuitas más recomendadas por DBA son PMM, Zabbix, ClusterControl Community Edition, el complemento Nagios MySQL. Aunque PMM y ClusterControl son soluciones de bases de datos dedicadas.

Percona Monitoring and Management (PMM) es una solución totalmente de código abierto para administrar el rendimiento de la plataforma MySQL y ajustar el rendimiento de las consultas. PMM es una solución local que conserva todos sus datos de consulta y rendimiento dentro de los límites de su entorno. Puede encontrar la demostración de PMM en el siguiente enlace.

Las herramientas tradicionales de monitoreo de servidores no están diseñadas para arquitecturas modernas de bases de datos distribuidas. La mayoría de las bases de datos de producción actuales se ejecutan en alguna configuración de alta disponibilidad, desde una replicación maestro-esclavo más sencilla hasta clústeres multimaestros con balanceadores de carga redundantes. Los equipos de operaciones se ocupan de docenas, a menudo cientos de servicios que conforman el entorno de la base de datos.

Tener múltiples sistemas de bases de datos significa que su organización será más ágil en el lado del desarrollo y permite la elección de los desarrolladores, pero también impone conocimientos adicionales en el lado de las operaciones. Ampliar su infraestructura de solo MySQL para implementar otros backends de almacenamiento como MongoDB y PostgreSQL implica que también debe monitorearlos, administrarlos y escalarlos. Dado que cada backend de almacenamiento sobresale en diferentes casos de uso, esto también significa que debe reinventar la rueda para cada uno de ellos.

ClusterControl fue diseñado para abordar configuraciones de bases de datos modernas y altamente distribuidas basadas en replicación o agrupamiento Muestra el estado de toda la solución de clúster; sin embargo, se puede usar mucho para una sola instancia. ClusterControl le mostrará muchas métricas avanzadas; sin embargo, también puede encontrar asesores integrados que lo ayudarán a comprenderlas. Puede encontrar la demostración de ClusterControl en el siguiente enlace.

Evitar el bloqueo para soluciones de copia de seguridad de bases de datos

Existen varias formas de realizar copias de seguridad, pero ¿cuál se ajusta a sus necesidades específicas? ¿Cómo implemento la recuperación de un punto en el tiempo?

Si está migrando desde Oracle o SQL Server, nos gustaría recomendarle la herramienta xtrabackup de Percona o mariabackup similar de Mark.

Percona XtraBackup es el software de copia de seguridad en caliente MySQL/MariaDB de código abierto más popular que realiza copias de seguridad sin bloqueo para las bases de datos InnoDB y XtraDB. Cae en la categoría de copia de seguridad física, que consta de copias exactas del directorio de datos de MySQL y los archivos que se encuentran debajo.

XtraBackup no bloquea su base de datos durante el proceso de copia de seguridad. Para bases de datos grandes (más de 100 GB), proporciona un tiempo de restauración mucho mejor en comparación con mysqldump. El proceso de restauración implica preparar los datos de MySQL a partir de los archivos de respaldo, antes de reemplazarlos o cambiarlos con el directorio de datos actual en el nodo de destino.

Evitar el bloqueo para la alta disponibilidad y escalabilidad de la base de datos

Se dice que si no está diseñando para fallar, entonces se dirige hacia un accidente. ¿Cómo se crea un sistema de base de datos desde cero para soportar fallas? Esto puede ser un desafío ya que las fallas ocurren de muchas maneras diferentes, a veces de formas que serían difíciles de imaginar. Es una consecuencia de la complejidad de los entornos de bases de datos actuales.

La agrupación en clústeres es una característica costosa de las bases de datos como Oracle y SQL Server. Requiere licencias adicionales.

Galera Cluster es una opción principal para MySQL y MariaDB de alta disponibilidad. Y aunque se ha establecido como un reemplazo creíble para las arquitecturas maestro-esclavo tradicionales de MySQL, no es un reemplazo directo.

Galera Cluster es una tecnología de agrupación de bases de datos activa-activa síncrona para MySQL y MariaDB. Galera Cluster se diferencia de lo que se conoce como MySQL Cluster de Oracle - NDB. El clúster de MariaDB se basa en el complemento de replicación multimaestro proporcionado por Codership.

Si bien Galera Cluster tiene algunas características que lo hacen inadecuado para casos de uso específicos, la mayoría de las aplicaciones aún se pueden adaptar para ejecutarse en él.

Los beneficios son claros:configuración de InnoDB multimaestro con conmutación por error integrada y escalabilidad de lectura.

Evitar el bloqueo para el equilibrio de carga de la base de datos

Los servidores proxy son componentes básicos de las configuraciones de alta disponibilidad para MySQL. Pueden detectar nodos fallidos y enrutar consultas a hosts que todavía están disponibles. Si su maestro falló y tuvo que promocionar uno de sus esclavos, los proxies detectarán dichos cambios de topología y enrutarán su tráfico en consecuencia.

Los proxies más avanzados pueden hacer mucho más, como enrutar el tráfico en función de reglas de consulta precisas, consultas en caché o duplicarlas. Incluso se pueden usar para implementar diferentes tipos de fragmentación.

Los más útiles son ProxySQL, HAproxy, MaxScale (uso gratuito limitado).

Evitar el bloqueo al migrar a la nube

En los últimos diez años, muchas empresas se han pasado a la tecnología basada en la nube para evitar las limitaciones presupuestarias de los centros de datos y el desarrollo ágil de software. El uso de la nube permite que su empresa y sus aplicaciones se beneficien del ahorro de costos y la versatilidad que se originan con la computación en la nube.

Si bien las soluciones en la nube ofrecen muchos beneficios a las empresas, aún presentan algunos riesgos. Por ejemplo, el bloqueo del proveedor es tan alto en la nube como lo fue en el centro de datos.

A medida que más empresas ejecutan sus cargas de trabajo en la nube, los servicios de bases de datos en la nube se utilizan cada vez más para administrar datos. Una de las ventajas de usar un servicio de base de datos en la nube en lugar de mantener su base de datos es que reduce la sobrecarga de administración. Los servicios de bases de datos de los proveedores líderes en la nube comparten muchas similitudes, pero tienen características individuales que pueden hacerlos adecuados o inadecuados para su carga de trabajo.

El modelo híbrido de alojamiento de bases de datos

A medida que más empresas se trasladan a la nube, el modelo híbrido se vuelve más popular. El modelo híbrido es visto como un modelo seguro para muchas empresas.

De hecho, es un desafío hacer un trasplante de corazón y transferir todo de inmediato. Muchas empresas están realizando una migración lenta que suele tardar un año o incluso una eternidad hasta que se migra todo. El movimiento debe hacerse en una paz aceptable.

El modelo híbrido no solo le permitirá crear un sistema escalable de alta disponibilidad, sino que, debido a su naturaleza, es un excelente primer paso para evitar el bloqueo. Por diseño de arquitectura, sus sistemas funcionarán en una especie de modo mixto.

Un ejemplo de tales arquitecturas podría ser un clúster que opera en un centro de datos interno y su copia se encuentra en la nube.

Conclusión

Migrar de una base de datos propietaria a código abierto puede traer varios beneficios:menor costo de propiedad, acceso y uso de un motor de base de datos de código abierto, estrecha integración con la web. El código abierto tiene mucho que ofrecer y, debido a su naturaleza, es una excelente opción para evitar el bloqueo de proveedores.