Sharding

Transparenz

Was ist Sharding?

Beim Sharding handelt es sich um eine Datenmanagementmethode, bei der eine Datenbank oder Blockchain in kleinere, besser zu verwaltende Teile, sogenannte Shards, zerlegt wird.

Jeder Shard arbeitet als unabhängige Einheit, die eine Teilmenge der Gesamtdaten speichert.

Die Aufteilung von Daten in mehrere Shards trägt zur Verbesserung der Leistung und Skalierbarkeit bei, weil sie sicherstellt, dass Datenoperationen zeitnah durchgeführt werden können.

Dies ist besonders wertvoll für Szenarien, in denen das Datenvolumen die Kapazität eines einzelnen Servers oder Blockchain-Netzwerkknotens zur effektiven Abwicklung von Vorgängen übersteigt.

Sharding bietet zwar zahlreiche Vorteile, bringt aber auch Herausforderungen mit sich, darunter potenzielle Schwierigkeiten bei shardübergreifenden Transaktionen.

Datenbank-Sharding vs. Blockchain-Sharding

Datenbank-Sharding und Blockchain-Sharding basieren auf demselben Konzept der Zerlegung von Daten in kleinere Teile zur Verbesserung der Leistung und Skalierbarkeit, werden aber in jeweils anderem Kontext implementiert und haben spezifische Merkmale, die sie voneinander unterscheiden.

Datenbank-Sharding Blockchain-Sharding
Zweck Skalierung großer zentralisierter Datenbanken Skalierung dezentraler Blockchain-Netzwerke
Datenverteilung Verteilt Daten über mehrere Server/Knoten Verteilt Daten über mehrere Blockchains
Steuerung Zentralisierte Kontrolle durch ein Datenbankmanagementsystem (DBMS) Dezentralisierte Kontrolle durch Konsensmechanismen
Inter-Shard-Kommunikation Einfacher, weil zentral gesteuert Erfordert komplexe schichtübergreifende Kommunikationsmechanismen

Datenbank-Sharding

Beim Datenbank-Sharding handelt es sich um eine Technik, die in Datenbankmanagementsystemen (DBMS) zur Verbesserung der Skalierbarkeit und Leistung eingesetzt wird.

Dabei wird eine große Datenbank in kleinere Partitionen unterteilt, die auf einem separaten Server oder Server-Cluster gespeichert werden können.

Jeder Shard enthält in der Regel eine Teilmenge der Daten und wird durch einen Shard-Schlüssel identifiziert.

Das Sharding von Datenbanken wird häufig in Situationen verwendet, in denen ein hohes Volumen an gleichzeitigen Anfragen bewältigt werden muss und die Datenbank zu groß geworden ist, um von einem einzelnen Server effizient verwaltet zu werden.

Durch die Verteilung der Daten auf mehrere Server muss jeder Server oder Server-Cluster nur eine Teilmenge der gesamten Transaktionslast verarbeiten.

Eine zentrale Komponente oder ein Routing-Mechanismus leitet die Anfragen an den entsprechenden Shard weiter.

Horizontales Sharding vs. Vertikales Sharding

Datenbank-Sharding kann horizontal oder vertikal durchgeführt werden.

Beim horizontalen Sharding (auch Range Sharding genannt) liegt der Schwerpunkt auf der Verteilung von Datenzeilen.

Da das gleiche Schema in allen Shards beibehalten wird, ist horizontales Sharding für viele Anwendungen der einfachere Ansatz.

Im Gegensatz dazu konzentriert sich das vertikale Sharding auf die Verteilung von Datenbankspalten oder -tabellen.

Obwohl vertikales Sharding effektiv sein kann, wenn verschiedene Datenbankspalten oder -tabellen sehr unterschiedliche Zugriffsmuster haben, kann es ein Maß an Komplexität einführen, das einer sorgfältigen Steuerung bedarf.

So müssen beispielsweise JOIN-Operationen, die sich über verschiedene Shards erstrecken, möglicherweise auf der Anwendungsebene verwaltet werden.

Blockchain-Sharding

