Definition

Was ist eine Shared-Nothing-Architektur?

| Autor / Redakteur: Stefan Luber / Nico Litzel

(Bild: © aga7ta - stock.adobe.com)

Die Shared-Nothing-Architektur ist ein hoch skalierbares System, bestehend aus mehreren Knoten, die autonom arbeiten. Die Knoten verfügen über eigene exklusive Ressourcen wie Prozessorleistung, Speicherplatz und Arbeitsspeicher. Die Architektur bietet durch die parallele Verarbeitung von Aufgaben ein hohe Performance.

Eine Shared-Nothing-Architektur ist eine IT-Architektur, die aus mehreren autonomen Knoten besteht und die die ein verteiltes System bilden. Sie stellt den Gegenentwurf zu einer Shared-All-Architektur dar. Innerhalb der Shared-Nothing-Architektur hat jeder Knoten eigene Ressourcen wie Prozessorleistung, Speicherplatz, Betriebssystem und Arbeitsspeicher und ist dadurch in der Lage, Aufgaben selbstständig – ohne Beteiligung anderer Knoten – zu bearbeiten. Durch dieses Funktionsprinzip ist es möglich, viele einzelne Aufgaben oder Teilaufgaben gleichzeitig zu erledigen.

Die Parallelisierung sorgt für eine extreme Skalierbarkeit der Shared-Nothing-Architektur. Im Prinzip ist die Skalierbarkeit nicht begrenzt, da sich durch das Hinzufügen weiterer Knoten die Leistung nahezu beliebig steigern lässt. Theoretisch existiert in der Shared-Nothing-Architektur keine gemeinsame Komponente, auf die alle Knoten zugreifen müssen und die die Leistung des Gesamtsystems begrenzt.

Die Knoten kommunizieren über ein Netzwerk untereinander und können Aufgaben an andere Knoten übertragen. Hierfür kommen spezielle Koordinierungs- und Synchronisierungsverfahren zum Einsatz. In einigen System übernehmen zentrale Steuereinheiten die Koordinierung der Aufgaben und das Zusammenführen der Ergebnisse.

Die Vorteile einer Shared-Nothing-Architektur

Da in einer Shared-Nothing-Architektur jeder Knoten autonom ist und dank eigenem Betriebssystem, Prozessor, Speicherplatz und Arbeitsspeicher selbstständig arbeitet, ergeben sich gegenüber gesharten Architekturmodellen einige Vorteile. Diese sind:

  • extreme Skalierbarkeit
  • keine gemeinsame Komponente, die das Gesamtsystem ausbremst
  • beliebige Performancesteigerung durch das Hinzufügen weiterer Knoten
  • hohe Verfügbarkeit des Systems, da der Ausfall einzelner Knoten nur die Performance und nicht die Funktion beeinträchtigt
  • Verwendung günstiger Rechnersysteme möglich

Massive Parallel Processing (MPP) als Anwendungsbeispiel

Im Big-Data-Umfeld sind große Datenmengen in kurzer Zeit zu analysieren und zu verarbeiten. Hierfür werden Systeme mit hoher Leistung benötigt. Da einzelne Rechnersysteme oft nicht in der Lage sind, die geforderte Performance bereitzustellen, bieten verteilt arbeitende, gesharte oder nicht-gesharte Systeme entsprechende Lösungen. Ein Anwendungsbeispiel der Shared-Nothing-Architektur im Big-Data-Umfeld ist das Massive Parallel Processing (MPP). Beim Massive Parallel Processing arbeiten viele über ein leistungsfähiges Netzwerk miteinander verbundene Knoten an Analyseaufgaben einer gemeinsamen Datenbasis. Die Knoten sind mit Prozessoren, Arbeitsspeicher, Input- und Output-Schittstellen sowie Speichermöglichkeiten ausgestattet.

Erhält das Gesamtsystem eine Anfrage, sorgen Koordinations- und Partitionierungsverfahren dafür, dass die für die Bearbeitung benötigten Daten und Algorithmen an die Einzelknoten übergeben werden. Hierfür sind die Daten und Algorithmen entsprechend vorzubereiten und zuzuweisen. Die Einzelknoten führen die ihnen zugeteilten Aufgaben mit ihren lokalen Ressourcen aus und liefern die Ergebnisse an eine zentrale Instanz. Da die Knoten nach der Zuweisung ihre eigene Kopie des benötigten Datenbestands besitzen und für die Ausführung ihrer Aufgabe nicht mehr auf eine zentrale Datenbank zugreifen müssen, verarbeitet das Gesamtsystem große Datenmengen innerhalb kurzer Zeit und ist extrem skalierbar. Typische Einsatzbereiche sind BI- und Data-Warehouse-Anwendungen mit hohen Performance-Anforderungen.

Microservices in einer Shared-Nothing-Architektur

