Was sind MPP-Architektur und verteilte Architektur? Der 2000 Wörter lange Artikel wird es Ihnen klar erklären!

Im vorherigen Artikel haben wir die Gründe für die Geburt des Data Warehouse, die grundlegenden Merkmale, den Unterschied zwischen dem Data Warehouse und der Datenbank sowie den Aufbau des Data Warehouse ausführlich erläutert. Schauen Sie sich nun die MPP-Architektur und die verteilte Architektur an.

1. MPP-Architektur
Die MPP-Architektur (Massively Parallel Processing) ist eine verteilte Datenverarbeitungstechnologie, die die Datenverarbeitungsleistung verbessern kann, indem Arbeitslasten auf mehrere Knoten verteilt werden.

Im Gegensatz zur herkömmlichen gemeinsam genutzten Architektur verwendet MPP eine nicht gemeinsam genutzte Architektur (Share Nothing), die einen Cluster eigenständiger Datenbankknoten bildet, wobei jeder Knoten über ein unabhängiges Festplatten- und Speichersystem verfügt und über ein dediziertes Netzwerk miteinander verbunden ist oder ein kommerzielles Allzwecknetzwerk für kollaboratives Computing, das umfassende Datenverarbeitungsdienste bereitstellt.

In Bezug auf das Design legt die MPP-Architektur Wert auf Konsistenz (Konsistenz), gefolgt von Verfügbarkeit (Verfügbarkeit) und versucht gleichzeitig, Partitionstoleranz (Partitionstoleranz) zu erreichen.

Die MPP-Architektur wird häufig in Szenarien wie Data Warehouses, Data Marts und Big-Data-Analysen verwendet. Ihr verteiltes Design kann das kontinuierliche Wachstum des Datenumfangs und die zunehmende Komplexität effektiv bewältigen, steht aber auch vor einigen Herausforderungen.
Fügen Sie hier eine Bildbeschreibung ein
Vorteile der MPP-Architektur
Die Vorteile der MPP-Architektur spiegeln sich vor allem in folgenden Aspekten wider:

  1. Hohe Leistung: Die MPP-Architektur verteilt Daten auf mehrere Knoten. Jeder Knoten verfügt über unabhängige Verarbeitungsfähigkeiten und kann mehrere Aufgaben gleichzeitig verarbeiten, wodurch die Datenverarbeitungsleistung erheblich verbessert wird. Gleichzeitig nutzen seine Jobplanungs- und Datenausgleichsmechanismen die Rechenaufgaben voll aus, optimieren die Datenverteilung und -übertragung und reduzieren Systemverzögerung und Durchsatz.

  2. Horizontale Erweiterung: Mit der kontinuierlichen Zunahme der Datengröße und -komplexität sind herkömmliche eigenständige Datenbanken nach und nach nicht mehr in der Lage, die Geschäftsanforderungen zu erfüllen. Die MPP-Architektur kann eine horizontale Erweiterung durch Erhöhung der Hardwareressourcen wie Rechenknoten, CPUs und Speicher erreichen und eine bessere Bereitstellung ermöglichen Anwendungen für Unternehmen. Erfahrung.

  3. Feinverwaltung: Die MPP-Architektur muss auf mehreren Knoten verstreute Daten verwalten. Daher sind Feinverwaltungs- und Planungsmechanismen erforderlich, um den Datenfluss und den Aufgabenausführungsprozess besser zu verwalten und Datensicherungs-, Wiederherstellungs-, Komprimierungs- und Datenbereinigungsprozesse zu optimieren.

  4. Hohe Verfügbarkeit: Die MPP-Architektur verwendet ein verteiltes Design und verfügt über eine hohe Verfügbarkeit. Wenn ein Knoten ausfällt, kann das System automatisch zu anderen Knoten wechseln, um die Servicekontinuität sicherzustellen.

Nachteile der MPP-Architektur
Die MPP-Architektur eignet sich für mittelgroße Unternehmensdatenverarbeitungsszenarien und hat sich zu einer der wichtigsten Architekturen für die Unternehmensdatenverarbeitung entwickelt. Doch die MPP-Architektur hat auch einige Nachteile und Probleme:

  1. Speicherundurchsichtigkeit: Die MPP-Architektur muss die Datenfragmentierung modellieren und entwerfen und einen bestimmten Algorithmus verwenden, um die Daten nach bestimmten Regeln aufzuteilen, damit der Speicherort für Benutzer undurchsichtig ist. Bei der Durchführung einer Abfrage muss die Abfrageaufgabe auf allen Datenknoten ausgeführt werden, was die Verzögerung der Abfrage erhöht. Bei der Fehlerbehandlung der abgefragten Datenknoten muss auch das Problem der Datenwiederherstellung berücksichtigt werden.

  2. Einzelknoten-Engpass: Bei der Durchführung paralleler Berechnungen werden Rechenaufgaben zur Berechnung auf alle Knoten verteilt. Ein Einzelknoten-Engpass wird zu einem Mangel des gesamten Systems mit schlechter Fehlertoleranz, was zu einer langsamen Reaktion des gesamten Systems führen kann . Darüber hinaus verfügt die MPP-Architektur selbst über eine große Anzahl von Knoten und eine große Datenmenge, und die Kosten eines Knotenausfalls sind ebenfalls hoch.
    Fügen Sie hier eine Bildbeschreibung ein

  3. Verteilte Transaktionen: Aufgrund der verteilten Speicherung zwischen Knoten in der MPP-Architektur werden Remoteaufrufe während der Transaktionsverarbeitung verzögert, und einige Transaktionsvorgänge müssen über mehrere Knoten hinweg verarbeitet werden. Zu diesem Zeitpunkt wird die Transaktionsverarbeitung in verteilten Systemen sehr kompliziert und Auswirkungen auf die Skalierbarkeit des Systems haben.

