


Comment mettre en œuvre le fragment des données dans MySQL? Méthode d'optimisation de la rupture
MySQL lui-même n'a pas de fonction de rupture de données intégrée, mais peut être implémenté par la conception architecturale et les outils. Le fragmentation des données consiste à diviser de grandes données de table en plusieurs bases de données ou tables en fonction des règles pour améliorer les performances. Les méthodes de mise en œuvre courantes incluent: 1. Les tranches de hachage par ID utilisateur, qui sont réparties uniformément mais extensives en matière d'expansion de capacité; 2. 3. Algorithme de hachage cohérent, qui réduit la quantité de migration d'expansion mais est complexe dans la mise en œuvre. Après le rupture, les requêtes croisées, la migration des données, les transactions distribuées et d'autres problèmes doivent être traitées. Les middleware tels que MYCAT, Vietess ou Application Layer Logic Processing peuvent être utilisés et les clés de fragment doivent être sélectionnées raisonnablement, l'équilibre des fragments doit être surveillé, un fragment excessif doit être évité et les stratégies de sauvegarde doivent être améliorées.
MySQL lui-même ne fournit pas directement la fonction de la rupture de données, mais grâce à la coordination de certaines conceptions et outils architecturaux, la rupture peut être réalisée. Une pratique courante consiste à appliquer la logique de rupture de contrôle de couche ou à utiliser les opérations de rupture de proxy de middleware .
Qu'est-ce que les données de données?
Le fragmentation des données consiste à diviser les données d'une grande table en plusieurs bases de données ou tables en fonction de certaines règles, et chaque fragment stocke une partie des données. L'avantage de cela est qu'il peut atténuer la pression sur une seule bibliothèque, améliorer les performances de la requête et soutenir un plus grand volume de données.
MySQL lui-même est une base de données autonome et n'a pas de mécanisme de rupture automatique intégré, mais il peut être mis en œuvre de la manière suivante.
Comment mettre en œuvre le fragment des données dans MySQL?
1. SHORTS HASH PAR ID utilisateur
C'est l'une des stratégies de fragment les plus courantes. Par exemple, modulo une certaine valeur en décidant de quelle fragment les données se déroule:
shard_id = user_id% 4
Cela permet aux données de l'utilisateur d'être réparties uniformément entre 4 éclats. Chaque fragment a une instance ou un tableau de base de données indépendante.
Avantages: Même distribution, simples inconvénients de la mise en œuvre: recalculer le hachage lors de l'expansion de la capacité, ce qui rend les données de migrer les données
2. Rangement de gamme
Applicable aux champs avec des caractéristiques de séquence telles que les numéros de temps et de commande. Par exemple, par temps d'inscription:
- L'heure d'enregistrement de l'utilisateur avant 2020 est mise sur Shard1
- 2020-2021 POUR SHARD2
- Et ainsi de suite
Avantages: Convient aux inconvénients de la requête dans le gamme: il est facile de provoquer des points chauds (les dernières données sont concentrées dans un certain fragment)
3. Utilisez un algorithme de hachage cohérent
Afin de résoudre le problème de la difficulté de mise à l'échelle de hachage ordinaire, un hachage cohérent peut être utilisé. Il n'affecte que les nœuds voisins lorsque les nœuds augmentent ou diminuent, réduisant la migration des données.
Convient aux systèmes distribués à grande échelle, mais avec un peu plus de complexité.
Les questions et les méthodes d'adaptation fréquemment posées après Sharding
1. L'efficacité de la requête des boiss croisées est faible
Lorsque les conditions de requête impliquent plusieurs éclats, par exemple, pour vérifier les informations de commande de tous les utilisateurs, vous devez accéder à plusieurs éclats et fusionner les résultats.
Solution:
- Essayez d'éviter à l'avance les requêtes à tranche croisée et les cris de conception à l'avance
- Pour les exigences statistiques, vous pouvez créer un tableau récapitulatif séparément ou utiliser une plate-forme Big Data pour les traiter
2. Coût de migration des données élevé
À mesure que l'entreprise se développe, il peut être nécessaire d'ajouter de nouveaux éclats ou d'ajuster les stratégies de fragment.
suggestion:
- Au début, un nombre suffisant d'éclats sera réservé (par exemple, 64 ou 128 éclats virtuels)
- Réduire les coûts de migration avec un hachage cohérent
- Plan des scripts de migration et des plans en arrière à l'avance
3. Les transactions distribuées sont difficiles à gérer
MySQL prend en charge les transactions locales, mais les transactions contre les shash nécessitent l'introduction de validations en deux étapes ou l'utilisation d'autres cadres.
Plan recommandé:
- Utilisez des cadres de transaction distribués tels que SEATA et TCC
- Ou utilisez la conception de cohérence finale et les mises à jour de compensation asynchrones
Outils de fragment commun et middleware
1. MYCAT / ATLAS / DBPROXY
Ce sont des middleware de base de données open source qui peuvent vous aider à réaliser des fonctions telles que la lecture et l'écriture de séparation, de bibliothèque et de séparation de table. Ils agissent à l'extérieur comme un service MySQL unifié, acheminé automatiquement vers le fragment correct en interne.
2. Vitess (open source de Google)
Des solutions plus complexes, adaptées au déploiement hyper-large et prennent en charge les fonctions avancées telles que le fragment dynamique et l'équilibre automatique.
3. Logique personnalisée de la couche d'application
De nombreux projets de petite et moyenne taille choisiront de gérer la logique de rupture au niveau du code, comme encapsuler les règles de rupture dans ORM. Bien que le coût de développement soit légèrement plus élevé, il est flexible.
Quelques suggestions pratiques pour l'optimisation des fragments
- Il est important de choisir la bonne clé de fragment : généralement la clé primaire ou le champ de requête haute fréquence est sélectionnée pour éviter que les requêtes soient dispersées.
- Maintenez la taille des éclats : surveillez régulièrement la quantité de données de chaque éclat pour empêcher "chaud et froid inégal".
- Ne pas trop : trop d'éclats augmenteront la complexité du fonctionnement et de la maintenance. Vous pouvez d'abord faire des divisions horizontales, puis considérer les divisions verticales au début.
- Les stratégies de sauvegarde et de récupération doivent également être adaptées à la structure des fragments : vous ne pouvez pas seulement sauvegarder la bibliothèque principale, et chaque fragment doit avoir un mécanisme de sauvegarde correspondant.
Fondamentalement, c'est tout. MySQL Sharding n'est pas particulièrement compliqué, mais les détails sont faciles à ignorer, en particulier l'extension, la maintenance, la requête et d'autres problèmes rencontrés pendant le fonctionnement réel, qui doivent être planifiés à l'avance.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Il existe trois façons de modifier la méthode d'ouverture du PDF par défaut en fonction de l'application souhaitée : via l'Explorateur de fichiers, les paramètres système ou le Panneau de configuration. Tout d'abord, vous pouvez cliquer avec le bouton droit sur n'importe quel fichier PDF, sélectionner « Ouvrir avec » et cocher « Toujours utiliser cette application » ; deuxièmement, entrez le paramètre « Application par défaut » via [Win I] et spécifiez un programme pour .pdf ; vous pouvez également l'associer manuellement via la fonction "Programme par défaut" du panneau de commande. S'il est toujours modifié après sa configuration, vous devez vérifier si le logiciel de sécurité a réinitialisé l'association et vous assurer que les paramètres du lecteur PDF ont été définis par défaut pour éviter les conflits entre plusieurs logiciels PDF et conduire à une association instable.

