Inhaltsverzeichnis:
- Echtzeit-Verarbeitungsframeworks
- Massively Parallel Processing (MPP) -Plattformen
- Einführung in NoSQL-Datenbanken
Video: Andrew Krackov California Healthcare Foundation - Big Data 2014 2024
Wenn Sie Hadoop überfliegen, sehen Sie alternative Big Data-Lösungen auf der Horizont. Diese Lösungen ermöglichen es, mit Big Data in Echtzeit zu arbeiten oder alternative Datenbanktechnologien zu verwenden und zu verarbeiten. Hier lernen Sie die Echtzeit-Verarbeitungsframeworks kennen, dann die Massively Parallel Processing (MPP) -Plattformen und schließlich die NoSQL-Datenbanken, die es Ihnen ermöglichen, mit Big Data außerhalb der Hadoop-Umgebung zu arbeiten.
Sie sollten über etwas Bescheid wissen, das als ACID-Konformität bezeichnet wird, kurz für A Tomizität, C Konsistenz, I -Solation, und D Kompatibilität der Unverträglichkeit. ACID-Compliance ist ein Standard, durch den genaue und zuverlässige Datenbanktransaktionen garantiert werden.
Bei Big-Data-Lösungen sind die meisten Datenbanksysteme nicht ACID-konform, aber dies stellt nicht notwendigerweise ein großes Problem dar. Das liegt daran, dass die meisten Big-Data-Systeme Entscheidungsunterstützungssysteme (Decision Support Systems, DSS) verwenden, die Daten im Stapel verarbeiten, bevor diese Daten ausgelesen werden. DSS sind Informationssysteme, die zur organisatorischen Entscheidungsunterstützung verwendet werden. Nicht-transaktionale DSS weisen keine echten ACID-Compliance-Anforderungen auf.
Echtzeit-Verarbeitungsframeworks
Manchmal müssen Sie möglicherweise große Datenströme in Echtzeit abfragen … und das können Sie mit Hadoop einfach nicht. Verwenden Sie in diesen Fällen stattdessen ein Echtzeitverarbeitungs-Framework. Ein Echtzeit-Verarbeitungsrahmen ist - wie der Name schon sagt - ein Framework, das Daten in Echtzeit (oder nahezu in Echtzeit) verarbeiten kann, während diese Datenströme in das System einfließen. Im Wesentlichen sind Echtzeit-Verarbeitungsframeworks die Antithese der Batch-Verarbeitungsframeworks, die in Hadoop eingesetzt werden.
Echtzeit-Verarbeitungsframeworks können in die folgenden zwei Kategorien eingeteilt werden:
-
Frameworks, die den Overhead von MapReduce-Aufgaben verringern, um die Gesamteffizienz des Systems zu erhöhen: Lösungen in Zu dieser Kategorie gehören Apache Storm und Apache Spark für die Stream-Verarbeitung in Echtzeit.
-
Frameworks, die innovative Abfragemethoden einsetzen, um das Abfragen von Big Data in Echtzeit zu ermöglichen: Zu den Lösungen in dieser Kategorie gehören Google Dremel, Apache Drill, Shark für Apache Hive und Cloudera's Impala.
Echtzeit-Stream-Processing-Frameworks sind in einer Vielzahl von Branchen sehr nützlich - von Aktien- und Finanzmarktanalysen bis hin zu E-Commerce-Optimierungen und von der Echtzeit-Betrugserkennung bis hin zur optimierten Auftragslogistik. Unabhängig von der Branche, in der Sie arbeiten, wenn Ihr Unternehmen von Echtzeit-Datenströmen betroffen ist, die von Menschen, Maschinen oder Sensoren generiert werden, wäre ein Echtzeit-Verarbeitungsframework hilfreich, um Ihren Wert zu optimieren und zu generieren. Organisation.
Massively Parallel Processing (MPP) -Plattformen
Massively Parallel Processing (MPP) -Plattformen können anstelle von MapReduce als alternativer Ansatz für die verteilte Datenverarbeitung eingesetzt werden. Wenn Ihr Ziel die parallele Verarbeitung in einem traditionellen Data Warehouse ist, kann ein MPP die perfekte Lösung sein.
Um zu verstehen, wie MPP mit einem standardmäßigen MapReduce-Framework für die parallele Verarbeitung verglichen wird, sollten Sie Folgendes berücksichtigen. MPP führt parallele Rechenaufgaben auf kostspieliger, kundenspezifischer Hardware aus, während MapReduce sie auf billigen Commodity-Servern ausführt. Folglich sind MPP-Verarbeitungsfähigkeiten kosteneinschränkend. Dies bedeutet, dass MPP schneller und einfacher zu verwenden ist als standardmäßige MapReduce-Jobs. Das liegt daran, dass MPP mithilfe von Structured Query Language (SQL) abgefragt werden kann, aber native MapReduce-Jobs werden von der komplizierteren Java-Programmiersprache gesteuert.
Zu den bekannten MPP-Anbietern und -Produkten gehören die Teradata-Plattform der alten Schule sowie neuere Lösungen wie Greenplum DCA von EMC 2 , Vertica von HP, Netezza von IBM und Exadata von Oracle.
Einführung in NoSQL-Datenbanken
Traditionelle relationale Datenbankverwaltungssysteme (RDBMS) sind nicht für große Datenanforderungen geeignet. Das liegt daran, dass traditionelle relationale Datenbanken nur relationale Datasets verarbeiten können, die aus Daten bestehen, die in sauberen Zeilen und Spalten gespeichert sind und daher über Structured Query Language (SQL) abgefragt werden können.
RDBM-Systeme sind nicht in der Lage, unstrukturierte und semi-strukturierte Daten zu verarbeiten. Darüber hinaus haben RDBM-Systeme einfach nicht die Verarbeitungs- und Handhabungsfähigkeiten, die erforderlich sind, um große Datenmengen- und Geschwindigkeitsanforderungen zu erfüllen.
Hier kommt NoSQL ins Spiel. NoSQL-Datenbanken, wie MongoDB, sind nicht relationale, verteilte Datenbanksysteme, die entwickelt wurden, um die Big-Data-Herausforderung zu bewältigen. NoSQL-Datenbanken gehen über die traditionelle relationale Datenbankarchitektur hinaus und bieten eine wesentlich skalierbarere, effizientere Lösung.
NoSQL-Systeme ermöglichen die Abfrage von nicht-relationalen oder schemafreien, semi-strukturierten und unstrukturierten Daten. Auf diese Weise können NoSQL-Datenbanken die strukturierten, semi-strukturierten und unstrukturierten Datenquellen verarbeiten, die in Big-Data-Systemen üblich sind.
NoSQL bietet vier Kategorien nicht-relationaler Datenbanken an: Diagrammdatenbanken, Dokumentendatenbanken, Schlüsselwertspeicher und Spaltenfamilienspeicher. Da NoSQL für jeden dieser separaten Typen von Datenstrukturen native Funktionalität bietet, bietet es eine sehr effiziente Speicher- und Abruffunktionalität für die meisten Typen nicht relationaler Daten. Diese Anpassungsfähigkeit und Effizienz macht NoSQL zu einer immer beliebteren Wahl für die Handhabung von Big Data und zur Überwindung von Verarbeitungsherausforderungen, die damit einhergehen.
Es gibt eine gewisse Debatte über die Bedeutung des Namens NoSQL. Einige argumentieren, dass NoSQL für Nicht nur SQL steht, während andere argumentieren, dass das Akronym Nicht-SQL-Datenbanken darstellt. Das Argument ist ziemlich komplex und es gibt keine wirkliche, trockene Antwort.Um es einfach zu halten, denken Sie nur an NoSQL als eine Klasse von nicht-relationalen Datenbankverwaltungssystemen, die nicht in das Spektrum von RDBM-Systemen fallen, die mit SQL abgefragt werden.