Kurz gesagt: Obwohl die MPP-Architektur die Vorteile hoher Leistung und horizontaler Erweiterung bietet, weist sie auch Nachteile wie Speicherundurchsichtigkeit, Engpässe bei einzelnen Knoten und verteilte Transaktionsimplementierung auf. Eine angemessene Auswahl und ein angemessenes Design sollten entsprechend den spezifischen Geschäftsanforderungen erfolgen.
Fügen Sie hier eine Bildbeschreibung ein
2. Verteilte Architektur
Die verteilte Architektur ist eine Computerarchitektur, die Computeraufgaben gleichzeitig auf mehrere Computerknoten verteilt und hauptsächlich zur Bewältigung großer Datenmengen und komplexer Computerprobleme verwendet wird. Diese Architektur wird oft auch als Big-Data-Architektur oder verteilte Stapelverarbeitungsarchitektur bezeichnet und umfasst mehrere spezifische Implementierungen wie Hadoop, Spark usw.

Insbesondere verfügt in einer verteilten Architektur jeder Knoten über seine eigene Rechenleistung und Speicherressourcen, was eine Standortautonomie ermöglicht (lokale Anwendungen unabhängig ausführen). Daten werden im Cluster global und transparent gemeinsam genutzt, und alle Knoten sind über LAN oder WAN verbunden. Der Kommunikationsaufwand zwischen Knoten ist jedoch relativ hoch, sodass die Datenbewegung während des Betriebs minimiert werden muss.

In Bezug auf das Design geben verteilte Systeme normalerweise der Partitionstoleranz (Partitionstoleranz) Vorrang, gefolgt von der Verfügbarkeit (Verfügbarkeit) und versuchen, Konsistenz (Konsistenz) zu erreichen.

Kurz gesagt, die verteilte Architektur eignet sich für die Datenverarbeitung in großem Maßstab und komplexe Rechenszenarien. Sie verfügt über eine hohe Skalierbarkeit und Fehlertoleranz, muss aber auch die Probleme der verteilten Datenkonsistenz, der Aufgabenplanung und des Kommunikationsaufwands lösen. Angemessene Auswahl und Gestaltung je nach Geschäftsbedarf.
Fügen Sie hier eine Bildbeschreibung ein
Vorteile der verteilten Architektur
Im Vergleich zur MPP-Architektur bietet die verteilte Architektur die folgenden Vorteile

  1. Hoher Durchsatz: Die verteilte Architektur kann Rechenaufgaben zur parallelen Ausführung auf mehrere Knoten verteilen und verfügt daher über eine hohe Verarbeitungsgeschwindigkeit und einen hohen Durchsatz. Mit zunehmender Clustergröße wird die Verarbeitungsgeschwindigkeit beschleunigt und kann auf Exabytes an Datenvolumen erweitert werden.

  2. Öffentlicher Speicher: Verteilte Architekturen verwenden normalerweise öffentliche Speichersysteme wie HDFS (Hadoop Distributed File System) zur Datenverwaltung. Diese Speichermethode eignet sich zum Speichern großer heterogener Daten und weist eine gute Skalierbarkeit und Fehlertoleranz auf.

  3. Flexibilität: Die verteilte Architektur bietet eine gute Flexibilität und kann Clusterknoten problemlos vergrößern oder verkleinern, um sie an unterschiedliche Geschäftsanforderungen anzupassen. Es unterstützt auch mehrere Programmiersprachen und Open-Source-Frameworks wie Hadoop, Spark, Flink usw.

3. MPP-Architektur + verteilte Architektur
MPP-Architektur und verteilte Architektur haben ihre eigenen Vorteile und anwendbaren Szenarien und können in einigen Szenarien auch kombiniert verwendet werden. Beispielsweise bietet die MPP-Architektur leistungsstarke parallele Rechenfunktionen, während die verteilte Architektur eine hohe Skalierbarkeit bietet und fehlertolerant, die Kombination der beiden kann eine vollständigere Big-Data-Verarbeitungsarchitektur bilden.

Insbesondere kann ein öffentliches Speichersystem (z. B. HDFS) in einer verteilten Architektur zum Verwalten von Daten verwendet werden, und die Daten können auf mehreren Knoten verteilt und gespeichert werden, um Fehlertoleranz und Skalierbarkeit der Datenpartition zu erreichen. Anschließend wird die MPP-Architektur in die Architektur der oberen Schicht übernommen und die parallele Rechenfähigkeit von MPP genutzt, um Aufgaben wie Datenabfrage und Berechnung zu optimieren, wodurch die Betriebsverzögerung reduziert und die Verarbeitungseffizienz verbessert wird.

Natürlich müssen bei der tatsächlichen Implementierung auch Aspekte wie Datensegmentierung und Planungsstrategien berücksichtigt werden, z. B. wie Daten segmentiert werden, um die Parallelität von MPP-Berechnungen zu verbessern, und wie die Effizienz der Datenabfrage verbessert werden kann.
Antworten Sie auf die Big Data im Hintergrund , um relevante Informationen kostenlos zu erhalten!

Supongo que te gusta

Origin blog.csdn.net/yuanziok/article/details/132401445
Recomendado
Clasificación