Blockchain-Sharding ist eine Technik zur Verbesserung der Skalierbarkeit und Leistung eines Blockchain-Netzwerks durch Aufteilung der Blockchain in kleinere Partitionen.

Das Aufteilen einer Blockchain in mehrere Shards verringert die Rechenlast des Netzwerks und ermöglicht die Verarbeitung von mehr Transaktionen in einem bestimmten Zeitraum.

Die genauen Einzelheiten dafür, wie eine Blockchain zerlegt wird, können je nach verwendetem Blockchain-Protokoll variieren.

Zu den Projekten, die mit Sharding zur Verbesserung der Skalierbarkeit experimentieren, gehören:

  • Ethereum 

Sharding wird als eine Möglichkeit zur horizontalen Skalierung der Ethereum-Blockchain betrachtet.

Das Konzept spielt eine sehr wichtige Rolle in The Surge (Ethereum 2.0).

Zwar hat die Ethereum Foundation noch nicht genau entschieden, welcher Sharding-Ansatz in Ethereum 2.0 angewendet werden soll, doch ist es wahrscheinlich, dass sowohl Beacon Chains als auch Danksharding zur Reduzierung der Gasgebühren und zur Optimierung der Leistung von Smart Contracts und DApps eingesetzt werden.

Danksharding soll die Skalierbarkeit und Effizienz des Ethereum-Netzwerks durch Aufteilung des Ethereum-Status in mehrere Shards erhöhen. Beacon Chains sollen die Shards koordinieren und sicherstellen, dass alle Shards synchronisiert sind.

  • Polkadot

Zur Skalierung des Netzwerks verwendet Polkadot einen Sharding-Mechanismus namens Parachains. Eine Parachain ist eine individuelle Blockchain, die parallel zu anderen Parachains innerhalb desselben Netzwerks läuft.

Jede Parachain ist spezialisiert und für einen bestimmten Anwendungsfall oder eine bestimmte Anwendung optimiert.

Mit Polkadot können mehrere Parachains gleichzeitig arbeiten, Transaktionen verarbeiten und Smart Contracts unabhängig voneinander ausführen.

Für die Verwaltung der Parachains und die Gewährleistung ihrer sicheren Interaktion setzt Polkadot eine zentrale Relay-Chain ein.

Die Relay-Kette fungiert als Knotenpunkt, der die Kommunikation und den Konsens zwischen den verschiedenen Parachains koordiniert und die Sicherheit und Interoperabilität des gesamten Netzes aufrechterhält, während die Parachains autonom funktionieren können.

  • Cosmos

Bei Cosmos kommt ein Sharding-ähnlicher Mechanismus namens Zonen zur Skalierung des Netzwerks zum Einsatz.

Jede Zone funktioniert wie eine eigene Blockchain mit eigenem Konsensmechanismus, Smart Contracts und Governance-Regeln. 

Im Cosmos Hub, der die Kommunikation zwischen den Zonen verbindet und koordiniert, wird das IBC-Protokoll (Inter-Blockchain Communication) zur sicheren Daten- und Vermögensübertragung verwendet.

Dank IBC können Zonen miteinander kommunizieren und Token und Daten zwischen ihnen übermitteln. Dadurch können Anwendungen erstellt werden, die mehrere Zonen umfassen.

Verwandte Begriffe

Margaret Rouse
Redaktion
Margaret Rouse
Redaktion

Margaret Rouse ist eine preisgekrönte technische Autorin und Dozentin. Sie ist für ihre Fähigkeit bekannt, komplexe technische Themen simpel und nachvollziehbar zu erklären. In den letzten zwanzig Jahren sind ihre Erklärungen auf TechTarget-Websites erschienen und sie wurde in Artikeln der New York Times, des Time Magazine, USA Today, ZDNet, PC Magazine und Discovery Magazine als Quelle und Expertin zitiert. Wenn Sie einen Vorschlag für eine neue Definition haben oder eine technische Erklärung verbessern möchten, schicken Sie einfach Margaret eine E-Mail oder kontaktieren Sie sie auf LinkedIn oder Twitter.