Les métadonnées sont définies comme : des données décrivant des données, des informations descriptives sur les données et les ressources d'information.
Les métadonnées sont des données qui décrivent d'autres données (données sur d'autres données) ou des données structurées (données structurées) utilisées pour fournir des informations sur une certaine ressource. Les métadonnées sont des données qui décrivent des objets tels que des ressources d'information ou des données. Leur objectif est d'identifier les ressources ; de suivre les modifications apportées aux ressources au cours de leur utilisation ; de réaliser une gestion simple et efficace de grandes quantités de données en réseau ; ressources, Recherche, organisation intégrée et gestion efficace des ressources utilisées.
Il existe actuellement plusieurs solutions couramment utilisées pour la gestion des métadonnées : les métadonnées de gestion des nœuds centraux, les métadonnées de gestion distribuée et la conception sans métadonnées ; cet article parle des caractéristiques des trois solutions :
1. Métadonnées de gestion du nœud central
Lors de la conception d'un système (de stockage) distribué, l'utilisation d'un nœud central est une solution très simple et claire. Le nœud central a généralement des fonctions telles que. stockage et requête de métadonnées, gestion de l'état des nœuds de cluster, prise de décision et émission de tâches ;
Avantages :
A. En raison de sa gestion centralisée des métadonnées, il peut être pratique de gérer l'analyse statistique. exigences de gestion de l'exploitation et de la maintenance du cluster ;
B. Le nœud central enregistre les informations d'état des données utilisateur (c'est-à-dire les métadonnées). Lors du développement, vous pouvez choisir de ne pas effectuer l'opération de rééquilibrage (les données causées par le rééquilibrage de la migration peuvent). entraînent une énorme surcharge de performances), et peuvent toujours résoudre normalement ;
Inconvénients et solutions :
a Le point de défaillance unique est l'un des problèmes les plus tabous dans la conception de systèmes distribués, la conception simple de. le nœud central pose également ce problème. Comment implémenter HA ? Solution : (1) Utilisez le modèle actif-veille, utilisez des méthodes synchrones ou asynchrones pour la synchronisation incrémentielle ou complète des données (telles que TFS, mfs, HDFS2.0, etc.) ou utilisez le stockage partagé à distance (telles que HDFS2.0). , le stockage à distance nécessite une haute disponibilité);
b. Il existe une limite supérieure pour l'expansion des performances et de la capacité, et les propres installations matérielles du nœud central centralisé ont une limite supérieure pour l'expansion (mise à l'échelle) et l'adressage basé sur des requêtes. méthode, conduisant à ce problème ; même si le client met en cache les métadonnées ou utilise un cluster de cache, la limite supérieure ne peut pas être fondamentalement éliminée. Dans certains scénarios (tels que de petits fichiers volumineux), ce problème existe toujours : (1) Optimiser et mettre à niveau le matériel , comme l'utilisation de SSD, d'une grande mémoire et d'autres machines ; (2) Face à ce problème, envisagez d'utiliser une solution de métadonnées de gestion distribuée.
2. La gestion distribuée des métadonnées
est similaire à la solution de nœud central. Elle fragmente simplement les métadonnées et utilise des nœuds distribués pour les gérer et les stocker tout en conservant les avantages de la solution de nœud central. , cela résout Il résout le problème de la limite supérieure des performances et de l'expansion de la capacité. Dans le même temps, plusieurs nœuds fournissent des services de requête de métadonnées en même temps et les performances du système sont améliorées
Inconvénients
Ce type de système est relativement rare, et le système lui-même a une structure complexe. Il est également difficile à mettre en œuvre a. Le système contient deux nœuds distribués relativement indépendants : les nœuds de métadonnées et les nœuds de données. sont tous deux des nœuds avec état.Les modules distribués composés de chaque nœud doivent faire face à la distribution.Le choix du principe de formule CAP doit être évolutif, en particulier les métadonnées ont des exigences de cohérence plus élevées b. des nœuds de données et prendre des décisions lorsque le statut change. Une prise de décision cohérente ; celles-ci posent de grands défis pour la conception et la mise en œuvre du système c. c'est aussi un coût qui ne peut être ignoré ; Les deux solutions ci-dessus ont la même idée : enregistrer et maintenir l'état des données (c'est-à-dire les métadonnées). Lors de l'adressage des données, interrogez d'abord le serveur de métadonnées, puis accédez-y. les données réelles ; 3. Pas de métadonnées La conception prend principalement ceph comme exemple. Différente des deux idées ci-dessus, l'idée principale de ce type de système est d'utiliser un. algorithme pour calculer l'adressage. L'un des paramètres d'entrée de l'algorithme d'adressage est l'état du cluster (tel que le nœud de données. Une certaine forme de description de la topologie de distribution, du poids, de l'état du processus, etc.. Ces algorithmes courants incluent le hachage cohérent et l'algorithme CRUSH). du système Ceph RADOS. Ce type d'algorithme ne gère généralement pas directement les données utilisateur, mais introduit une couche intermédiaire de structure de partitionnement logique (comme le fragment d'anneau de hachage cohérent, le groupe de placement de ceph), sa granularité est plus grande, sa quantité est limitée et relativement fixe, les données auxquelles l'utilisateur accède appartiennent à un seul des fragments, et le système gère et maintient ces fragments. Certains de ces systèmes disposent également de nœuds de gestion de configuration centraux (tels que le moniteur Ceph Rados). , qui assurent uniquement la gestion et la maintenance des états importants tels que les clusters et les fragments, et ne fournissent pas de stockage et d'interrogation des métadonnées Avantages : A Comme mentionné ci-dessus, le système n'a besoin que de pour gérer et conserver des informations telles que le partitionnement logique et l'état du cluster, et ne stocke pas les métadonnées pour la gestion des données utilisateur. L'évolutivité du système est considérablement améliorée, ce qui est utile dans les scénarios avec de grandes quantités de métadonnées. 🎜>B. La quantité de données de paramètres requise par l'algorithme d'adressage est faible et relativement fixe. Le client peut atteindre l'objectif d'adressage parallèle pour plusieurs clients grâce à la mise en cache, évitant ainsi le goulot d'étranglement des performances d'adressage ; Analyse des inconvénients :
a. Lorsque le cluster est étendu (ou même lorsque le poids est modifié), un rééquilibrage doit être effectué, en particulier pour les clusters avec une grande échelle de données (au-dessus du niveau PB). La grande quantité de migration de données qui en résulte conservera le cluster. dans un état de charge élevé, cela entraîne une diminution des indicateurs de performances tels que la latence et les iops des demandes commerciales normales. Cependant, dans certains scénarios, lors de l'expansion du cluster, un rééquilibrage n'est pas souhaité (par exemple, la capacité du cluster est insuffisante) ; À cet égard, une stratégie courante consiste à préparer à l'avance les performances et la capacité de chaque cluster. Selon l'évaluation, lorsqu'une expansion est nécessaire, créez directement un nouveau cluster si un seul cluster doit être rééquilibré, réduisez la charge du cluster manuellement. intervention et limitation de courant ; quant à la raison fondamentale du rééquilibrage, je pense que l'expansion entraînera un changement dans l'état du cluster, ce qui entraînera des changements dans les résultats de l'algorithme d'adressage. La distribution finale des données doit également changer ; >b. La position de distribution de copie des données est calculée via l'algorithme d'adressage. La position est relativement fixe et ne peut presque pas être ajustée manuellement, mais les données globales peuvent généralement être modifiées en modifiant le poids ; c. Le nœud de gestion de configuration central gère uniquement les informations sur les fragments et ne connaît pas les informations des données utilisateur individuelles. Les exigences en matière d'analyse statistique doivent être satisfaites en collectant régulièrement les informations sur les nœuds de données, en les stockant et en les conservant.
Résumé : Grâce à l'analyse comparative ci-dessus, les stratégies d'adressage des trois types de systèmes font que les systèmes eux-mêmes ont leurs propres avantages et inconvénients correspondants. Ils ne sont pas parfaits, mais ils ont tous leurs scénarios et leurs activités appropriés. Dans le système Lors de la conception et de la sélection, des considérations globales doivent être prises en compte.