Access
 sql >> Datenbank >  >> RDS >> Access

Was ist Datenbank-Sharding?

Jede benutzerdefinierte Datenbankanwendung, die ein erhebliches Wachstum verzeichnet, muss schließlich skaliert werden, um eine Zunahme des Datenverkehrs zu bewältigen. Es ist wichtig, dass dies auf eine Weise geschieht, die die Integrität und Sicherheit der Daten schützt. Aus diesem Grund empfehlen viele Datenbankverwaltungsunternehmen Sharding.

Gesplitterte Datenbanken haben in den letzten Jahren viel Aufmerksamkeit auf sich gezogen, aber das bedeutet nicht, dass sie für jeden geeignet sind. In diesem Artikel gehen wir näher auf fragmentierte Datenbanken ein, damit Sie eine klare Vorstellung davon bekommen, was sie sind und ob sie für Ihr Unternehmen geeignet sind.

Was ist Sharding?

Sharding ist ein Datenbankarchitekturmuster, das der horizontalen Partitionierung ähnelt, bei der die Zeilen einer Tabelle in mehrere verschiedene Tabellen aufgeteilt werden. Diese Tabellen werden als „Partitionen“ bezeichnet. Jede Partition hat das gleiche Schema und die gleichen Spalten, aber völlig unterschiedliche Zeilen. Die in jeder Zeile enthaltenen Daten sind eindeutig und unabhängig von den in anderen Partitionen enthaltenen Daten.

Der Zweck des Shardings besteht darin, Daten in kleinere Blöcke aufzuteilen. Auf diese Weise kann Ihre Anwendung weniger Abfragen durchführen. Wenn Ihre Datenbank beispielsweise eine Anfrage erhält, weiß die Anwendung, wohin die Anfrage gesendet werden soll. Es müssen viel weniger Daten durchsucht werden, da nicht die gesamte Datenbank durchlaufen werden muss.

Sharding-Architekturen 

Es gibt verschiedene Möglichkeiten, wie Sie Ihre Datenbank fragmentieren können. Es ist wichtig, dass alles richtig eingerichtet ist, da Sie möchten, dass Ihre Abfragen an den richtigen Shard gehen. Andernfalls könnten Sie mit langsamen Abfragen und verlorenen Daten enden.

Schlüsselbasiertes Sharding 

Schlüsselbasiertes Sharding verwendet einen Wert aus neu geschriebenen Daten und fügt ihn in eine „Hash-Funktion“ ein, um zu bestimmen, an welchen Shard die Daten gehen sollen. Diese Methode ist üblich und kann Daten vor einer ungleichmäßigen Verteilung schützen.

Bereichsbasiertes Sharding 

Bereichsbasiertes Sharding umfasst das Sharding von Daten basierend auf Bereichen mit einem bestimmten Wert. Es ist einfach zu implementieren, schützt die Daten jedoch nicht vor einer ungleichmäßigen Verteilung.

Verzeichnisbasiertes Sharding 

Beim verzeichnisbasierten Sharding müssen Sie eine „Nachschlagetabelle“ erstellen und pflegen, um nachzuverfolgen, welcher Shard welche Daten enthält. Der Vorteil dieser Methode ist, dass sie flexibel ist.

Datenbank-Sharding kann eine großartige Lösung sein, wenn Sie Ihre Datenbank horizontal skalieren möchten. Wenden Sie sich noch heute an Arkware, um mehr über Sharding zu erfahren, wenn es das Richtige für Sie ist und welche Architektur am besten geeignet ist.