Auch Microservices lassen sich über eine Shared-Nothing-Architektur bereitstellen. Microservices sind einzelne, voneinander unabhängige Dienste, aus denen sich komplexe Anwendungen zusammenstellen lassen. Jeder Dienst erledigt eine genau definierte Aufgabe und ist über eine Schnittstelle ansprechbar. Untereinander haben die einzelnen Dienste keine Beziehung und keinen gemeinsamen Datenbestand. Shared-Nothing-Architekturen sind ideal geeignet für Microservices, da sie genau diesem Leitbild unabhängiger Teilsysteme und Teilservices entsprechen. Für jeden Dienst wird ein autonomer physischer oder logischer Knoten bereitgestellt, der dank eigener Ressourcen seine Teilaufgabe komplett eigenständig erledigt. Es besteht keine Notwendigkeit, einen gemeinsamen Zustand für die aus den einzelnen Microservices zusammengesetzte Anwendung zu halten. Sämtliche Zustandsinformationen befinden sich außerhalb der Microservices.

Abgrenzung zu anderen Architekturen

Die Shared-Nothing-Architektur, in der keinerlei Ressourcen geteilt werden, stellt den Gegenpart zu einer Shared-All-Architektur dar. Shared-All bedeutet, dass sämtliche Ressourcen von mehreren Prozessen nutzbar sind. Zwischen den beiden Extremen Shared-All und Shared-Nothing existieren Modelle wie Shared-Disk oder Shared-Memory. Bei diesen werden nur bestimmte Ressourcen geteilt. In einer Shared-Disk-Umgebung hat zwar jedes Teilsystem einen eigenen Prozessor und Hauptspeicher, es wird aber nur auf gemeinsame Laufwerke zugegriffen. In dieser Umgebung ist es nicht möglich, dass einzelne Knoten die gleichen Daten auf dem Laufwerk parallel bearbeiten. Um die Konsistenz der Daten sicherzustellen, hat die Shared-Disk-Architektur Mechanismen vorzusehen, die gleichzeitiges Verändern von Daten unterbindet.

Das prinzipiell gleiche Problem entsteht in einer Shared-Memory-Architektur. Hier existiert nur ein gemeinsamer Arbeitsspeicher. Auf gleiche Datenbereiche innerhalb des Speichers kann immer nur ein Prozess zugreifen. In der Shared-Disk- oder der Shared-Memory-Architektur bilden Disk oder Memory die jeweils leistungsbegrenzende Ressource für das Gesamtsystem und schränken die Skalierbarkeit ein.

Kommentare werden geladen....

Kommentar zu diesem Artikel abgeben

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Aktuelle Beiträge zu diesem Thema

Datenbasis für das IoT-Zeitalter

Crate.io

Datenbasis für das IoT-Zeitalter

IT-Spezialisten haben über Jahrzehnte SQL-Know-how aufgebaut, doch das IoT-Zeitalter erfordert die massenweise Verarbeitung von Echtzeit-Datenstreams, die von Sensoren erzeugt werden. Crate.io vereinigt beide Welten. lesen

In-Memory-Datenbanken sind Wegbereiter für BI und das IoT

Kommentar von Mathias Golombek, Exasol

In-Memory-Datenbanken sind Wegbereiter für BI und das IoT

Es ist heute kein Problem mehr, die exorbitant wachsenden Datenmengen zu speichern. Sollen diese Daten dem Unternehmen jedoch etwas nützen, muss der schnelle und flexible Zugriff auf sie gewährleistet sein. Dafür brauchen Unternehmen eine Datenstrategie und Technologien, die keinen Flaschenhals zwischen Datenspeicherung und Anwendung entstehen lassen. lesen

Emnos und Pivotal unterstützen bei der Kundenbindung

Mit Big Data wertvolle Entscheidungen treffen

Emnos und Pivotal unterstützen bei der Kundenbindung

Emnos ist eine Tochtergesellschaft der American Express Goup und Schwestergesellschaft von Payback mit Niederlassungen in München, London, Paris, Madrid und Chicago. Die analytischen Software-Lösungen von Emnos erfüllen eine Schlüsselfunktion, wenn es darum geht, mehr Kundennähe zu schaffen und Kundendaten so auszuwerten, dass sich daraus höhere Umsätze oder Wettbewerbsvorteile generieren lassen. lesen

Die passende Infrastruktur für Big Data

Parallelverarbeitung und In-Memory

Die passende Infrastruktur für Big Data

Von Big Data können alle profitieren: Unternehmen, öffentliche Einrichtungen und Non-Profit-Organisation. Doch mit herkömmlichen Business-Intelligence-Verfahren und der entsprechenden IT-Infrastruktur lassen sich große, unstrukturierte Datenbestände nicht einfach in Echtzeit auswerten. Erforderlich sind neue Ansätze, wie etwa eine verteilte Parallelverarbeitung und In-Memory-Technologien. lesen

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 45855545 / Definitionen)