5 nouvelles améliorations dans Apache ShardingSphere


  • Français


  • Apache ShardingSphere, une puissante base de données distribuée, a récemment publié une mise à jour majeure pour optimiser et améliorer ses fonctionnalités, ses performances, ses tests, sa documentation et ses exemples. En bref, le projet continue de travailler dur au développement pour vous faciliter la gestion des données de votre organisation.

    1. Audit SQL pour le partage de données

    Le problème : lorsqu’un utilisateur exécute une requête SQL sans la fonctionnalité de partitionnement dans des scénarios de partitionnement de données à grande échelle, la requête SQL est acheminée vers la base de données sous-jacente pour exécution. Par conséquent, de nombreuses connexions à la base de données sont occupées et les entreprises sont gravement affectées par un dépassement de délai ou d’autres problèmes. Pire encore, si l’utilisateur devait effectuer une METTRE À JOUR/EFFACER opération, une grande quantité de données peut être mise à jour ou supprimée de manière incorrecte.

    La solution de ShardingSphere : à partir de la version 5.2.0, ShardingSphere fournit l’audit SQL pour la fonctionnalité de partage de données et permet aux utilisateurs de configurer des stratégies d’audit. La stratégie spécifie plusieurs algorithmes d’audit et les utilisateurs peuvent décider si les règles d’audit doivent être désactivées. L’exécution SQL est strictement interdite si un algorithme d’audit échoue.

    Voici la configuration d’un audit SQL pour le partage de données :

    rules:
    - !SHARDING
      tables:
        t_order:
          actualDataNodes: ds_${0..1}.t_order_${0..1}
          tableStrategy:
            standard:
              shardingColumn: order_id
              shardingAlgorithmName: t_order_inline
          auditStrategy:
            auditorNames:
              - sharding_key_required_auditor
            allowHintDisable: true
      defaultAuditStrategy:
        auditorNames:
          - sharding_key_required_auditor
        allowHintDisable: true  auditors:
        sharding_key_required_auditor:
          type: DML_SHARDING_CONDITIONS

    Compte tenu des scénarios métier complexes, cette nouvelle fonctionnalité vous permet de désactiver dynamiquement l’algorithme d’audit à l’aide d’indicateurs SQL afin que des opérations SQL métier partielles puissent être exécutées.

    ShardingSphere a un intégré DML désactive l’audit de routage complet algorithme. Vous pouvez également mettre en place un ShardingAuditAlgorithm interface pour obtenir des fonctions d’audit SQL avancées :

    /* ShardingSphere hint: disableAuditNames=sharding_key_required_auditor */ SELECT * FROM t_order;

    2. Gestion du processus d’exécution SQL

    La base de données MySQL ShardingSphere fournit un AFFICHER LA LISTE DES PROCESSUS instruction, vous permettant d’afficher le thread en cours d’exécution. Vous pouvez tuer le fil avec le TUER instruction pour SQL qui met trop de temps à se terminer temporairement.

    (Duan Zhengqiang, CC BY-SA 4.0)

    La AFFICHER LA LISTE DES PROCESSUS et TUER sont largement utilisés dans la gestion quotidienne des opérations et de la maintenance. Pour améliorer votre capacité à gérer ShardingSphere, la version 5.2.0 prend en charge MySQL AFFICHER LA LISTE DES PROCESSUS et TUER déclarations. Lorsque vous exécutez un DDL/LMD via ShardingSphere, ShardingSphere génère automatiquement un identifiant UUID unique et stocke les informations d’exécution SQL dans chaque instance.

    Lorsque vous exécutez le AFFICHER LA LISTE DES PROCESSUS instruction, ShardingSphere traite les informations d’exécution SQL en fonction du mode de fonctionnement actuel.

    Si le mode actuel est le mode cluster, ShardingSphere collecte et synchronise les informations d’exécution SQL de chaque nœud de calcul via le centre de gouvernance, puis renvoie le résumé à l’utilisateur. Si le mode actuel est le mode autonome, ShardingSphere renvoie uniquement les informations d’exécution SQL dans le nœud de calcul actuel.

    Vous devez déterminer s’il faut exécuter le TUER instruction basée sur le résultat renvoyé par AFFICHER LA LISTE DES PROCESSUSet ShardingSphere annule le SQL en cours d’exécution en fonction de l’ID dans le TUER déclaration.

    3. Shardingsphere-on-cloud

    Shardingsphere-on-cloud est un projet d’Apache ShardingSphere fournissant des solutions orientées cloud. La version 0.1.0 a été publiée et a été officiellement votée en tant que sous-projet d’Apache ShardingSphere.

    Shardinsphere-on-cloud continuera à publier des modèles de configuration, des scripts de déploiement et d’autres outils d’automatisation pour ShardingSphere sur le cloud.

    Il perfectionnera également les pratiques d’ingénierie en termes de haute disponibilité, de migration des données, d’observabilité, de base de données fantôme, de sécurité et d’audit, optimisera le mode de livraison des Helm Charts et continuera d’améliorer ses capacités de gestion natives dans le cloud via Kubernetes Operator. Il existe déjà des problèmes d’introduction dans le référentiel du projet pour aider ceux qui souhaitent mettre en place et exécuter rapidement Go, Database et Cloud.

    4. Port d’accès

    Dans la version 5.2.0, ShardingSphere-Proxy peut surveiller les adresses IP spécifiées et intégrer les pilotes de base de données openGauss par défaut. ShardingSphere-JDBC prend en charge les sources de données c3p0, et un Connection.prepareStatementConnection.prepareStatement peut spécifier les colonnes.

    5. Transaction distribuée

    Le gestionnaire de transactions au niveau de la base de données logique d’origine a été adapté à un gestionnaire global, prenant en charge les transactions distribuées sur plusieurs bases de données logiques. Les transactions XA sont désormais automatiquement gérées par ShardingSphere, ce qui supprime la capacité de l’instruction XA à contrôler les transactions distribuées.

    Utiliser ShardingSphere pour les données distribuées

    ShardingSphere prend en charge plusieurs bases de données, et chaque amélioration vous enlève plus de travail. La mise en place du sous-projet shardingsphere-on-cloud montre l’engagement de ShardingSphere à être natif du cloud. La grande communauté ShardingSphere invite toute personne intéressée par Go, les bases de données et le cloud à rejoindre le sous-projet shardingsphere-on-cloud !


    L’article a été publié pour la première fois le Médium.com et a été republié avec autorisation.

    Source

    Houssen Moshinaly

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code