Metadaten sind definiert als: Daten, die Daten beschreiben, beschreibende Informationen über Daten und Informationsressourcen.
Metadaten sind Daten über andere Daten oder strukturierte Daten, die zur Bereitstellung von Informationen über eine bestimmte Ressource verwendet werden. Metadaten sind Daten, die Objekte wie Informationsressourcen oder Daten beschreiben. Ihr Zweck besteht darin, Ressourcen während der Nutzung zu identifizieren; Ressourcen, Finden, integrierende Organisation und effektives Management der genutzten Ressourcen.
Es gibt derzeit mehrere häufig verwendete Lösungen für die Metadatenverwaltung: zentrale Knotenverwaltungsmetadaten, verteilte Verwaltungsmetadaten und metadatenfreies Design. In diesem Artikel werden die Merkmale der drei Lösungen erläutert:
1. Zentrale Knotenverwaltungsmetadaten
Beim Entwurf eines verteilten (Speicher-)Systems ist die Verwendung eines zentralen Knotens normalerweise eine sehr einfache und klare Lösung
Vorteile:
A. Aufgrund der zentralen Verwaltung von Metadaten kann die statistische Analyse bequem durchgeführt werden Anforderungen des Cluster-Betriebs und der Wartungsverwaltung;
Nachteile und Lösungen:
a. Single Point of Failure ist eines der tabuisierten Probleme beim Entwurf verteilter Systeme, das einfache Design Der zentrale Knoten bringt auch dieses Problem mit sich. Wie implementiert man HA? ; Lösung: (1) Verwenden Sie das Aktiv-Standby-Modell, verwenden Sie synchrone oder asynchrone Methoden für die inkrementelle oder vollständige Datensynchronisierung (wie TFS, mfs, HDFS2.0 usw.) oder verwenden Sie gemeinsam genutzten Remotespeicher (wie HDFS2.0). , Remote-Speicher erfordert eine hohe Verfügbarkeit);
b Es gibt eine Obergrenze für die Leistungs- und Kapazitätserweiterung, und die eigenen Hardwareeinrichtungen des zentralen Zentralknotens haben eine Obergrenze für die Erweiterung (Skalierung) und die abfragebasierte Adressierung Methode, die zu diesem Problem führt; selbst wenn der Client Metadaten zwischenspeichert oder einen Cache-Cluster verwendet, kann die Obergrenze nicht grundsätzlich beseitigt werden (z. B. bei großen kleinen Dateien). Lösung: (1) Optimieren und Aktualisieren Sie die Hardware, z. B. mithilfe von SSDs, großem Speicher und anderen Maschinen. (2) Wenn Sie mit diesem Problem konfrontiert sind, sollten Sie die Verwendung einer verteilten Verwaltungsmetadatenlösung in Betracht ziehen.
2. Die verteilte Verwaltung von Metadaten
ähnelt der zentralen Knotenlösung. Sie fragmentiert lediglich die Metadaten und verwendet verteilte Knoten, um sie zu verwalten und zu speichern Es löst das Problem der Leistungsobergrenze und der Kapazitätserweiterung. Gleichzeitig stellen mehrere Knoten gleichzeitig Metadatenabfragedienste bereit und die Systemleistung wird verbessert 🎜>Dieser Systemtyp ist relativ selten und das System selbst ist schwierig zu implementieren.
a Das System enthält zwei relativ unabhängige verteilte Knoten Die aus jedem Knoten bestehenden verteilten Module müssen skalierbar sein, insbesondere müssen Metadaten den Status gemeinsam aufrechterhalten von Datenknoten und das Treffen konsistenter Entscheidungen; diese stellen große Herausforderungen an das Design und die Implementierung des Systems dar.
c ist auch ein nicht zu vernachlässigender Kostenfaktor;
Die beiden oben genannten Lösungen haben die gleiche Idee: Erfassen und pflegen Sie den Status der Daten (d. h. Metadaten), fragen Sie zuerst den Metadatenserver ab und greifen Sie dann darauf zu die tatsächlichen Daten;
3. Das Design
unterscheidet sich hauptsächlich von den beiden oben genannten Ideen Algorithmus zur Berechnung der Adressierung. Einer der Eingabeparameter des Adressierungsalgorithmus ist der Clusterstatus (z. B. Datenknoten. Eine Form der Beschreibung der Verteilungstopologie, Gewichtung, Prozessstatus usw.). Zu diesen gängigen Algorithmen gehören konsistentes Hashing und der CRUSH-Algorithmus Diese Art von Algorithmus verwaltet Benutzerdaten normalerweise nicht direkt, sondern führt eine Zwischenschicht der logischen Sharding-Struktur ein (z. B. das Ringfragment des konsistenten Hashings, die Platzierungsgruppe von Ceph). Die Menge ist begrenzt und relativ fest. Die Daten, auf die der Benutzer zugreift, gehören zu den einzigen Shards, und das System verwaltet und verwaltet diese Shards. Benutzerdaten verfügen auch über zentrale Konfigurationsverwaltungsknoten (z. B. Ceph Rados Monitor). ), die nur die Verwaltung und Wartung wichtiger Zustände wie Cluster und Shards ermöglichen und keine Speicherung und Abfrage von Metadaten ermöglichen:
A muss Informationen wie logisches Sharding und Clusterstatus verwalten und verwalten und speichert keine Metadaten zur Verwaltung von Benutzerdaten. Die Skalierbarkeit des Systems ist erheblich verbessert, was in Szenarien mit großen Mengen an Metadaten nützlich ist.
B. Die Menge der vom Adressierungsalgorithmus benötigten Parameterdaten ist gering und relativ fest. Der Client kann den Zweck der parallelen Adressierung für mehrere Clients erreichen, wodurch der Adressierungsleistungsengpass vermieden wird >Nachteilanalyse:
a. Wenn der Cluster erweitert wird (oder sogar wenn die Gewichtung geändert wird), muss eine Neuverteilung durchgeführt werden, insbesondere bei Clustern mit großem Datenumfang (über PB-Ebene). in einem Zustand mit hoher Auslastung führt dies wiederum dazu, dass die Leistungsindikatoren wie Latenz und IOPs normaler Geschäftsanforderungen sinken. In einigen Szenarien ist jedoch bei der Durchführung einer Clustererweiterung kein Neuausgleich erforderlich (z. B. ist die Clusterkapazität unzureichend). In diesem Zusammenhang besteht eine gängige Strategie darin, Leistung und Kapazität für jeden Cluster im Voraus vorzubereiten. Wenn eine Erweiterung erforderlich ist, muss ein einzelner Cluster manuell neu ausbalanciert werden Was den grundlegenden Grund für die Neuausrichtung betrifft, so glaube ich, dass die Erweiterung zu einer Änderung des Clusterstatus führen wird, was zu Änderungen in den Ergebnissen des Adressierungsalgorithmus führen wird.
b. Die Position der Kopie der Daten wird durch den Adressierungsalgorithmus berechnet und kann fast nicht manuell angepasst werden c. Der zentrale Konfigurationsverwaltungsknoten verwaltet nur Shard-Informationen und kennt nicht die Informationen einzelner Benutzerdaten. Die Anforderungen für die statistische Analyse müssen durch regelmäßiges Sammeln von Datenknoteninformationen sowie deren Speicherung und Pflege realisiert werden.
Zusammenfassung: Durch die obige vergleichende Analyse haben die Adressierungsstrategien der drei Systemtypen ihre eigenen entsprechenden Vor- und Nachteile. Sie sind nicht perfekt, aber sie haben alle ihre geeigneten Szenarien und Geschäfte. Im System Bei der Gestaltung und Auswahl müssen umfassende Überlegungen angestellt werden.