- Shared Nothing Architecture
-
Die Shared-Nothing-Architektur (SN) beschreibt eine Distributed Computing-Architektur, bei der jeder Knoten unabhängig und eigenständig seine Aufgaben mit seinem eigenen Prozessor und den zugeordneten Speicherkomponenten wie Festplatte und Hauptspeicher erfüllen kann und kein bestimmter, einzelner Knoten für die Verbindung zu einer Datenbank notwendig ist. Die Knoten sind über ein LAN- oder WAN-Netzwerk miteinander verbunden. Jeder Knoten verfügt darüber hinaus über eine Kopie des Datenbank-Management-Systems, der Knoten kann Aufgaben an einen anderen nicht ausgelasteten Knoten weitergeben.
Shared-Nothing Systeme werden oft im Gegensatz zu Systemen verstanden, die eine Vielzahl von Statusinformationen zentral speichern, wie etwa Datenbank- oder Anwendungsserver. Wenn auch der Begriff Shared-Nothing erst im Zusammenhang mit der Weiterentwicklung des World Wide Web in einem größeren Kreis bekannt wurde, so war das Konzept schon weit vorher verwendet worden. Michael Stonebraker erwähnte den Begriff bereits in einer Veröffentlichung zu Datenbanken im Jahre 1986 an der University of California in Berkeley, es ist jedoch durchaus möglich, das der Begriff schon früher geprägt wurde.[1]
Shared Nothing ist auf Grund seiner Skalierbarkeit beliebt für Webanwendungen oder parallele Datenbanksysteme. Wie bei Google gezeigt werden konnte, ist ein Shared Nothing System nahezu unbegrenzt durch Ergänzung zusätzlicher Knoten in Form preiswerter Computer ausbaufähig, weil kein einzelnes Netzwerkelement existiert, dessen begrenzte Leistung die Geschwindigkeit des gesamten Systems vermindert.
Ein Shared Nothing System kann seine Daten auf viele verschiedene Knoten aufteilen, zum Beispiel durch Zuordnung bestimmter Knoten zu bestimmten Anwendern oder zu bestimmten Webabfragen, oder es kann von jedem Knoten fordern, seine eigene Kopie der Anwendungsdaten zu halten, was aber die Verwendung eines Koordinierungsprotokolls-/Verfahrens zwischen den Knoten notwendig macht.
Es gibt einige Diskussion darüber, ob eine Webanwendung mit verschiedenen, unabhängigen Netzwerkrechnern, aber einer einzigen, zentralen Datenbank, z.B. in Form eines Computerclusters als ein Shared-Nothing-System betrachtet werden soll.
Andere Architekturen mit davon abweichender Auslegung sind
- Shared Memory Architektur
- Shared Disk Architektur
- Shared-Everything-Architektur. Hier werden alle Systemkomponenten von mehreren Prozessoren gemeinsam genutzt.
Siehe auch
- Redundanz (Technik)
- Hochverfügbarkeit
- Single Point of Failure
- Single Point of Contention
Referenzen
- ↑ Michael Stonebraker (UC Berkeley), The Case for Shared Nothing Architecture (PDF). Originalveröffentlichung in Database Engineering, Jahrgang 9, Nummer 1 (1986) (engl.)
Wikimedia Foundation.