Video: Was ist Datenbank & SQL? 2024
Eine Reihe von Unternehmen investieren stark in Open-Source-Projekte und proprietäre Lösungen für den SQL-Zugriff auf Hadoop-Daten. Wenn Sie den Begriff SQL-Zugriff hören, sollten Sie wissen, dass Sie sich auf einige Grundannahmen verlassen:
-
Sprachstandards: Der wichtigste Standard ist natürlich die Sprache selbst. Es gibt viele "SQL-ähnliche" Lösungen, die sich jedoch normalerweise nicht auf bestimmte grundlegende Weise messen lassen - Wege, die sogar die Ausführung typischer SQL-Anweisungen verhindern würden.
Das American National Standards Institute (ANSI) hat SQL als offiziellen technischen Standard etabliert, und die IT-Industrie akzeptiert den ANSI SQL-92-Standard als Maßstab für die grundlegende SQL-Compliance. ANSI hat im Laufe der Jahre eine Reihe von fortschrittlicheren Versionen veröffentlicht, da sich die Datenbanktechnologien weiterentwickelt haben.
-
Treiber: Eine weitere Schlüsselkomponente in einer SQL-Zugriffslösung ist der -Treiber - die Schnittstelle für Anwendungen zum Verbinden und Austauschen von Daten mit dem Datenspeicher. Ohne einen Treiber gibt es keine SQL-Schnittstelle für Clientanwendungen oder Tools, mit denen eine Verbindung für die Übergabe von SQL-Abfragen hergestellt werden kann.
Daher muss jede SQL-on-Hadoop-Lösung mindestens JDBC- und ODBC-Treiber haben, da sie die am häufigsten verwendeten Datenbankschnittstellentechnologien sind.
-
Echtzeitzugriff: Bis zu Hadoop 2 war die MapReduce-basierte Ausführung die einzige verfügbare Option für die Analyse von in Hadoop gespeicherten Daten. Bei relativ einfachen Abfragen, die einen vollständigen Scan von Daten in einer Tabelle beinhalten, war Hadoop im Vergleich zu einer herkömmlichen relationalen Datenbank recht schnell.
Beachten Sie, dass dies ein Batch-Analyse-Anwendungsfall ist, in dem fast Stunden bedeuten kann, je nachdem, wie viele Daten betroffen sind. Aber wenn es um komplexere Abfragen ging, die Teilmengen von Daten betrafen, ging es Hadoop nicht gut. MapReduce ist ein Stapelverarbeitungsframework, sodass eine hohe Leistung für Echtzeitabfragen vor Hadoop 2 aus architektonischer Sicht unmöglich war.
Ein früher Motivator für YARN, das neue Ressourcenmanagement- und Scheduling-System im Block, war die Notwendigkeit, andere Verarbeitungsframeworks zu unterstützen, um Echtzeit-Workloads wie interaktive SQL-Abfragen zu ermöglichen. In der Tat sollte eine richtige SQL-Lösung die Leute nicht auf vernünftige Anfragen warten lassen.
-
Mutable data: Eine häufige Frage in vielen Diskussionen zur SQL-Unterstützung auf Hadoop lautet: "Können wir, und Anweisungen verwenden, wie wir es in einer typischen relationalen Datenbank tun könnten? "Für jetzt ist die Antwort nein, die die Natur von HDFS widerspiegelt - sie konzentriert sich auf große, unveränderliche Dateien.Technologien wie Hive bieten Lesezugriff auf diese Dateien. Unabhängig davon läuft die Arbeit im Hive Apache-Projekt.