SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
Hans-Peter Zorn | Inovex GmbH 
Wer gewinnt das SQL-Rennen auf der 
Hadoop-Strecke?
War nicht BigData das gleiche 
NoSQL?
Data Lake = Keine Struktur? 
flickr/matthewthecoolguy
Oder gar ein Hadump? 
flickr/autohistorian
Wie viele SQL 
Lösungen für Hadoop 
gibt es mittlerweile?
Hive 
Presto 
Oracle Hadoop Connector 
Hive on Spark 
Shark 
Hive-on-Tez 
Tajo 
Lingual 
Phoenix Apache Drill 
BigSQL 
Trafodion Hadapt 
CitusDB 
Impala 
Spark SQL 
Splice 
Pivotal HAWQ 
IBM BigSQL 
Aster SQL/Mapreduce 
InfiniDB 
Kylin
Agenda 
• Warum SQL, Anwendungfälle 
• Überblick Hive 
• Wie kann Hive verbessert werden 
• SQL-Engines: Welche für was? 
• Zusammenfassung
Warum jetzt doch SQL? 
• Türöffner zur BigData-Welt 
• Kenntnisse weit 
verbreitet 
• Software:Treiber 
vorhanden 
flickr.com/salynaz
Wo wird SQL auf Hadoop eingesetzt? 
• ETL 
• Adhoc-Analyse 
• Reporting
Oracle Hadoop Connector InfiniDB 
Hive on Spark 
Splice 
Pivotal HAWQ 
Shark 
Hive Presto 
Kylin 
Hive-on-Tez 
Tajo 
Lingual 
Phoenix Apache Drill 
BigSQL 
Trafodion Hadapt 
CitusDB 
Impala 
Spark SQL 
IBM BigSQL 
Aster SQL/Mapreduce
Hive 
• ursprünglich von Facebook 
• Compiliert HiveQL, ein SQL-Dialekt, zu 
MapReduce-Jobs 
• Schema wird separat zu den Daten 
abgelegt: Metastore
Hive Architektur 
Anwender 
Query 
Hive Hadoop 
Hive 
Server2 
Meta 
store 
Parser, 
Analyzer, 
Compiler
Hive 
• ETL: gut geeignet 
• Ad-hoc: Zu hohe Latenz 
• Analytics: Latenz, Sprachumfang ungenügend
Was kann man besser 
machen? Oder: 
Warum ist Hive wie es ist
Hive auf Mapreduce 
Rot: Plattenzugriff 
Reduce-side 
Reduce 
Zieltabelle 
HDFS 
Reduce 
Map 
HDFS 
Shuffle 
Temporärtabelle 
HDFS 
Shuffle 
HDFS 
Map-Side 
Join 
Map Map 
Join 
HDFS 
HDFS 
HDFS 
HDFS 
Kunden Adressen Käufe Produkte
Was kann man besser machen? 
• Unnötige Maps oder Reduces vermeiden 
• Temporärdaten direkt weiterleiten 
• Effizientere Datenspeicherung 
• Query-Optimierung (cost-based) 
• Arbeitsspeicher nutzen
Optimiertes Hive: DAGs 
Reduce 
Reduce 
Map Map 
Reduce-side 
Kunden Adressen Käufe Produkte 
Join 
Shuffle 
Shuffle 
Map-Side 
Join 
HDFS 
HDFS 
HDFS 
HDFS 
Adressen 
HDFS
Splice 
Pivotal HAWQ 
Oracle Hadoop Connector InfiniDB 
Hive 
Presto 
Hive on Spark 
Shark 
Kylin 
Hive-on-Tez 
Tajo 
Lingual 
Phoenix Apache Drill 
BigSQL 
Trafodion Hadapt 
CitusDB 
Impala 
Spark SQL 
IBM BigQuery 
Aster SQL/Mapreduce
MPP (massive parallel processing) 
Datenbanken 
Slave 
(blackbox) 
HDFS 
Master 
Slave 
(blackbox) 
Slave 
(blackbox) 
Slave 
(blackbox) 
HDFS HDFS HDFS
MPP-basiert 
Splice 
Pivotal HAWQ 
Oracle Hadoop Connector InfiniDB 
Hive 
Presto 
Hive on Spark 
Shark 
Kylin 
Hive-on-Tez 
Tajo 
Lingual 
Phoenix Apache Drill 
BigSQL 
Trafodion Hadapt 
CitusDB 
Impala 
Spark SQL 
IBM BigSQL 
Aster SQL/Mapreduce
Spalten vs Zeilenorientiert 
Stuttgart 597939 D 
München 1407836 D 
Berlin 3419623 D 
London 8308369 GB 
Stuttgart München Berlin London 
597939 1407836 3419623 8308369 
D D D GB
ORC / Parquet 
• Hortonworks/ 
Microsoft 
• Spaltenindizes, 
Vektorisierte Queries 
• Blöcke von 10.000 
Zeilen können über 
Index übersprungen 
werden 
• Hive Datentypen 
• Twitter/Cloudera/ 
Criteo 
• Plattform- und Hive 
unabhängig. (z.b. Pig) 
• Verschachtelte 
Datenstrukturen 
(Listen, Maps) - Kann 
ORC auch
No SQL!? 
Splice 
Pivotal HAWQ 
Oracle Hadoop Connector InfiniDB 
Hive 
Presto 
Hive on Spark 
Shark 
Kylin 
Hive-on-Tez 
Tajo 
Lingual 
Phoenix Apache Drill 
BigSQL 
Trafodion Hadapt 
CitusDB 
Impala 
Spark SQL 
IBM BigSQL 
Aster SQL/Mapreduce
Stinger initiative 
• Hortonworks/Microsoft 
• Hive weiterentwickeln 
• Geschwindigkeit: Tez, ORC 
• SQL-Features, Analytische Queries (OVER) 
• Security (GRANT)
Tez und Spark 
• YARN: Tez, Spark 
und Hive 
nebeneinander 
• Tez: Neuer, 
spezialisierter 
• Spark: generischer, 
viel Monumentum 
TEZ Hive 
Spark 
Spark MR 
YARN
Cloudera Impala 
• MPP-basiert 
• Queries zu nativem Code 
• Speicherhungrig, empfohlen 128GB 
• keine strukturierten Datentypen 
• Zwischenergebnisse müssen in RAM passen 
(bis Impala 2.0)
Facebooks Presto 
• MPP-Engine 
• Discovery-Server + Worker-Nodes 
• Struktur-Datentypen -> JSON 
• Hive, Cassandra, MySQL 
• Anwendung bei Facebook: Fact-table in Hive, 
Dimensions in MySQL 
• einfaches Deployment
Apache Drill 
• MapR’s 
• Schema-on-Read 
• Connectoren für Hive, HBase, JSON, CSV. 
• Joins über mehrere Quellen hinweg 
• Compliliert Queries zu Java-Byte-Code 
• Version 0.5.0
Apache Tajo 
• MPP-like 
• Fokus auf Query-Plan Optimierung, nicht 
Caching (wie Impala) 
• SQL-Abdeckung noch nicht so weit 
• In unseren Tests sehr schnell 
• Kerberos in Arbeit
stinger.next 
• Queries unter einer Sekunde 
• MPP-Ähnliche Architektur (LLAP) 
• Updates und Transaktionen 
• SQL:2011 Analytics
Kylin 
• Sehr neu, entwickelt von eBay 
• (M)OLAP Engine 
• Aggregate werden in HBase gespeichert
Features 
Impala Hive 0.14 Presto Drill Tajo 
SQL HiveQL HiveQL SQL92 ANSI SQL ? 
Window-function 
s 
nein yes yes no 0.9 
Security Sentry Filesyste 
m+ Hive 
- - - 
(Kerbero 
File-formats 
RC, 
Parquet, 
Text, Seq 
viele 
alle von 
hive + 
connector 
n 
alle von 
hive + 
connector 
en 
RC, 
Parquet, 
Text,Seq 
Nested! 
Data 
nein ja via JSON ja no
Doch einige Zahlen 
50,91& 
34,31& 
16,69& 
30,96& 
39,43& 
5,25& 
9,25& 
70,00& 
60,00& 
50,00& 
40,00& 
30,00& 
20,00& 
10,00& 
0,00& 
Hive& 
Shark& 
Shark/Cluster& 
Impala& 
Presto& 
Drill& 
Tajo&
Resume I 
Schnell 
Ausgereift 
Connectivity 
Sprach- 
Drill 
Tajo 
Impala Presto 
Tez/Spark 
Hive Umfang
Resumé II 
• Welche Distribution will ich nutzen? 
• Will ich heterogene Datenquellen nutzen 
(Cassandra, HBase, MySQL)? 
• Will ich vorhandene Software anbinden 
(MicroStrategy, Tableau, SAP)? 
• Welche Antwortzeiten brauche ich? 
• Welche Datentypen nutze ich? 
• Security?
Wer gewinnt also? 
• Extrem schnell wachsendes, sich änderndes 
Umfeld. 
• Unübersichtlich 
• Keine „One-Size-Fits-All“ Lösung bisher 
• Anhand des individuellen Anwendungsfalles 
zu evaluieren.
Dankeschön! 
Fragen?

Más contenido relacionado

Was ist angesagt?

Eval Apache Storm vs. Spark Streaming - German
Eval Apache Storm vs. Spark Streaming - GermanEval Apache Storm vs. Spark Streaming - German
Eval Apache Storm vs. Spark Streaming - GermanErik Schmiegelow
 
Oracle hadoop doag-big-data_09_2014_gpi
Oracle hadoop doag-big-data_09_2014_gpiOracle hadoop doag-big-data_09_2014_gpi
Oracle hadoop doag-big-data_09_2014_gpiGunther Pippèrr
 
Das Back to Basics – Webinar 1: Einführung in NoSQL
Das Back to Basics – Webinar 1: Einführung in NoSQLDas Back to Basics – Webinar 1: Einführung in NoSQL
Das Back to Basics – Webinar 1: Einführung in NoSQLMongoDB
 
MongoDB Atlas – der beste Weg, MongoDB in der Cloud zu betreiben 1
MongoDB Atlas – der beste Weg, MongoDB in der Cloud zu betreiben 1MongoDB Atlas – der beste Weg, MongoDB in der Cloud zu betreiben 1
MongoDB Atlas – der beste Weg, MongoDB in der Cloud zu betreiben 1MongoDB
 
Realtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopRealtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopValentin Zacharias
 
SCAPE Skalierbare Langzeitarchivierung
SCAPE Skalierbare LangzeitarchivierungSCAPE Skalierbare Langzeitarchivierung
SCAPE Skalierbare LangzeitarchivierungSven Schlarb
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatengeKarin Patenge
 
Infrastructure as Code mit Terraform
Infrastructure as Code mit TerraformInfrastructure as Code mit Terraform
Infrastructure as Code mit TerraformHarald Schmaldienst
 
Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?Jodok Batlogg
 
SCAPE - Skalierbare Langzeitarchivierung (SCAPE - scalable longterm digital p...
SCAPE - Skalierbare Langzeitarchivierung (SCAPE - scalable longterm digital p...SCAPE - Skalierbare Langzeitarchivierung (SCAPE - scalable longterm digital p...
SCAPE - Skalierbare Langzeitarchivierung (SCAPE - scalable longterm digital p...SCAPE Project
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017oraclebudb
 
Drupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web ServicesDrupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web ServicesSven Paulus
 
Prasentation Hadoop HDFS + YARN
Prasentation Hadoop HDFS + YARNPrasentation Hadoop HDFS + YARN
Prasentation Hadoop HDFS + YARNJrgenFennen
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatengeKarin Patenge
 
Apache Cassandra - Einführung
Apache Cassandra - EinführungApache Cassandra - Einführung
Apache Cassandra - EinführungAndreas Finke
 
Schweine latein-vortrag
Schweine latein-vortragSchweine latein-vortrag
Schweine latein-vortragRamon Wartala
 
SharePoint 2016 das fliegen lernen - SQL Server Performance Optimierung
SharePoint 2016 das fliegen lernen - SQL Server Performance OptimierungSharePoint 2016 das fliegen lernen - SQL Server Performance Optimierung
SharePoint 2016 das fliegen lernen - SQL Server Performance OptimierungLars Platzdasch
 
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAsKarin Patenge
 

Was ist angesagt? (19)

Eval Apache Storm vs. Spark Streaming - German
Eval Apache Storm vs. Spark Streaming - GermanEval Apache Storm vs. Spark Streaming - German
Eval Apache Storm vs. Spark Streaming - German
 
Oracle hadoop doag-big-data_09_2014_gpi
Oracle hadoop doag-big-data_09_2014_gpiOracle hadoop doag-big-data_09_2014_gpi
Oracle hadoop doag-big-data_09_2014_gpi
 
Das Back to Basics – Webinar 1: Einführung in NoSQL
Das Back to Basics – Webinar 1: Einführung in NoSQLDas Back to Basics – Webinar 1: Einführung in NoSQL
Das Back to Basics – Webinar 1: Einführung in NoSQL
 
MongoDB Atlas – der beste Weg, MongoDB in der Cloud zu betreiben 1
MongoDB Atlas – der beste Weg, MongoDB in der Cloud zu betreiben 1MongoDB Atlas – der beste Weg, MongoDB in der Cloud zu betreiben 1
MongoDB Atlas – der beste Weg, MongoDB in der Cloud zu betreiben 1
 
Realtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und HadoopRealtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
Realtime BigData Step by Step mit Lambda, Kafka, Storm und Hadoop
 
SCAPE Skalierbare Langzeitarchivierung
SCAPE Skalierbare LangzeitarchivierungSCAPE Skalierbare Langzeitarchivierung
SCAPE Skalierbare Langzeitarchivierung
 
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge20160310_ModernApplicationDevelopment_NoSQL_KPatenge
20160310_ModernApplicationDevelopment_NoSQL_KPatenge
 
Infrastructure as Code mit Terraform
Infrastructure as Code mit TerraformInfrastructure as Code mit Terraform
Infrastructure as Code mit Terraform
 
Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?Warum 'ne Datenbank, wenn wir Elasticsearch haben?
Warum 'ne Datenbank, wenn wir Elasticsearch haben?
 
SCAPE - Skalierbare Langzeitarchivierung (SCAPE - scalable longterm digital p...
SCAPE - Skalierbare Langzeitarchivierung (SCAPE - scalable longterm digital p...SCAPE - Skalierbare Langzeitarchivierung (SCAPE - scalable longterm digital p...
SCAPE - Skalierbare Langzeitarchivierung (SCAPE - scalable longterm digital p...
 
Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017Oracle Technology Monthly Oktober 2017
Oracle Technology Monthly Oktober 2017
 
Drupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web ServicesDrupal 7 auf Amazon Web Services
Drupal 7 auf Amazon Web Services
 
Storage Spaces Direct - Introduction
Storage Spaces Direct - IntroductionStorage Spaces Direct - Introduction
Storage Spaces Direct - Introduction
 
Prasentation Hadoop HDFS + YARN
Prasentation Hadoop HDFS + YARNPrasentation Hadoop HDFS + YARN
Prasentation Hadoop HDFS + YARN
 
20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge20181210_ITTage2018_OracleNoSQLDB_KPatenge
20181210_ITTage2018_OracleNoSQLDB_KPatenge
 
Apache Cassandra - Einführung
Apache Cassandra - EinführungApache Cassandra - Einführung
Apache Cassandra - Einführung
 
Schweine latein-vortrag
Schweine latein-vortragSchweine latein-vortrag
Schweine latein-vortrag
 
SharePoint 2016 das fliegen lernen - SQL Server Performance Optimierung
SharePoint 2016 das fliegen lernen - SQL Server Performance OptimierungSharePoint 2016 das fliegen lernen - SQL Server Performance Optimierung
SharePoint 2016 das fliegen lernen - SQL Server Performance Optimierung
 
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
20190604_DOAGDatabase2019_OracleNoSQLDB_for_DBAs
 

Ähnlich wie Wer gewinnt das SQL-Rennen auf der Hadoop-Strecke?

SQL on Hadoop für praktikables BI auf Big Data
SQL on Hadoop für praktikables BI auf Big DataSQL on Hadoop für praktikables BI auf Big Data
SQL on Hadoop für praktikables BI auf Big Datainovex GmbH
 
Webinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit HadoopWebinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit Hadoopfun communications GmbH
 
A NoSQL Summer - The Year After
A NoSQL Summer - The Year AfterA NoSQL Summer - The Year After
A NoSQL Summer - The Year AfterMeMo News AG
 
Einfuehrung in Apache Spark
Einfuehrung in Apache SparkEinfuehrung in Apache Spark
Einfuehrung in Apache SparkJens Albrecht
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...SHI Search | Analytics | Big Data
 
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatengeKarin Patenge
 
4×4: Big Data in der Cloud
4×4: Big Data in der Cloud4×4: Big Data in der Cloud
4×4: Big Data in der CloudDanny Linden
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere RESTMartin Abraham
 
Fusion der Welten: Hadoop als DWH-Backend bei ProSieben
Fusion der Welten: Hadoop als DWH-Backend bei ProSiebenFusion der Welten: Hadoop als DWH-Backend bei ProSieben
Fusion der Welten: Hadoop als DWH-Backend bei ProSiebeninovex GmbH
 
PASS Camp 2012 - Big Data mit Microsoft (Teil 1)
PASS Camp 2012 - Big Data mit Microsoft (Teil 1)PASS Camp 2012 - Big Data mit Microsoft (Teil 1)
PASS Camp 2012 - Big Data mit Microsoft (Teil 1)Sascha Dittmann
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...AWS Germany
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magentoAOE
 
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitEchtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitAWS Germany
 
Scala.js at code.talks 2014, Hamburg
Scala.js at code.talks 2014, HamburgScala.js at code.talks 2014, Hamburg
Scala.js at code.talks 2014, HamburgLutz Hühnken
 
Textanalyse mit UIMA und Hadoop
Textanalyse mit UIMA und HadoopTextanalyse mit UIMA und Hadoop
Textanalyse mit UIMA und Hadoopinovex GmbH
 

Ähnlich wie Wer gewinnt das SQL-Rennen auf der Hadoop-Strecke? (20)

SQL on Hadoop für praktikables BI auf Big Data
SQL on Hadoop für praktikables BI auf Big DataSQL on Hadoop für praktikables BI auf Big Data
SQL on Hadoop für praktikables BI auf Big Data
 
Webinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit HadoopWebinar Big Data - Enterprise Readiness mit Hadoop
Webinar Big Data - Enterprise Readiness mit Hadoop
 
What’s new in Apache Solr 4.7 und Elasticsearch 1.1
What’s new in Apache Solr 4.7 und Elasticsearch 1.1What’s new in Apache Solr 4.7 und Elasticsearch 1.1
What’s new in Apache Solr 4.7 und Elasticsearch 1.1
 
A NoSQL Summer - The Year After
A NoSQL Summer - The Year AfterA NoSQL Summer - The Year After
A NoSQL Summer - The Year After
 
Elasticsearch Cluster Management mit Marvel
Elasticsearch Cluster Management mit MarvelElasticsearch Cluster Management mit Marvel
Elasticsearch Cluster Management mit Marvel
 
Einfuehrung in Apache Spark
Einfuehrung in Apache SparkEinfuehrung in Apache Spark
Einfuehrung in Apache Spark
 
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
Apache Solr vs. Elasticsearch - And The Winner Is...! Ein Vergleich der Shoot...
 
SAP BW/4HANA - Ein Überblick
SAP BW/4HANA - Ein ÜberblickSAP BW/4HANA - Ein Überblick
SAP BW/4HANA - Ein Überblick
 
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
20171121_DOAGKonferenz_JSON_OracleNoSQL_KPatenge
 
4×4: Big Data in der Cloud
4×4: Big Data in der Cloud4×4: Big Data in der Cloud
4×4: Big Data in der Cloud
 
Ist GraphQL das bessere REST
Ist GraphQL das bessere RESTIst GraphQL das bessere REST
Ist GraphQL das bessere REST
 
Fusion der Welten: Hadoop als DWH-Backend bei ProSieben
Fusion der Welten: Hadoop als DWH-Backend bei ProSiebenFusion der Welten: Hadoop als DWH-Backend bei ProSieben
Fusion der Welten: Hadoop als DWH-Backend bei ProSieben
 
PASS Camp 2012 - Big Data mit Microsoft (Teil 1)
PASS Camp 2012 - Big Data mit Microsoft (Teil 1)PASS Camp 2012 - Big Data mit Microsoft (Teil 1)
PASS Camp 2012 - Big Data mit Microsoft (Teil 1)
 
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
OOP 2014 SQL oder NoSQL - die Auswahl der richtigen Datenbankplattform für di...
 
Meet Magento - High performance magento
Meet Magento - High performance magentoMeet Magento - High performance magento
Meet Magento - High performance magento
 
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS SummitEchtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
Echtzeitanwendungen aus der Cloud - Partnervortrag vom AWS Summit
 
Warum sap hana sql data warehousing
Warum sap hana sql data warehousingWarum sap hana sql data warehousing
Warum sap hana sql data warehousing
 
InfraCoders I
InfraCoders IInfraCoders I
InfraCoders I
 
Scala.js at code.talks 2014, Hamburg
Scala.js at code.talks 2014, HamburgScala.js at code.talks 2014, Hamburg
Scala.js at code.talks 2014, Hamburg
 
Textanalyse mit UIMA und Hadoop
Textanalyse mit UIMA und HadoopTextanalyse mit UIMA und Hadoop
Textanalyse mit UIMA und Hadoop
 

Mehr von inovex GmbH

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegeninovex GmbH
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIinovex GmbH
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolutioninovex GmbH
 
Network Policies
Network PoliciesNetwork Policies
Network Policiesinovex GmbH
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learninginovex GmbH
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungeninovex GmbH
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeteninovex GmbH
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetesinovex GmbH
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systemsinovex GmbH
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreiheninovex GmbH
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenteninovex GmbH
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?inovex GmbH
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Projectinovex GmbH
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretabilityinovex GmbH
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use caseinovex GmbH
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessinovex GmbH
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumiinovex GmbH
 

Mehr von inovex GmbH (20)

lldb – Debugger auf Abwegen
lldb – Debugger auf Abwegenlldb – Debugger auf Abwegen
lldb – Debugger auf Abwegen
 
Are you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AIAre you sure about that?! Uncertainty Quantification in AI
Are you sure about that?! Uncertainty Quantification in AI
 
Why natural language is next step in the AI evolution
Why natural language is next step in the AI evolutionWhy natural language is next step in the AI evolution
Why natural language is next step in the AI evolution
 
WWDC 2019 Recap
WWDC 2019 RecapWWDC 2019 Recap
WWDC 2019 Recap
 
Network Policies
Network PoliciesNetwork Policies
Network Policies
 
Interpretable Machine Learning
Interpretable Machine LearningInterpretable Machine Learning
Interpretable Machine Learning
 
Jenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen UmgebungenJenkins X – CI/CD in wolkigen Umgebungen
Jenkins X – CI/CD in wolkigen Umgebungen
 
AI auf Edge-Geraeten
AI auf Edge-GeraetenAI auf Edge-Geraeten
AI auf Edge-Geraeten
 
Prometheus on Kubernetes
Prometheus on KubernetesPrometheus on Kubernetes
Prometheus on Kubernetes
 
Deep Learning for Recommender Systems
Deep Learning for Recommender SystemsDeep Learning for Recommender Systems
Deep Learning for Recommender Systems
 
Azure IoT Edge
Azure IoT EdgeAzure IoT Edge
Azure IoT Edge
 
Representation Learning von Zeitreihen
Representation Learning von ZeitreihenRepresentation Learning von Zeitreihen
Representation Learning von Zeitreihen
 
Talk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale AssistentenTalk to me – Chatbots und digitale Assistenten
Talk to me – Chatbots und digitale Assistenten
 
Künstlich intelligent?
Künstlich intelligent?Künstlich intelligent?
Künstlich intelligent?
 
Dev + Ops = Go
Dev + Ops = GoDev + Ops = Go
Dev + Ops = Go
 
Das Android Open Source Project
Das Android Open Source ProjectDas Android Open Source Project
Das Android Open Source Project
 
Machine Learning Interpretability
Machine Learning InterpretabilityMachine Learning Interpretability
Machine Learning Interpretability
 
Performance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use casePerformance evaluation of GANs in a semisupervised OCR use case
Performance evaluation of GANs in a semisupervised OCR use case
 
People & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madnessPeople & Products – Lessons learned from the daily IT madness
People & Products – Lessons learned from the daily IT madness
 
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with PulumiInfrastructure as (real) Code – Manage your K8s resources with Pulumi
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
 

Wer gewinnt das SQL-Rennen auf der Hadoop-Strecke?

  • 1. Hans-Peter Zorn | Inovex GmbH Wer gewinnt das SQL-Rennen auf der Hadoop-Strecke?
  • 2. War nicht BigData das gleiche NoSQL?
  • 3. Data Lake = Keine Struktur? flickr/matthewthecoolguy
  • 4. Oder gar ein Hadump? flickr/autohistorian
  • 5. Wie viele SQL Lösungen für Hadoop gibt es mittlerweile?
  • 6. Hive Presto Oracle Hadoop Connector Hive on Spark Shark Hive-on-Tez Tajo Lingual Phoenix Apache Drill BigSQL Trafodion Hadapt CitusDB Impala Spark SQL Splice Pivotal HAWQ IBM BigSQL Aster SQL/Mapreduce InfiniDB Kylin
  • 7. Agenda • Warum SQL, Anwendungfälle • Überblick Hive • Wie kann Hive verbessert werden • SQL-Engines: Welche für was? • Zusammenfassung
  • 8. Warum jetzt doch SQL? • Türöffner zur BigData-Welt • Kenntnisse weit verbreitet • Software:Treiber vorhanden flickr.com/salynaz
  • 9. Wo wird SQL auf Hadoop eingesetzt? • ETL • Adhoc-Analyse • Reporting
  • 10. Oracle Hadoop Connector InfiniDB Hive on Spark Splice Pivotal HAWQ Shark Hive Presto Kylin Hive-on-Tez Tajo Lingual Phoenix Apache Drill BigSQL Trafodion Hadapt CitusDB Impala Spark SQL IBM BigSQL Aster SQL/Mapreduce
  • 11. Hive • ursprünglich von Facebook • Compiliert HiveQL, ein SQL-Dialekt, zu MapReduce-Jobs • Schema wird separat zu den Daten abgelegt: Metastore
  • 12. Hive Architektur Anwender Query Hive Hadoop Hive Server2 Meta store Parser, Analyzer, Compiler
  • 13. Hive • ETL: gut geeignet • Ad-hoc: Zu hohe Latenz • Analytics: Latenz, Sprachumfang ungenügend
  • 14. Was kann man besser machen? Oder: Warum ist Hive wie es ist
  • 15. Hive auf Mapreduce Rot: Plattenzugriff Reduce-side Reduce Zieltabelle HDFS Reduce Map HDFS Shuffle Temporärtabelle HDFS Shuffle HDFS Map-Side Join Map Map Join HDFS HDFS HDFS HDFS Kunden Adressen Käufe Produkte
  • 16. Was kann man besser machen? • Unnötige Maps oder Reduces vermeiden • Temporärdaten direkt weiterleiten • Effizientere Datenspeicherung • Query-Optimierung (cost-based) • Arbeitsspeicher nutzen
  • 17. Optimiertes Hive: DAGs Reduce Reduce Map Map Reduce-side Kunden Adressen Käufe Produkte Join Shuffle Shuffle Map-Side Join HDFS HDFS HDFS HDFS Adressen HDFS
  • 18. Splice Pivotal HAWQ Oracle Hadoop Connector InfiniDB Hive Presto Hive on Spark Shark Kylin Hive-on-Tez Tajo Lingual Phoenix Apache Drill BigSQL Trafodion Hadapt CitusDB Impala Spark SQL IBM BigQuery Aster SQL/Mapreduce
  • 19. MPP (massive parallel processing) Datenbanken Slave (blackbox) HDFS Master Slave (blackbox) Slave (blackbox) Slave (blackbox) HDFS HDFS HDFS
  • 20. MPP-basiert Splice Pivotal HAWQ Oracle Hadoop Connector InfiniDB Hive Presto Hive on Spark Shark Kylin Hive-on-Tez Tajo Lingual Phoenix Apache Drill BigSQL Trafodion Hadapt CitusDB Impala Spark SQL IBM BigSQL Aster SQL/Mapreduce
  • 21. Spalten vs Zeilenorientiert Stuttgart 597939 D München 1407836 D Berlin 3419623 D London 8308369 GB Stuttgart München Berlin London 597939 1407836 3419623 8308369 D D D GB
  • 22. ORC / Parquet • Hortonworks/ Microsoft • Spaltenindizes, Vektorisierte Queries • Blöcke von 10.000 Zeilen können über Index übersprungen werden • Hive Datentypen • Twitter/Cloudera/ Criteo • Plattform- und Hive unabhängig. (z.b. Pig) • Verschachtelte Datenstrukturen (Listen, Maps) - Kann ORC auch
  • 23. No SQL!? Splice Pivotal HAWQ Oracle Hadoop Connector InfiniDB Hive Presto Hive on Spark Shark Kylin Hive-on-Tez Tajo Lingual Phoenix Apache Drill BigSQL Trafodion Hadapt CitusDB Impala Spark SQL IBM BigSQL Aster SQL/Mapreduce
  • 24. Stinger initiative • Hortonworks/Microsoft • Hive weiterentwickeln • Geschwindigkeit: Tez, ORC • SQL-Features, Analytische Queries (OVER) • Security (GRANT)
  • 25. Tez und Spark • YARN: Tez, Spark und Hive nebeneinander • Tez: Neuer, spezialisierter • Spark: generischer, viel Monumentum TEZ Hive Spark Spark MR YARN
  • 26. Cloudera Impala • MPP-basiert • Queries zu nativem Code • Speicherhungrig, empfohlen 128GB • keine strukturierten Datentypen • Zwischenergebnisse müssen in RAM passen (bis Impala 2.0)
  • 27. Facebooks Presto • MPP-Engine • Discovery-Server + Worker-Nodes • Struktur-Datentypen -> JSON • Hive, Cassandra, MySQL • Anwendung bei Facebook: Fact-table in Hive, Dimensions in MySQL • einfaches Deployment
  • 28. Apache Drill • MapR’s • Schema-on-Read • Connectoren für Hive, HBase, JSON, CSV. • Joins über mehrere Quellen hinweg • Compliliert Queries zu Java-Byte-Code • Version 0.5.0
  • 29. Apache Tajo • MPP-like • Fokus auf Query-Plan Optimierung, nicht Caching (wie Impala) • SQL-Abdeckung noch nicht so weit • In unseren Tests sehr schnell • Kerberos in Arbeit
  • 30. stinger.next • Queries unter einer Sekunde • MPP-Ähnliche Architektur (LLAP) • Updates und Transaktionen • SQL:2011 Analytics
  • 31. Kylin • Sehr neu, entwickelt von eBay • (M)OLAP Engine • Aggregate werden in HBase gespeichert
  • 32. Features Impala Hive 0.14 Presto Drill Tajo SQL HiveQL HiveQL SQL92 ANSI SQL ? Window-function s nein yes yes no 0.9 Security Sentry Filesyste m+ Hive - - - (Kerbero File-formats RC, Parquet, Text, Seq viele alle von hive + connector n alle von hive + connector en RC, Parquet, Text,Seq Nested! Data nein ja via JSON ja no
  • 33. Doch einige Zahlen 50,91& 34,31& 16,69& 30,96& 39,43& 5,25& 9,25& 70,00& 60,00& 50,00& 40,00& 30,00& 20,00& 10,00& 0,00& Hive& Shark& Shark/Cluster& Impala& Presto& Drill& Tajo&
  • 34. Resume I Schnell Ausgereift Connectivity Sprach- Drill Tajo Impala Presto Tez/Spark Hive Umfang
  • 35. Resumé II • Welche Distribution will ich nutzen? • Will ich heterogene Datenquellen nutzen (Cassandra, HBase, MySQL)? • Will ich vorhandene Software anbinden (MicroStrategy, Tableau, SAP)? • Welche Antwortzeiten brauche ich? • Welche Datentypen nutze ich? • Security?
  • 36. Wer gewinnt also? • Extrem schnell wachsendes, sich änderndes Umfeld. • Unübersichtlich • Keine „One-Size-Fits-All“ Lösung bisher • Anhand des individuellen Anwendungsfalles zu evaluieren.