Sobre o projeto

O Apache ShardingSphere é um Projeto de Nível Superior da Apache, posicionado como "Database Plus" — uma camada de padrão e ecossistema construída sobre bancos de dados heterogêneos existentes, em vez de ser um novo banco de dados em si. Seu objetivo é fazer com que vários bancos de dados se comportem como um único, oferecendo acesso unificado e capacidades de computação aprimoradas. O projeto está organizado em torno de três pilares: Connect (adaptação de protocolos de banco de dados, dialetos SQL e formatos de armazenamento), Enhance (adição de computação distribuída, segurança, controle de tráfego e observabilidade) e Pluggable (um microkernel mais uma arquitetura plugável de três camadas que desacopla o kernel, os componentes de recursos e as integrações de ecossistema). Dois pontos de acesso são oferecidos. O ShardingSphere-JDBC é um framework Java leve que atua como um driver JDBC aprimorado, conectando-se diretamente aos bancos de dados a partir da aplicação, sem implantação separada; é compatível com frameworks ORM comuns. O ShardingSphere-Proxy é um proxy de banco de dados transparente implantado de forma independente, que fala protocolos compatíveis com MySQL/PostgreSQL, permitindo que clientes em outras linguagens se conectem, e oferece um ponto de entrada estável para DBAs. Os dois podem ser implantados de forma independente ou hibridizados com um centro de registro compartilhado e configuração unificada. As capacidades documentadas incluem sharding de dados (estratégias horizontal, vertical e personalizada), separação de leitura/escrita com balanceamento de carga e failover, transações distribuídas (XA e BASE), criptografia e mascaramento de dados, auditoria de SQL e controle de acesso, teste de estresse com banco de dados sombra, observabilidade e tradução de dialetos SQL entre bancos de dados como MySQL, PostgreSQL, Oracle, SQL Server e Firebird. Implantação em cluster, integração com Kubernetes e monitoramento também são descritos. O README observa que o projeto se tornou um Projeto de Nível Superior da Apache em abril de 2020 e é usado por muitos projetos. Também alerta que o adaptador JDBC depende do cache de análise SQL do ANTLR, que pode crescer com muitos modelos de SQL, portanto, um tamanho de heap razoável deve ser configurado. Documentação, diretrizes de contribuição, lista de discussão, issues do GitHub e notas de versão estão vinculadas. A versão 5.5.4-SNAPSHOT é descrita como em desenvolvimento ativo.