Video: Azure Friday | Azure SQL Data Warehouse compute optimized performance tier 2024
Im Kern jeder Big-Data-Umgebung und der Schicht 2 des Big-Data-Stacks sind die Datenbank-Engines, die die Sammlungen von Datenelementen, die für Ihr Unternehmen relevant sind. Diese Engines müssen schnell, skalierbar und felsenfest sein. Sie sind nicht alle gleich, und bestimmte Big-Data-Umgebungen werden mit einer Engine besser abschneiden als andere, oder eher mit einer Mischung aus Datenbank-Engines.
Beispielsweise ist es zwar möglich, relationale Datenbankverwaltungssysteme (RDBMS) für alle Ihre Big-Data-Implementierungen zu verwenden, dies ist jedoch aufgrund von Leistung, Umfang oder sogar Kosten nicht praktikabel. Es stehen verschiedene Datenbanktechnologien zur Verfügung, und Sie müssen darauf achten, dass Sie weise wählen.
Es gibt keine einzige richtige Auswahlmöglichkeit für Datenbanksprachen. Obwohl SQL heute die am weitesten verbreitete Datenbankabfragesprache ist, können andere Sprachen eine effektivere oder effizientere Lösung für Ihre Big-Data-Herausforderungen bieten. Es ist nützlich, die Engines und Sprachen als Werkzeuge in einer Toolbox des Implementers zu betrachten. "Ihre Aufgabe ist es, das richtige Werkzeug auszuwählen.
Wenn Sie beispielsweise ein relationales Modell verwenden, verwenden Sie wahrscheinlich SQL, um es abzufragen. Sie können jedoch auch alternative Sprachen wie Python oder Java verwenden. Es ist sehr wichtig zu verstehen, welche Datentypen von der Datenbank manipuliert werden können und ob sie echtes Transaktionsverhalten unterstützen. Datenbankentwickler beschreiben dieses Verhalten mit dem Akronym ACID. Es steht für
-
Atomizität: Eine Transaktion ist "alles oder nichts", wenn sie atomar ist. Wenn ein Teil der Transaktion oder des zugrunde liegenden Systems fehlschlägt, schlägt die gesamte Transaktion fehl.
-
Konsistenz: Nur Transaktionen mit gültigen Daten werden in der Datenbank ausgeführt. Wenn die Daten beschädigt oder falsch sind, wird die Transaktion nicht abgeschlossen und die Daten werden nicht in die Datenbank geschrieben.
-
Isolierung: Mehrere gleichzeitige Transaktionen stören sich nicht gegenseitig. Alle gültigen Transaktionen werden bis zum Abschluss ausgeführt und in der Reihenfolge, in der sie zur Verarbeitung eingereicht wurden.
-
Haltbarkeit: Nachdem die Daten aus der Transaktion in die Datenbank geschrieben wurden, bleibt sie für immer dort. "
Engine Abfragesprache MapReduce Datentypen Transaktionen Beispiele Relational SQL, Python, C Nein Typ ACID PostgreSQL, Oracle, DB / 2 Columnar Ruby Hadoop Vordefiniert und typisiert Ja, falls aktiviert HBase Graph Gehen, Suchen, Cypher Nein Untyped ACID Neo4J Dokument Befehle JavaScript Typ Nein MongoDB, CouchDB Schlüsselwert Lucene, Kommandos JavaScript BLOB, semityped Nein Riak, Redis
Nachdem Sie Ihre Anforderungen verstanden haben und verstehen, welche Daten Sie sammeln, wo Sie sie ablegen sollen und was Um dies zu erreichen, müssen Sie es so organisieren, dass es für Analysen, Berichte oder bestimmte Anwendungen genutzt werden kann.