À propos du projet

Apache ShardingSphere est un projet de premier niveau de l'Apache Software Foundation positionné comme « Database Plus » — une couche de standard et d'écosystème construite au-dessus des bases de données hétérogènes existantes plutôt qu'une nouvelle base de données. Il vise à faire en sorte que plusieurs bases de données se comportent comme une seule, en fournissant un accès unifié et des capacités de calcul améliorées. Le projet s'organise autour de trois piliers : Connect (adaptation des protocoles de bases de données, des dialectes SQL et des formats de stockage), Enhance (ajout de calcul distribué, de sécurité, de contrôle du trafic et d'observabilité) et Pluggable (un micro-noyau plus une architecture enfichable à trois couches qui découple le noyau, les composants fonctionnels et les intégrations d'écosystème). Deux extrémités d'accès sont proposées. ShardingSphere-JDBC est un framework Java léger qui agit comme un pilote JDBC amélioré, se connectant directement aux bases de données depuis l'application sans déploiement séparé ; il est compatible avec les frameworks ORM courants. ShardingSphere-Proxy est un proxy de base de données transparent déployé indépendamment, parlant des protocoles compatibles MySQL/PostgreSQL afin que des clients dans d'autres langages puissent se connecter, et offrant un point d'entrée stable pour les DBA. Les deux peuvent être déployés indépendamment ou hybridés avec un centre de registre partagé et une configuration unifiée. Les capacités documentées incluent le sharding de données (stratégies horizontales, verticales et personnalisées), la séparation lecture/écriture avec équilibrage de charge et basculement, les transactions distribuées (XA et BASE), le chiffrement et le masquage des données, l'audit SQL et le contrôle d'accès, les tests de charge sur base de données fantôme, l'observabilité, et la traduction de dialectes SQL entre des bases de données telles que MySQL, PostgreSQL, Oracle, SQL Server et Firebird. Le déploiement en cluster, l'intégration Kubernetes et la supervision sont également décrits. Le README indique que le projet est devenu un projet de premier niveau de l'Apache Software Foundation en avril 2020 et qu'il est utilisé par de nombreux projets. Il avertit également que l'adaptateur JDBC repose sur le cache d'analyse SQL d'ANTLR, qui peut croître avec de nombreux modèles SQL, de sorte qu'une taille de tas raisonnable doit être configurée. La documentation, les directives de contribution, la liste de diffusion, les tickets GitHub et les notes de version sont liés. La version 5.5.4-SNAPSHOT est décrite comme en cours de développement actif.