Big Data und NoSQL-Systeme
Big Data- und NoSQL-Systeme sind Datenmanagement-Technologien, die für Volumen, Geschwindigkeit und Vielfalt entwickelt wurden, mit denen relationale Datenbanken zu kämpfen hatten. Sie tauschen strikte relationale Garantien gegen horizontale Skalierbarkeit, flexible Schemata und hohe Verfügbarkeit ein.
Definition
Big Data-Systeme sind Datenmanagement-Plattformen, die für Datensätze entwickelt wurden, die zu groß, zu schnell oder zu vielfältig für traditionelle Einzelknoten-Datenbanken sind; NoSQL-Systeme sind nicht-relationale Speicher, die flexible Datenmodelle und gelockerte Konsistenz annehmen, um horizontale Skalierbarkeit und Verfügbarkeit zu erreichen.
Scope
Dieser Bereich umfasst Datensysteme, die für massive Skalierung konzipiert sind: NoSQL-Speicher (Schlüssel-Wert, Dokument, Wide-Column und Graph) und ihre flexiblen Datenmodelle; Daten-parallele Verarbeitungs-Frameworks, die von MapReduce abstammen; die Konsistenz-Verfügbarkeits-Kompromisse, die durch das CAP-Theorem und das Spektrum der Konsistenzmodelle erfasst werden; sowie Data Warehousing und OLAP für groß angelegte Analysen. Es wird behandelt, wie diese Systeme relationale Annahmen für die Skalierung lockern oder neu organisieren. Ausgenommen sind die Interna von verteilten Commits und paralleler Abfrageausführung, die im Bereich der verteilten und parallelen Datenbanken behandelt werden.
Sub-topics
Core questions
- Welche Skalierbarkeits- und Flexibilitätsanforderungen führten über relationale Datenbanken hinaus?
- Welche Datenmodelle bieten die wichtigsten NoSQL-Kategorien?
- Wie verarbeiten datenparallele Frameworks riesige Datensätze über Cluster hinweg?
- Welche Konsistenz-Verfügbarkeits-Kompromisse beschreibt das CAP-Theorem?
- Wie unterstützen Data Warehouses und OLAP groß angelegte analytische Abfragen?
Key concepts
- Schlüssel-Wert-, Dokument-, Wide-Column-, Graph-Speicher
- horizontale Skalierbarkeit
- Schemaflexibilität
- MapReduce und datenparallele Verarbeitung
- CAP-Theorem
- eventuelle Konsistenz
- BASE versus ACID
- Data Warehousing und OLAP
Key theories
- Horizontal skalierbare NoSQL-Speicher
- NoSQL-Systeme verlassen das relationale Einzelknoten-Modell zugunsten von Schlüssel-Wert-, Dokument-, Wide-Column- oder Graph-Modellen, die über Commodity-Cluster hinweg sharden und replizieren, wobei Skalierbarkeit und Verfügbarkeit gegenüber umfangreichen Abfragen und starker Konsistenz priorisiert werden.
- Datenparallele Verarbeitung
- Frameworks, die dem MapReduce-Modell folgen, drücken groß angelegte Berechnungen als parallele Map- und Reduce-Phasen über partitionierte Daten aus, wodurch die Komplexität von Verteilung, Planung und Fehlertoleranz vor dem Programmierer verborgen bleibt.
- CAP-Kompromiss
- Das CAP-Theorem besagt, dass ein verteilter Datenspeicher Konsistenz, Verfügbarkeit und Partitionstoleranz nicht gleichzeitig garantieren kann, was Designer dazu zwingt, während einer Netzwerkpartition zwischen Konsistenz und Verfügbarkeit zu wählen.
Clinical relevance
Big Data- und NoSQL-Systeme bilden die Dateninfrastruktur des modernen Webs: Schlüssel-Wert- und Wide-Column-Speicher unterstützen Dienste mit hohem Datenverkehr, datenparallele Frameworks verarbeiten Protokolle und Klickströme in großem Maßstab, und Data Warehouses dienen der Geschäftsanalytik, wodurch diese Systeme für das Data Engineering und groß angelegte Anwendungen von zentraler Bedeutung sind.
History
Internet-Skala-Workloads in den 2000er Jahren überstiegen die Kapazitäten von relationalen Einzelknoten-Datenbanken. Googles MapReduce (2004/2008) und das Open-Source-Hadoop-Ökosystem ermöglichten die Datenverarbeitung auf Cluster-Ebene; Amazons Dynamo (2007) und Googles Bigtable inspirierten eine Welle von NoSQL-Speichern; und Brewers CAP-Theorem umrahmte die Konsistenz-Verfügbarkeits-Kompromisse, die diese Systeme verkörpern.
Debates
- Starke versus eventuelle Konsistenz
- NoSQL-Systeme wählen oft Verfügbarkeit und eventuelle Konsistenz, um bei Partitionen reaktionsfähig zu bleiben; dies verlagert jedoch die Konfliktbehandlung auf die Anwendungen. Es wird diskutiert, wann eventuelle Konsistenz akzeptabel ist und wann neuere Systeme stärkere Garantien wiederherstellen sollten.
Key figures
- Jeffrey Dean
- Sanjay Ghemawat
- Eric Brewer
- Werner Vogels
Related topics
Seminal works
- dean2008
- decandia2007
- brewer2012
Frequently asked questions
- Bedeutet NoSQL überhaupt kein SQL?
- Nein. NoSQL wird in der Regel als „not only SQL“ (nicht nur SQL) gelesen. Es bezieht sich auf Datenspeicher, die nicht auf dem relationalen Modell basieren und nicht auf SQL zentriert sind, aber viele NoSQL-Systeme bieten SQL-ähnliche Abfrageschnittstellen, und der Begriff umfasst eine breite Familie – Schlüssel-Wert-, Dokument-, Wide-Column- und Graph-Datenbanken – und nicht eine einzelne Technologie.
- Wann sollte ich ein NoSQL-System gegenüber einer relationalen Datenbank wählen?
- NoSQL-Systeme sind attraktiv, wenn Sie horizontal über viele Maschinen skalieren, flexible oder sich schnell entwickelnde Daten speichern oder die Verfügbarkeit für einfache Zugriffsmuster maximieren müssen. Relationale Datenbanken bleiben vorzuziehen, wenn Sie umfangreiche Abfragen, komplexe Joins und starke transaktionale Konsistenz über strukturierte Daten benötigen.