Le menu contextuel de Windows 10 peut être géré via des outils tiers, l'édition du registre ou la ligne de commande. Tout d'abord, il est recommandé d'utiliser des outils visuels tels que « Assistant de gestion des menus contextuels de Windows » pour ajouter ou supprimer des éléments de menu après une exécution en tant qu'administrateur ; Deuxièmement, vous pouvez modifier manuellement le registre, créer un nouvel élément shell sous le chemin approprié de HKEY_CLASSES_ROOT et définir la sous-clé de commande pour qu'elle pointe vers le programme cible. Vous devez sauvegarder le registre avant l'opération ; enfin, vous pouvez utiliser l'outil open source ContextMenuManager pour gérer par lots les éléments de menu via une liste de ligne de commande, désactiver, activer et d'autres paramètres, ce qui convient aux utilisateurs avancés.

Le menu contextuel est bloqué en raison d'une redondance du registre ou de conflits logiciels. Il est nécessaire de nettoyer les éléments ContextMenuHandlers, de supprimer les sous-éléments non nouveaux, d'utiliser la fonction de recherche pour vérifier le chemin du répertoire et de supprimer les éléments redondants, de désinstaller les logiciels tiers tels que 360 ou NVIDIA et de mettre à jour le pilote Bluetooth de la carte graphique pour résoudre le problème.

Windows 11 peut permettre à l'horloge de la barre des tâches d'afficher les secondes via les paramètres, le registre, la ligne de commande ou des outils tiers. 1. Activez-le dans les paramètres : accédez à Personnalisation → Barre des tâches → Comportement de la barre des tâches et activez « Afficher les secondes dans l'horloge de la barre d'état système » ; 2. Modification du registre : créez une nouvelle valeur DWORD ShowSecondsInSystemClock sous HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced et définissez-la sur 1 ; 3. Exécution de la ligne de commande : exécutez PowerShell en tant qu'administrateur et entrez regaddHKCU\Softw

Tout d’abord, vérifiez l’espace occupé par le point de restauration du lecteur C via l’onglet Protection du système dans les propriétés du système. Deuxièmement, utilisez la commande PowerShell vssadminlistshadowstorage pour obtenir l'occupation totale du cliché instantané du volume. Enfin, vérifiez la fréquence des tâches SystemRestore via le planificateur de tâches pour évaluer l'impact sur le stockage.

Le déchirement de l'écran est dû au fait que la fréquence d'images de la carte graphique n'est pas synchronisée avec le taux de rafraîchissement du moniteur, ce qui peut être résolu en activant l'optimisation fenêtrée, en désactivant l'optimisation plein écran, en définissant la synchronisation verticale, en calibrant le taux de rafraîchissement et en désactivant le HDR automatique.

Tout d’abord, utilisez la commande DISM pour installer .NET Framework 3.5 à partir de sources locales. En cas d'échec, activez la fonction via le panneau de configuration, puis réparez les fichiers système et réinitialisez le service de mise à jour, vérifiez les paramètres de stratégie de groupe et enfin utilisez des outils tiers pour vous aider à la réparation.

1. Vous pouvez afficher et ajuster les services d'arrière-plan de Windows 8 en exécutant services.msc, Gestionnaire des tâches, Gestion de l'ordinateur et Invite de commandes. Les opérations sont applicables aux scénarios d’accès rapide, de surveillance des ressources, de configuration complète et de requêtes par lots.
