Sobre el proyecto

Apache ShardingSphere es un proyecto de nivel superior de Apache posicionado como "Database Plus": una capa estándar y de ecosistema construida sobre bases de datos heterogéneas existentes, en lugar de ser una nueva base de datos en sí misma. Su objetivo es hacer que múltiples bases de datos se comporten como una sola, proporcionando acceso unificado y capacidades de cómputo mejoradas. El proyecto se organiza en torno a tres pilares: Connect (adaptación de protocolos de bases de datos, dialectos SQL y formatos de almacenamiento), Enhance (incorporación de cómputo distribuido, seguridad, control de tráfico y observabilidad) y Pluggable (un microkernel más una arquitectura conectable de tres capas que desacopla el kernel, los componentes de características y las integraciones del ecosistema). Se ofrecen dos extremos de acceso. ShardingSphere-JDBC es un framework Java ligero que actúa como un controlador JDBC mejorado, se conecta directamente a las bases de datos desde la aplicación sin un despliegue separado y es compatible con frameworks ORM comunes. ShardingSphere-Proxy es un proxy de base de datos transparente desplegado de forma independiente, habla protocolos compatibles con MySQL/PostgreSQL para que clientes en otros lenguajes puedan conectarse, y ofrece un punto de entrada estable para los DBA. Ambos pueden desplegarse de forma independiente o hibridarse con un centro de registro compartido y una configuración unificada. Las capacidades documentadas incluyen fragmentación de datos (estrategias horizontales, verticales y personalizadas), separación de lectura/escritura con balanceo de carga y conmutación por error, transacciones distribuidas (XA y BASE), cifrado y enmascaramiento de datos, auditoría SQL y control de acceso, pruebas de estrés con base de datos en sombra, observabilidad y traducción de dialectos SQL entre bases de datos como MySQL, PostgreSQL, Oracle, SQL Server y Firebird. También se describen el despliegue en clúster, la integración con Kubernetes y la monitorización. El README señala que el proyecto se convirtió en proyecto de nivel superior de Apache en abril de 2020 y que es utilizado por muchos proyectos. También advierte que el adaptador JDBC depende de la caché de análisis SQL de ANTLR, que puede crecer con muchas plantillas SQL, por lo que se debe configurar un tamaño de heap razonable. Se enlazan la documentación, las guías de contribución, la lista de correo, los issues de GitHub y las notas de la versión. Se describe la versión 5.5.4-SNAPSHOT como en desarrollo activo.