Soy nuevo en el mundo de MySQL y los dos me confundieron. ¿No proporcionan ambos alta disponibilidad y fragmentación?
Además, ¿cómo se compara WebScaleSQL?
fuente
Soy nuevo en el mundo de MySQL y los dos me confundieron. ¿No proporcionan ambos alta disponibilidad y fragmentación?
Además, ¿cómo se compara WebScaleSQL?
Estas 3 cosas no tienen nada que ver una con la otra. Te daré una introducción y puedes buscar o solicitar más detalles por separado:
MySQL Cluster es el nombre comercial de lo que muchos de nosotros llamamos, para evitar confusiones como la que padece actualmente, "NDB Cluster" o "MySQL NDB Cluster". Es un almacén de valores de clave síncrono, principalmente solo de memoria, que permite una arquitectura de nada compartido para MySQL (proporcionando un back-end al motor NDB). Proporciona fragmentación automática (mejor rendimiento de lectura y escritura) y alta disponibilidad.. Funciona bien para sistemas de datos pequeños de alto valor clave de alto rendimiento, pero es relativamente complejo de configurar (lo que genera problemas si no se configura correctamente o si se usa de manera no intencional) y no es la mejor latencia. sabio (velocidad bruta). Esta es una versión simplificada (se puede usar para algo más que solo memoria y valor clave, pero se diseñó en torno a ella). En mi opinión, es una muy buena pieza de ingeniería, pero tiene casos de uso limitados, ya que es un producto diferente al servidor MySQL normal con descargas separadas (y requiere el uso de un motor específico).
MySQL Fabric es un conjunto de herramientas / middleware escrito en python que permite la gestión de un conjunto de servidores MySQL regulares en un entorno GTID replicado . No es un clúster per se, pero facilita la gestión de uno. Tiene enlaces a (por ahora) conectores Java y Python, por lo que puede manejar automáticamente el fragmentación y la alta disponibilidad de los servidores, pero es una capa superior a los servidores MySQL normales y la replicación regular (se pueden usar motores de almacenamiento regulares como InnoDB) . La replicación, hasta ahora es asíncrona (o semisíncrona), por lo que puede no proporcionar por sí misma la mejor consistencia y seguridad; Esto puede cambiar en futuras versiones 5.7. Sin embargo, este enfoque tiene menos sobrecarga en la latencia y utiliza la tecnología de replicación más familiar de MySQL DBA. MySQL Fabric es un chico relativamente nuevo en el vecindario, por lo que aún no está muy extendido, pero parece ser la reacción de Oracle (junto con la replicación sincrónica anunciada) a los clústeres basados en Galera de la competencia.
Si necesita fragmentación y HA, puede usar uno de los 2 productos anteriores, pero probablemente para escenarios totalmente diferentes.
WebScaleSQL no es una solución de alta disponibilidad, como las anteriores, es solo el nombre que varias compañías le dieron a una bifurcación / versión de MySQL donde comparten parches específicos que necesitan y tal vez Oracle no ha aplicado. Hasta donde yo sé, ha sido creado por Facebook, Twitter, LinkedIn y Google, y reajustan sus propias versiones de MySQL sobre esa base común. No proporcionan soporte o lanzamientos binarios. Si usted es un usuario final, probablemente no debería importarle usarlo, pero debe vigilar el proyecto para ver qué evolucionará a partir de él o la respuesta de otros proveedores.
Si está tratando de aprender / comenzar con MySQL HA / scaling, comience con la replicación básica de MySQL (puede que no sea la mejor, pero es la cosa más fácil para comenzar), entonces puede continuar desde allí a otras soluciones: DRBD [ sic], replicación GTID, NDB, Galera, Tungsteno.
MySQL Fabric se implementa como un nodo / proceso de MySQL Fabric (que realiza funciones de administración) y conectores compatibles con Fabric que pueden enrutar consultas y transacciones directamente al servidor MySQL más apropiado. El nodo MySQL Fabric almacena información de estado y enrutamiento en su State Store (que es una base de datos MySQL).
MySQL Cluster es una tecnología que permite la agrupación de bases de datos en memoria en un sistema de nada compartido. La arquitectura de nada compartido permite que el sistema funcione con hardware muy económico y con un mínimo de requisitos específicos para hardware o software.
fuente