Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann eine relationale Datenbank horizontal skalieren

Es ist möglich, erfordert aber viel Wartungsaufwand, Erklärung -

Vertikale Skalierung von Daten (gleichbedeutend mit Normalisierung in SQL-Datenbanken) wird als spaltenweises Aufteilen von Daten in mehrere Tabellen bezeichnet, um Platzredundanz zu reduzieren. Beispiel einer Benutzertabelle -

Horizontale Skalierung von Daten (gleichbedeutend mit Sharding) wird als zeilenweises Aufteilen in mehrere Tabellen bezeichnet, um die Zeit zum Abrufen von Daten zu reduzieren. Beispiel einer Benutzertabelle -

Wichtiger Punkt, der hier zu beachten ist: Wie wir sehen können, werden Tabellen in SQL-Datenbanken in mehrere Tabellen mit verwandten Daten normalisiert. Um Daten einer solchen Tabelle auf mehreren Computern zu fragmentieren, müssten Sie die zugehörigen normalisierten Daten entsprechend fragmentieren, was wiederum den Wartungsaufwand erhöhen würde. Wie im oben gezeigten Beispiel einer SQL-Datenbank

Wenn Sie einige Zeilen mit Kundendaten auf einen anderen Computer verschieben (als Sharding bezeichnet), müssten Sie auch die zugehörigen Bestelldaten auf denselben Computer verschieben, was bei mehreren zugehörigen Tabellen eine mühsame Aufgabe wäre.

Für NOSQL-Datenbanken ist es praktisch, sie aufzuteilen, da sie einer flachen Tabellenstruktur folgen (Daten werden in aggregierter Form und nicht in normalisierter Form gespeichert).