Directorio de artículos
Enumeremos algunos de los más comunes y los presentaremos brevemente:
sharding-jdbc (Dangdang)
TSharding (Mogujie)
Atlas (Qihoo 360)
Cobar (Alibaba)
MyCAT (basado en Cobar)
TDDL (Taobao)
Vitess (Google)
1 fragmentación-jdbc
En primer lugar, el primero, y probablemente el más común y comúnmente utilizado, es Sharding-JDBC. Este es el nombre más antiguo y ahora se ha convertido en el ecosistema ShardingSphere. Para una introducción detallada y métodos de uso, vaya a : Introducción y práctica de Sharding-JDBC
2 Tharding
Los componentes de subbase de datos y subtabla de la plataforma comercial Mogujie se pueden desarrollar con muy poca inversión de recursos. Admiten los requisitos de fragmentación de la tabla de órdenes de transacciones, la subbase de datos y la subtabla, admiten el enrutamiento de fuentes de datos, admiten transacciones y Admite la fusión de conjuntos de resultados. Admite la separación de lectura y escritura.
3 Atlas
Basado en el desarrollo secundario de MySQL-Proxy, admite principalmente dos funciones: fragmentación de tablas y separación de lectura y escritura. Sin embargo, la fragmentación de tablas solo admite varias tablas en una sola base de datos. De hecho, la fragmentación distribuida no es compatible. Todas las tablas de fragmentación son en la misma biblioteca.
4 Cobar
El sistema de procesamiento distribuido de datos relacionales de Alibaba se encuentra en forma de proxy entre la aplicación front-end y la base de datos real, y la interfaz abierta al front-end es el protocolo de comunicación MySQL. Cambie la declaración SQL de front-end y reenvíela a la subbase de datos de back-end adecuada de acuerdo con las reglas de distribución de datos, y luego combine y devuelva los resultados para simular el comportamiento de la base de datos en una sola base de datos.
5 Mi gato
Para un servidor que implementa el protocolo MySQL, los usuarios de front-end pueden considerarlo como un agente de base de datos y acceder a él utilizando herramientas de cliente MySQL y líneas de comando, mientras que su back-end puede usar el protocolo nativo de MySQL para comunicarse con múltiples servidores MySQL, o El protocolo JDBC se comunica con la mayoría de los servidores de bases de datos convencionales y su función principal es fragmentar bases de datos y tablas. Junto con el modo maestro-esclavo de la base de datos, también se puede lograr la separación de lectura y escritura.
6 TDDL
Resuelve principalmente el problema de la transparencia de la aplicación de subbases de datos y subtablas y la replicación de datos entre bases de datos heterogéneas. Es una implementación de fuente de datos jdbc basada en una configuración centralizada, con funciones como primaria y copia de seguridad, separación de lectura y escritura y base de datos dinámica. configuración.
7 velocidades
Es la solución de alta disponibilidad y expansión de bases de datos de código abierto de Youtube, se ha utilizado en entornos de producción y tiene funciones poderosas, sin embargo, tiene una arquitectura compleja y altos costos de implementación, operación y mantenimiento.