SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
Abteilung / Bereich / Datum (Tag.Monat.Jahr)
Wide-column Stores für Architekten
Analytics / Andreas Buckenhofer / 23.04.2015
Wide-column Stores für Architekten / Andreas Buckenhofer 2
1. NoSQL
2. Motivation Wide-column Stores
3. Datenmodellierung Wide-column Stores
4. Architektur
5. Use Cases
6. Zusammenfassung
Titel der Präsentation
Überblick
3
Zur Person
Andreas Buckenhofer
Andreas Buckenhofer
Senior DB Professional
E-Mail: andreas.buckenhofer@daimler.com
Seit 2009 bei Daimler TSS im Fachgebiet
Data Warehouse & Data Integration (Cognos/Informatica) - Department Analytics
Schwerpunkt DWH/CRM seit 1998 als
• Entwickler
• Administrator
• Berater
Wide-column Stores für Architekten / Andreas Buckenhofer
TSS Unternehmenspräsentation / März 2015 / V9.8
Ganzheitliche Betreuung
(Erhebung, Auswertung,
Visualisierung und
Interpretation), unabhängige
Beratung und Optimierung der
Geschäftsabläufe.
Von klassischer BI bis hin zu
predictive und prescriptive
Analytics bieten wir Leistungen
unter Berücksichtigung der
Datensicherheit.
Dabei verknüpfen wir fachliche
Erfahrung und IT-Know-how im
Daimler-Kontext mit dem Blick
fürs große Ganze.Analytics. Das große
Ganze verstehen, um
Daten nutzbar machen.
Daimler TSS China
Hub Beijing
1 Mitarbeiter
Standorte
Daimler TSS Asia
Hub Kuala Lumpur
36 Mitarbeiter
MY
Daimler TSS India
Hub Bangalore
21 Mitarbeiter
IN
Ulm (Hauptsitz)
Raum Stuttgart
Böblingen, Echterdingen,
Leinfelden, Möhringen
Berlin
DE Daimler TSS Deutschland
6 Standorte
660 Mitarbeiter
CN
TSS Unternehmenspräsentation / März 2015 / V9.8
Wide-column Stores für Architekten / Andreas Buckenhofer 6
1. NoSQL
2. Motivation Wide-column Stores
3. Datenmodellierung Wide-column Stores
4. Architektur
5. Use Cases
6. Zusammenfassung
Wide-column Stores für Architekten
Überblick
Wide-column Stores für Architekten / Andreas Buckenhofer 7
• Key Value Stores
• Document Stores / Dokumentenorientierte Datenbanken
• Graph DBs
• Wide-column stores (column-oriented stores)
NoSQL
Datenbanken
NoSQL
Key Value Stores
Einfaches Datenmodell mit Paaren aus
eindeutigem Schlüssel und Wert/Werteliste.
Der Zugriff auf die Daten erfolgt
ausschließlich über den Schlüssel.
Daten sollten idealerweise in den Speicher
passen für schnelle Lesezugriffe (Caching)
Beispiel: Redis, Aerospike, Oracle NoSQL.
Key Value
userID1 ISBN1
userID2 ISBN2, ISBN8, ISBN9
userID3
Wide-column Stores für Architekten / Andreas Buckenhofer 8
NoSQL
Document Stores
Strukturen (XML, JSON, BSON) werden
in der Datenbank abgelegt.
Variables Schema.
Werte sind selbstbeschreibend (enthalten
Metadaten).
Zugriff über Schlüssel oder Indexierung
möglich.
Die Datenbank interpretiert das Modell
nicht.
Beispiel: MongoDB, CouchDB.
ID: 12345
Name: Mustermann
Geboren: 04.02.1992
ID: 637
Name: Berger
Adresse: ab 01.01.2005
PLZ: 89004
Stadt: Ulm
ab 01.07.2010
PLZ: 80990
Stadt: München
Wide-column Stores für Architekten / Andreas Buckenhofer 9
NoSQL
Graph DBs
Das Datenmodell beinhaltet Elemente
für die Modellierung von Knoten und Kanten
sowie deren Eigenschaften.
Die gesuchten Information sind weniger die
Daten selbst, sondern die Verknüpfungen
zwischen den Daten.
Optimiert für Graphabfragen,
z.B. Graphtraversal.
Beispiel: Neo4J.
user1
user2
user4
user3
user5
Wide-column Stores für Architekten / Andreas Buckenhofer 10
NoSQL
Wide Column Stores
Daten sind spaltenweise organisiert als
Schlüssel und Werte („columns“).
Diese Daten können durch übergeordnete
Schlüssel weiter gruppiert werden
(„column family“).
Zugriff über Schlüssel.
Hohe Skalierbarkeit mit Standard HW.
Beispiel: HBase, Cassandra.
Name (Key) Value TimestampRowKey
Name (Key) Value TimestampRowKey
Name (Key) Value TimestampRowKey
Wide-column Stores für Architekten / Andreas Buckenhofer 11
Wide-column Stores für Architekten / Andreas Buckenhofer 12
1. NoSQL
2. Motivation Wide-column Stores
3. Datenmodellierung Wide-column Stores
4. Architektur
5. Use Cases
6. Zusammenfassung
Wide-column Stores für Architekten
Überblick
Wide-column Stores für Architekten / Andreas Buckenhofer 13
BigData – Volume, Velocity, Variety
• Speicherung großer Datenmengen und interaktive Abfragen
• Flexible Speicherung von Daten
• Variable Spalten
• Hohe Skalierbarkeit
Motivation
Warum Wide-column Store?
Wide-column Stores für Architekten / Andreas Buckenhofer 14
Basis für Wide-column Stores:
• Datenmodell: Google BigTable
research.google.com/archive/bigtable-osdi06.pdf
• Architektur Amazon Dynamo für Cassandra
Bekannteste Produkte (Apache)
Motivation
Wide-column Stores
Wide-column Stores für Architekten / Andreas Buckenhofer 15
Motivation
HBase = Hadoop NoSQL Database
Wide-column Stores für Architekten / Andreas Buckenhofer 16
Motivation
HBase - Low Latency
HDFS / Hive / MapReduce (Hadoop) HBase basiert auf HDFS
Batch Interaktiv (ms)
Sequentielles Lesen und Schreiben wahlfreies Lesen und Schreiben
Optimiert für Full Scan Optimiert für einzelne Datensätze bzw Short
Scan
append-only, keine updates und deletes insert=updates und deletes
Wide-column Stores für Architekten / Andreas Buckenhofer 17
Motivation
Cassandra
entwickelt bei:
Wide-column Stores für Architekten / Andreas Buckenhofer 18
Motivation
HBase / Cassandra Beginn
2006
2008
2010
2012
HBase
Entwicklung
beginnt
HBase
Apache
Projekt
Cassandra 0.1
HBase 0.2
Cassandra
Apache
Projekt
Wide-column Stores für Architekten / Andreas Buckenhofer 19
1. NoSQL
2. Motivation Wide-column Stores
3. Datenmodellierung Wide-column Stores
4. Architektur
5. Use Cases
6. Zusammenfassung
Wide-column Stores für Architekten
Überblick
Wide-column Stores für Architekten / Andreas Buckenhofer 20
Datenmodellierung Wide-column Stores
Spalte (column)
Name (Key) Value Timestamp
Basis: Spalte (wide-column stores, column-oriented DBs)
Key-Value Paare mit Zeitstempel
Name (Key) ist Identifikator für Spalte
Spalten werden dynamisch erzeugt (keine Definition vorab)
Wide-column Stores für Architekten / Andreas Buckenhofer 21
Datenmodellierung Wide-column Stores
Spalte
Keine Datentypen
• Byte[]
• Schema-los, schema-on-read
• Gilt auch für RowKey
Kleine Zellgrößen 0-5MB
Kurze Namen/Keys für bessere Performance / weniger Datenvolumen (sofern
Namen/Keys feststehen)
Speicherung von Werten als Spaltennamen und leerem Wert möglich
Wide-column Stores für Architekten / Andreas Buckenhofer 22
Datenmodellierung Wide-column Stores
Zeile (row)
Zeile: Menge von sortierten Spalten
Spalten sind sortiert anhand von Name (Key)
Name (Key) Value Timestamp
Name (Key) Value Timestamp
Name (Key) Value Timestamp
RowKey
Wide-column Stores für Architekten / Andreas Buckenhofer 23
Datenmodellierung Wide-column Stores
Zeile (row)
RowKey Design: wichtigster Teil der Datenmodellierung
• RowKeys sind die einzigen Indexe
• Gewährleistet schnellen Lesezugriff
• Antipattern: nur Zeitstempel als Rowkey, Gefahr von Hotspots beim
Schreiben
• Oft zusammengesetzt (z.B. Metrik + Zeitstempel)
• Unterschiedlich lange Felder in zusammengesetzen Keys (Scan-Zugriff
ist aufwändiger)
• Oft Hashing
Zeilenänderungen sind atomar, auch bei Tausenden von Spalten
Wide-column Stores für Architekten / Andreas Buckenhofer 24
Datenmodellierung Wide-column Stores
Column Family
Column Family: Menge von sortierten Zeilen
Ein oder mehrere Column Families werden zu einer Tabelle zusammengefasst
Zeile ist sortiert und indexiert durch RowKey
Name (Key) Value TimestampRowKey
Name (Key) Value TimestampRowKey
Name (Key) Value TimestampRowKey
Wide-column Stores für Architekten / Andreas Buckenhofer 25
Datenmodellierung Wide-column Stores
Column Family
Column Families können sehr breit werden, aber auch sehr schmal sein
Namen (column family qualifier) von Column Families werden vorab definiert
Keine Joins
• Denormalisierung
• Duplizierung der Daten falls nötig
• Verknüpfung / Join der Daten im Programmcode
Qualifizierter Zugriff auf eine Zelle:
{RowKey => {column family => {column qualifier (Name / Key) => {timestamp}}}}
Wide-column Stores für Architekten / Andreas Buckenhofer 26
Datenmodellierung Wide-column Stores
Modellierungsmuster
Entitäten
Column Family als optimierte Abfrage
Events / Zeitreihen
Wide-column Stores für Architekten / Andreas Buckenhofer 27
Datenmodellierung Wide-column Stores
Entitäten
Einfacher RowKey
Einheitliche, bekannte Spaltennamen
Oft wenige Spalten
Schemalos
Wide-column Stores für Architekten / Andreas Buckenhofer 28
Datenmodellierung Wide-column Stores
Entitäten - Stücklistenauflösung
P
|
+-------+
| 1x | 1x
C1 B
|
+-------+------+
| 1x | 1x | 2x
C1 C2 C3
Auftrags-
prognose
Produkt-
katalog
Teilebedarf
Wide-column Stores für Architekten / Andreas Buckenhofer 29
Datenmodellierung Wide-column Stores
Entitäten - Stücklistenauflösung
Part C2 1 t2
Part C1 2 t1
… … …
FahrzeugID1
Part D1 3 t5
Part C5 20 t1
… … …
FahrzeugID2
Wide-column Stores für Architekten / Andreas Buckenhofer 30
Datenmodellierung Wide-column Stores
Column Family als optimierte Abfrage
Keine Indexe
Abfrage-orientiertes Datenmodell
Denormalisierung und Duplizierung
Spaltenwerte sind die Row Keys von Entitäten
Wide-column Stores für Architekten / Andreas Buckenhofer 31
Datenmodellierung Wide-column Stores
Column Family als optimierte Abfrage
Abfrage: In welchen aufgelösten Stücklisten kommt Teil C2 vor?
Scan über alle Zeilen (d.h. über alle Regionserver)
Kein universelles Datenmodell bzw SQL wie bei RDBMS: Bei der
Datenmodellierung bei Wide-column Stores ist die Berücksichtigung von Abfragen
von Beginn an nötig.
Wide-column Stores für Architekten / Andreas Buckenhofer 32
Datenmodellierung Wide-column Stores
Entitäten - Stücklistenauflösung
FahrzeugID3 (NULL) t2
FahrzeugID1 (NULL) t1
… … …
PartID C1
FahrzeugID4 (NULL) t2
FahrzeugID3 (NULL) t1
… … …
PartID D8
Wide-column Stores für Architekten / Andreas Buckenhofer 33
Datenmodellierung Wide-column Stores
Events / Zeitreihen
RowKey als Zeitelement
Meist zusammengesetzter RowKey zur Vermeidung von Hot Spots
Hashing einzelner RowKey-Komponenten
Spaltenwerte als Events
Spaltenwerte als Messwerte
Column Families können sehr breit werden
Wide-column Stores für Architekten / Andreas Buckenhofer 34
Datenmodellierung Wide-column Stores
Events / Zeitreihen
Änderungen führen zu einer Versionierung von Stücklisten (d.h. Abspeicherung
einzelner Versionen)
FahrzeugID3 (NULL) t2
FahrzeugID1 (NULL) t1
… … …
MD5(PartID) +
MD5(Änderungsdatum)
Wide-column Stores für Architekten / Andreas Buckenhofer 35
Datenmodellierung Wide-column Stores
Events / Zeitreihen - OpenTSDB
Time-Offset Messung t2
Time-Offset Messung t1
… … …
MetricKey +
Basetimestamp
+10 (48.136,11.578) t2
+0 (48.137,11.577) t1
+12 (48.135,11.578) t3
01 +
1429552800
01 = codierte Metrik wie
GPS-Daten, CPU, usw
+
Zeitstempel stündlich
20.4.2015 20:00:00
Wide-column Stores für Architekten / Andreas Buckenhofer 36
Datenmodellierung Wide-column Stores
Operationen
Put
• Zeile Einfügen (insert bzw update)
Delete
• Zeile löschen
Get
• Zeile lesen
Scan
• Lesen mehrerer Zeilen (profitiert von Sortierung)
• Angabe von Filter möglich
Wide-column Stores für Architekten / Andreas Buckenhofer 37
1. NoSQL
2. Motivation Wide-column Stores
3. Datenmodellierung Wide-column Stores
4. Architektur
5. Use Cases
6. Zusammenfassung
Wide-column Stores für Architekten
Überblick
Wide-column Stores für Architekten / Andreas Buckenhofer 38
Architektur
Überblick (HBase)
HMaster
HRegionServer1 HRegionServer2 HRegionServerN
HDFS-Datanode1 HDFS-Datanode2 HDFS-DatanodeN
Client Zookeeper
Location to
Meta-Tab
Wide-column Stores für Architekten / Andreas Buckenhofer 39
Architektur
Datenverteilung
HRegionServer1 HRegionServer2 HRegionServerN
Region2 Region3
RegionX
RegionY
Region1
RowKey A
RowKey B
RowKey C
RowKey D
RowKey I
RowKey J
Region1
Wide-column Stores für Architekten / Andreas Buckenhofer 40
Architektur
RegionserverWAL(write-aheadLog)
Region1
HFile
HDFS - Datanode1
HFile
Mem
Store
Region2
HFile HFile
Mem
Store
HFile
Block Cache
RAM
Festplatte
Wide-column Stores für Architekten / Andreas Buckenhofer 41
Architektur
Regionserver – Schreiben (Write)WAL(write-aheadLog)
Region1
HFile
HDFS - Datanode1
HFile
Mem
Store
Region2
HFile HFile
Mem
Store
HFile
1
2
Block Cache
HFile
(neu)
…3
4
Wide-column Stores für Architekten / Andreas Buckenhofer 42
Architektur
Regionserver – Lesen (Read)WAL(write-aheadLog)
Region1
HFile
HDFS - Datanode1
HFile
Mem
Store
Region2
HFile HFile
Mem
Store
HFile
1
2
3
4
Block Cache
3
Wide-column Stores für Architekten / Andreas Buckenhofer 43
Architektur
Dateityp: Log
WAL (Write-ahead Logs)
• Schreibezugriffe erfolgen zuerst in WAL
• Sequentielles Schreiben
• Nur Hinzufügen von Daten
• Neue Datei wird regelmäßig erstellt
• Eine aktive Datei pro Server
Wide-column Stores für Architekten / Andreas Buckenhofer 44
Architektur
Dateityp: Datendateien
HFiles
• unveränderlich (Daten werden einmalig eingefügt)
• ein oder mehrere Dateien pro Column Family (performancekritisch, falls zu
viele Dateien)
• Wahlfreies (random) oder Sequentielles Lesen
• Mehrere GB groß
• werden erstellt durch Flush aus MemStore oder durch „Compaction“
• Bloom Filter (In-memory Bitmap Index zum Auffinden der RowKeys)
Links / References
• Werden erstellt bei „Region split“
Wide-column Stores für Architekten / Andreas Buckenhofer 45
Architektur
Compactions
Zusammenführen von Datendateien und Sortierung von RowKeys
Server bleibt online
Kleinere Regionen führen zu performanteren Zusammenführungen
Minor
• Zusammenführen von HFiles (>= 2) in eine neue HFile-Datei
Major
• zusätzlich: Löschen der Daten bei Delete-Operationen
• zusätzlich: Löschen von ungültigen (expired) Zellen
• Reduzierung auf 1 HFile
Wide-column Stores für Architekten / Andreas Buckenhofer 46
Architektur
Anbindung
API
• Viel Code
• Anwendung ist sehr stark am Datenmodell ausgerichtet
SQL
• Cassandra: CQL
• HBase: SQL over Hive
• HBase: Phoenix
Wide-column Stores für Architekten / Andreas Buckenhofer 47
1. NoSQL
2. Motivation Wide-column Stores
3. Datenmodellierung Wide-column Stores
4. Architektur
5. Use Cases
6. Zusammenfassung
Wide-column Stores für Architekten
Überblick
Wide-column Stores für Architekten / Andreas Buckenhofer 48
Use Cases
Materialized Views
Quelldaten
Auswertungen / Analyse
Analytische oder
Adhoc-Abfragen
Interaktive
Abfragen
Mat Views
Wide-column Stores für Architekten / Andreas Buckenhofer 49
Use Cases
Lambda Architektur
Batch Layer
All Data
Speed Layer
RealTime Views
Serving Layer
Batch Views
Query
(merge)
Data Stream, z.B. EventLogs
Wide-column Stores für Architekten / Andreas Buckenhofer 50
Use Cases
SuchIndex, Text Analytics
(Text-) Quelldaten, z.B. Logs
Indizierung
Dokumente
Wide-column Stores für Architekten / Andreas Buckenhofer 51
1. NoSQL
2. Motivation Wide-column Stores
3. Datenmodellierung Wide-column Stores
4. Architektur
5. Use Cases
6. Zusammenfassung
Wide-column Stores für Architekten
Überblick
Wide-column Stores für Architekten / Andreas Buckenhofer 52
Zusammenfassung
Datenmodellierung auch für BigData
• Skalierbarkeit
• Hohe Schreibperformance
• Interaktive Abfragen (ms)
• Wahlfreies Lesen und Schreiben
• Datenmodell hat mehr Struktur im Vergleich zu anderen NoSQL-DBs
• Apache Open Source
• Community
• Viele Personen + Apache, nicht nur kommerzielle Unternehmen wie
Hortonworks, Cloudera, DataStax, etc
Wide-column Stores für Architekten / Andreas Buckenhofer 53
Zusammenfassung
Wide-column Stores
Datenmodellierung auch im Hadoop bzw NoSQL-Umfeld wichtig, um
• Daten zu verstehen
• Performanz zu garantieren
• Entwicklung zu beschleunigen
• Qualität der Software zu verbessern
• Wartungskosten zu reduzieren
• Gemeinsames Verständnis zu fördern
• Schema-on-read: Modellversionen auch nach Jahren noch verstehen
“Data modeling is the process of learning about the data, and regardless of
technology, this process must be performed for a successful application.”
Quelle Zitat: Steve Hoberman: Data Modeling for Mongo DB, Technics Publications 2014
Wide-column Stores für Architekten / Andreas Buckenhofer 54
Vielen Dank!
Daimler TSS GmbH
Wilhelm-Runge-Straße 11
89081 Ulm
Telefon +49 731 505-06
Fax +49 731 505-65 99
tss@daimler.com
Internet: www.daimler-tss.com
Daimler TSS GmbH
Sitz und Registergericht: Ulm, HRB-Nr.: 3844
Geschäftsführung: Dr. Stefan Eberhardt (Vorsitzender), Steffen Bäuerle
Wide-column Stores für Architekten / Andreas Buckenhofer 55
HBase vs Cassandra
Eigenschaften 1(2)
HBase Cassandra
Infrastuktur Wird i.d.R. mit Hadoop
verwendet (Standalone
möglich). Nutzung häufig in
BigData / DWH / Analytics
Architekturen.
Standalone. Nutzung häufig
zur Auswertung Real/Right
Time Transaktionen.
Serverknoten Master und Slaves
(Regions).
Alle Knoten sind
gleichberechtigt. Kein
Masterknoten.
Cluster, Replikation Replikation zu einem
gespiegelten Cluster
möglich. Replikation über
Rechenzentrumsgrenzen
nicht empfohlen.
Knoten sind als Ring
angeordnet. Daten werden
repliziert, auch über
Rechenzentrumsgrenzen
hinweg möglich.
Wide-column Stores für Architekten / Andreas Buckenhofer 56
HBase vs Cassandra
Eigenschaften 2(2)
HBase Cassandra
Sortierung RowKey Automatisch, nicht änderbar.
Kurze Scans nach RowKeys
möglich und sinnvoll.
Konfigurierbar, ob
Sortierung nach RowKey
erwünscht ist.
Coprocessors Erweiterung von HBase
vergleichbar mit Stored
Procedures, Trigger
Nicht unterstützt
CAP-Theorem CP CP oder AP möglich
Sekundäre Indexe Nein
(nur über Phoenix)
Ja
Wide-column Stores für Architekten / Andreas Buckenhofer 57
Datenmodellierung
Sekundäre Indexe (Cassandra)
Cassandra: Indexierung von Spaltenwerten möglich
• Für Werte mit geringer (!) Kardinalität
• Gegenteil von Indexen in relationalen DBs (hohe Kardinalität)
Wide-column Stores für Architekten / Andreas Buckenhofer 58
Datenmodellierung
Latenz vs Durchsatz
Niedrige Latenz Durchsatz
Put
Get Short
Scan
Bulk
Import
Full
Scan
Wide-column Stores für Architekten / Andreas Buckenhofer 59
Zusammenfassung
Workloads Hadoop
Durchsatz
Interaktiv
Wahlfrei Sequentiell / Full Scan
HBase
Spark on HDFS
HDFS / MapReduce
Wide-column Stores für Architekten / Andreas Buckenhofer 60
Architektur
Cassandra
Memtables
SSTable
SSTable
SSTable
SSTable SSTable
Compaction
Flush
CommitLog
CommitLog
Daten
RAM
Festplatte
Wide-column Stores für Architekten / Andreas Buckenhofer 61
Architektur
Cassandra – Ring ohne Masterknoten
row1
row1
row1

Mais conteúdo relacionado

Destaque

Destaque (20)

phbs
phbsphbs
phbs
 
Fsg gpa.djp kv herbst 2010 13112010
Fsg gpa.djp kv herbst 2010 13112010Fsg gpa.djp kv herbst 2010 13112010
Fsg gpa.djp kv herbst 2010 13112010
 
Br mitglied
Br mitgliedBr mitglied
Br mitglied
 
REMODELS
REMODELSREMODELS
REMODELS
 
Macht Und Ressourcen Im Ebr.1
Macht Und Ressourcen Im Ebr.1Macht Und Ressourcen Im Ebr.1
Macht Und Ressourcen Im Ebr.1
 
Presseunterlage krisenschulden sept2010
Presseunterlage krisenschulden sept2010Presseunterlage krisenschulden sept2010
Presseunterlage krisenschulden sept2010
 
Creatief heeft de toekomst
Creatief heeft de toekomstCreatief heeft de toekomst
Creatief heeft de toekomst
 
Videoblogs und Webisodes / re-publica 08
Videoblogs und Webisodes / re-publica 08Videoblogs und Webisodes / re-publica 08
Videoblogs und Webisodes / re-publica 08
 
Speed Game Eu
Speed Game EuSpeed Game Eu
Speed Game Eu
 
PlattformTV - Rundfunk als Service
PlattformTV - Rundfunk als ServicePlattformTV - Rundfunk als Service
PlattformTV - Rundfunk als Service
 
Fotoprotokoll Vom Gremium Zum Arbeitsteam
Fotoprotokoll  Vom Gremium Zum ArbeitsteamFotoprotokoll  Vom Gremium Zum Arbeitsteam
Fotoprotokoll Vom Gremium Zum Arbeitsteam
 
Ebr Basics 02 2010
Ebr Basics 02 2010Ebr Basics 02 2010
Ebr Basics 02 2010
 
Ebr basics 01 2012
Ebr basics 01 2012Ebr basics 01 2012
Ebr basics 01 2012
 
Social Media - (schon wieder) ein E-Mail Killer?
Social Media - (schon wieder) ein E-Mail Killer?Social Media - (schon wieder) ein E-Mail Killer?
Social Media - (schon wieder) ein E-Mail Killer?
 
Didaktischer Mehrwert
Didaktischer MehrwertDidaktischer Mehrwert
Didaktischer Mehrwert
 
Ppt All In
Ppt All InPpt All In
Ppt All In
 
Personelles
PersonellesPersonelles
Personelles
 
Fischer Cert 1-4
Fischer Cert 1-4Fischer Cert 1-4
Fischer Cert 1-4
 
Vortrag ghana2.reise
Vortrag ghana2.reiseVortrag ghana2.reise
Vortrag ghana2.reise
 
Fotoprotokoll 62 A Und 63 A
Fotoprotokoll 62 A Und 63 AFotoprotokoll 62 A Und 63 A
Fotoprotokoll 62 A Und 63 A
 

Semelhante a Wide-column Stores für Architekten (HBase, Cassandra)

Market Research Meets Business Intelligence
Market Research Meets Business IntelligenceMarket Research Meets Business Intelligence
Market Research Meets Business IntelligenceDataLion
 
Metadaten und Data Vault (Meta Vault)
Metadaten und Data Vault (Meta Vault)Metadaten und Data Vault (Meta Vault)
Metadaten und Data Vault (Meta Vault)Andreas Buckenhofer
 
Das modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTigges
Das modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTiggesDas modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTigges
Das modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTiggesOPITZ CONSULTING Deutschland
 
Modellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data VaultModellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data VaultTrivadis
 
Modellierung agiler Data Warehouses mit Data Vault Dani Schnider
Modellierung agiler Data Warehouses mit Data Vault Dani SchniderModellierung agiler Data Warehouses mit Data Vault Dani Schnider
Modellierung agiler Data Warehouses mit Data Vault Dani SchniderDésirée Pfister
 
RDBMS oder NoSQL – warum nicht beides?
RDBMS oder NoSQL – warum nicht beides?RDBMS oder NoSQL – warum nicht beides?
RDBMS oder NoSQL – warum nicht beides?Capgemini
 
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen ExtraktionWebinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen ExtraktionCONOGY GmbH
 
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Peter Schrey
 
Systematische Konstruktion von API-Verträgen
Systematische Konstruktion von API-VerträgenSystematische Konstruktion von API-Verträgen
Systematische Konstruktion von API-VerträgenJan Christian Krause
 
DWH-Modellierung mit Data Vault
DWH-Modellierung mit Data VaultDWH-Modellierung mit Data Vault
DWH-Modellierung mit Data VaultTrivadis
 
B&IT-Broschüre: OpenText Extended ECM ermöglicht Büroarbeit mit SAP
B&IT-Broschüre: OpenText Extended ECM ermöglicht Büroarbeit mit SAPB&IT-Broschüre: OpenText Extended ECM ermöglicht Büroarbeit mit SAP
B&IT-Broschüre: OpenText Extended ECM ermöglicht Büroarbeit mit SAPWolfgang Hornung
 
Visuelle Gestaltung und Testdatenentwicklung mit BizDataX
Visuelle Gestaltung und Testdatenentwicklung mit BizDataXVisuelle Gestaltung und Testdatenentwicklung mit BizDataX
Visuelle Gestaltung und Testdatenentwicklung mit BizDataXDragan Kinkela
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Andreas Wissel
 
Cloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von MetadatenCloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von MetadatenMagnus Pfeffer
 
Cassandra – die NoSQL-Datenbank für große Mengen und schnelle Zugriffe
Cassandra – die NoSQL-Datenbank für große Mengen und schnelle ZugriffeCassandra – die NoSQL-Datenbank für große Mengen und schnelle Zugriffe
Cassandra – die NoSQL-Datenbank für große Mengen und schnelle ZugriffeLothar Wieske
 
Azure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data WarehouseAzure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data WarehousepmOne Analytics GmbH
 
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...BATbern
 

Semelhante a Wide-column Stores für Architekten (HBase, Cassandra) (20)

Market Research Meets Business Intelligence
Market Research Meets Business IntelligenceMarket Research Meets Business Intelligence
Market Research Meets Business Intelligence
 
Moderne & flexible Architektur mit BW/4HANA
Moderne & flexible Architektur mit BW/4HANAModerne & flexible Architektur mit BW/4HANA
Moderne & flexible Architektur mit BW/4HANA
 
Metadaten und Data Vault (Meta Vault)
Metadaten und Data Vault (Meta Vault)Metadaten und Data Vault (Meta Vault)
Metadaten und Data Vault (Meta Vault)
 
Das modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTigges
Das modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTiggesDas modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTigges
Das modulare DWH-Modell - DOAG SIG BI/DWH 2010 - OPITZ CONSULTING - ArnoTigges
 
Modellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data VaultModellierung agliler Data Warehouses mit Data Vault
Modellierung agliler Data Warehouses mit Data Vault
 
Modellierung agiler Data Warehouses mit Data Vault Dani Schnider
Modellierung agiler Data Warehouses mit Data Vault Dani SchniderModellierung agiler Data Warehouses mit Data Vault Dani Schnider
Modellierung agiler Data Warehouses mit Data Vault Dani Schnider
 
RDBMS oder NoSQL – warum nicht beides?
RDBMS oder NoSQL – warum nicht beides?RDBMS oder NoSQL – warum nicht beides?
RDBMS oder NoSQL – warum nicht beides?
 
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen ExtraktionWebinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
 
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
Microservice-Architektur-Prozess für Software-Plattformen und Microservice-Ec...
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
Systematische Konstruktion von API-Verträgen
Systematische Konstruktion von API-VerträgenSystematische Konstruktion von API-Verträgen
Systematische Konstruktion von API-Verträgen
 
DWH-Modellierung mit Data Vault
DWH-Modellierung mit Data VaultDWH-Modellierung mit Data Vault
DWH-Modellierung mit Data Vault
 
B&IT-Broschüre: OpenText Extended ECM ermöglicht Büroarbeit mit SAP
B&IT-Broschüre: OpenText Extended ECM ermöglicht Büroarbeit mit SAPB&IT-Broschüre: OpenText Extended ECM ermöglicht Büroarbeit mit SAP
B&IT-Broschüre: OpenText Extended ECM ermöglicht Büroarbeit mit SAP
 
Visuelle Gestaltung und Testdatenentwicklung mit BizDataX
Visuelle Gestaltung und Testdatenentwicklung mit BizDataXVisuelle Gestaltung und Testdatenentwicklung mit BizDataX
Visuelle Gestaltung und Testdatenentwicklung mit BizDataX
 
Webinar big data für unternehmen
Webinar big data für unternehmenWebinar big data für unternehmen
Webinar big data für unternehmen
 
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
Robuste Design Systems mit Storybook und Angular: vom Konzept zur lebendigen ...
 
Cloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von MetadatenCloud Computing für die Verarbeitung von Metadaten
Cloud Computing für die Verarbeitung von Metadaten
 
Cassandra – die NoSQL-Datenbank für große Mengen und schnelle Zugriffe
Cassandra – die NoSQL-Datenbank für große Mengen und schnelle ZugriffeCassandra – die NoSQL-Datenbank für große Mengen und schnelle Zugriffe
Cassandra – die NoSQL-Datenbank für große Mengen und schnelle Zugriffe
 
Azure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data WarehouseAzure SQL Database vs. Azure SQL Data Warehouse
Azure SQL Database vs. Azure SQL Data Warehouse
 
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
Automatisierungsmöglichkeiten beim Legacy-Reengineering - Andres Koch, Object...
 

Mais de Andreas Buckenhofer

Are Data Lakes the new Core DWHs?
Are Data Lakes the new Core DWHs?Are Data Lakes the new Core DWHs?
Are Data Lakes the new Core DWHs?Andreas Buckenhofer
 
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Andreas Buckenhofer
 
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Andreas Buckenhofer
 
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Andreas Buckenhofer
 
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Andreas Buckenhofer
 
CDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der AutomobilindustrieCDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der AutomobilindustrieAndreas Buckenhofer
 
Fehlerbehandlung mittels DML Error Logging
Fehlerbehandlung mittels DML Error LoggingFehlerbehandlung mittels DML Error Logging
Fehlerbehandlung mittels DML Error LoggingAndreas Buckenhofer
 

Mais de Andreas Buckenhofer (7)

Are Data Lakes the new Core DWHs?
Are Data Lakes the new Core DWHs?Are Data Lakes the new Core DWHs?
Are Data Lakes the new Core DWHs?
 
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
 
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
 
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
 
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
 
CDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der AutomobilindustrieCDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
CDC und Data Vault für den Aufbau eines DWH in der Automobilindustrie
 
Fehlerbehandlung mittels DML Error Logging
Fehlerbehandlung mittels DML Error LoggingFehlerbehandlung mittels DML Error Logging
Fehlerbehandlung mittels DML Error Logging
 

Wide-column Stores für Architekten (HBase, Cassandra)

  • 1. Abteilung / Bereich / Datum (Tag.Monat.Jahr) Wide-column Stores für Architekten Analytics / Andreas Buckenhofer / 23.04.2015
  • 2. Wide-column Stores für Architekten / Andreas Buckenhofer 2 1. NoSQL 2. Motivation Wide-column Stores 3. Datenmodellierung Wide-column Stores 4. Architektur 5. Use Cases 6. Zusammenfassung Titel der Präsentation Überblick
  • 3. 3 Zur Person Andreas Buckenhofer Andreas Buckenhofer Senior DB Professional E-Mail: andreas.buckenhofer@daimler.com Seit 2009 bei Daimler TSS im Fachgebiet Data Warehouse & Data Integration (Cognos/Informatica) - Department Analytics Schwerpunkt DWH/CRM seit 1998 als • Entwickler • Administrator • Berater Wide-column Stores für Architekten / Andreas Buckenhofer
  • 4. TSS Unternehmenspräsentation / März 2015 / V9.8 Ganzheitliche Betreuung (Erhebung, Auswertung, Visualisierung und Interpretation), unabhängige Beratung und Optimierung der Geschäftsabläufe. Von klassischer BI bis hin zu predictive und prescriptive Analytics bieten wir Leistungen unter Berücksichtigung der Datensicherheit. Dabei verknüpfen wir fachliche Erfahrung und IT-Know-how im Daimler-Kontext mit dem Blick fürs große Ganze.Analytics. Das große Ganze verstehen, um Daten nutzbar machen.
  • 5. Daimler TSS China Hub Beijing 1 Mitarbeiter Standorte Daimler TSS Asia Hub Kuala Lumpur 36 Mitarbeiter MY Daimler TSS India Hub Bangalore 21 Mitarbeiter IN Ulm (Hauptsitz) Raum Stuttgart Böblingen, Echterdingen, Leinfelden, Möhringen Berlin DE Daimler TSS Deutschland 6 Standorte 660 Mitarbeiter CN TSS Unternehmenspräsentation / März 2015 / V9.8
  • 6. Wide-column Stores für Architekten / Andreas Buckenhofer 6 1. NoSQL 2. Motivation Wide-column Stores 3. Datenmodellierung Wide-column Stores 4. Architektur 5. Use Cases 6. Zusammenfassung Wide-column Stores für Architekten Überblick
  • 7. Wide-column Stores für Architekten / Andreas Buckenhofer 7 • Key Value Stores • Document Stores / Dokumentenorientierte Datenbanken • Graph DBs • Wide-column stores (column-oriented stores) NoSQL Datenbanken
  • 8. NoSQL Key Value Stores Einfaches Datenmodell mit Paaren aus eindeutigem Schlüssel und Wert/Werteliste. Der Zugriff auf die Daten erfolgt ausschließlich über den Schlüssel. Daten sollten idealerweise in den Speicher passen für schnelle Lesezugriffe (Caching) Beispiel: Redis, Aerospike, Oracle NoSQL. Key Value userID1 ISBN1 userID2 ISBN2, ISBN8, ISBN9 userID3 Wide-column Stores für Architekten / Andreas Buckenhofer 8
  • 9. NoSQL Document Stores Strukturen (XML, JSON, BSON) werden in der Datenbank abgelegt. Variables Schema. Werte sind selbstbeschreibend (enthalten Metadaten). Zugriff über Schlüssel oder Indexierung möglich. Die Datenbank interpretiert das Modell nicht. Beispiel: MongoDB, CouchDB. ID: 12345 Name: Mustermann Geboren: 04.02.1992 ID: 637 Name: Berger Adresse: ab 01.01.2005 PLZ: 89004 Stadt: Ulm ab 01.07.2010 PLZ: 80990 Stadt: München Wide-column Stores für Architekten / Andreas Buckenhofer 9
  • 10. NoSQL Graph DBs Das Datenmodell beinhaltet Elemente für die Modellierung von Knoten und Kanten sowie deren Eigenschaften. Die gesuchten Information sind weniger die Daten selbst, sondern die Verknüpfungen zwischen den Daten. Optimiert für Graphabfragen, z.B. Graphtraversal. Beispiel: Neo4J. user1 user2 user4 user3 user5 Wide-column Stores für Architekten / Andreas Buckenhofer 10
  • 11. NoSQL Wide Column Stores Daten sind spaltenweise organisiert als Schlüssel und Werte („columns“). Diese Daten können durch übergeordnete Schlüssel weiter gruppiert werden („column family“). Zugriff über Schlüssel. Hohe Skalierbarkeit mit Standard HW. Beispiel: HBase, Cassandra. Name (Key) Value TimestampRowKey Name (Key) Value TimestampRowKey Name (Key) Value TimestampRowKey Wide-column Stores für Architekten / Andreas Buckenhofer 11
  • 12. Wide-column Stores für Architekten / Andreas Buckenhofer 12 1. NoSQL 2. Motivation Wide-column Stores 3. Datenmodellierung Wide-column Stores 4. Architektur 5. Use Cases 6. Zusammenfassung Wide-column Stores für Architekten Überblick
  • 13. Wide-column Stores für Architekten / Andreas Buckenhofer 13 BigData – Volume, Velocity, Variety • Speicherung großer Datenmengen und interaktive Abfragen • Flexible Speicherung von Daten • Variable Spalten • Hohe Skalierbarkeit Motivation Warum Wide-column Store?
  • 14. Wide-column Stores für Architekten / Andreas Buckenhofer 14 Basis für Wide-column Stores: • Datenmodell: Google BigTable research.google.com/archive/bigtable-osdi06.pdf • Architektur Amazon Dynamo für Cassandra Bekannteste Produkte (Apache) Motivation Wide-column Stores
  • 15. Wide-column Stores für Architekten / Andreas Buckenhofer 15 Motivation HBase = Hadoop NoSQL Database
  • 16. Wide-column Stores für Architekten / Andreas Buckenhofer 16 Motivation HBase - Low Latency HDFS / Hive / MapReduce (Hadoop) HBase basiert auf HDFS Batch Interaktiv (ms) Sequentielles Lesen und Schreiben wahlfreies Lesen und Schreiben Optimiert für Full Scan Optimiert für einzelne Datensätze bzw Short Scan append-only, keine updates und deletes insert=updates und deletes
  • 17. Wide-column Stores für Architekten / Andreas Buckenhofer 17 Motivation Cassandra entwickelt bei:
  • 18. Wide-column Stores für Architekten / Andreas Buckenhofer 18 Motivation HBase / Cassandra Beginn 2006 2008 2010 2012 HBase Entwicklung beginnt HBase Apache Projekt Cassandra 0.1 HBase 0.2 Cassandra Apache Projekt
  • 19. Wide-column Stores für Architekten / Andreas Buckenhofer 19 1. NoSQL 2. Motivation Wide-column Stores 3. Datenmodellierung Wide-column Stores 4. Architektur 5. Use Cases 6. Zusammenfassung Wide-column Stores für Architekten Überblick
  • 20. Wide-column Stores für Architekten / Andreas Buckenhofer 20 Datenmodellierung Wide-column Stores Spalte (column) Name (Key) Value Timestamp Basis: Spalte (wide-column stores, column-oriented DBs) Key-Value Paare mit Zeitstempel Name (Key) ist Identifikator für Spalte Spalten werden dynamisch erzeugt (keine Definition vorab)
  • 21. Wide-column Stores für Architekten / Andreas Buckenhofer 21 Datenmodellierung Wide-column Stores Spalte Keine Datentypen • Byte[] • Schema-los, schema-on-read • Gilt auch für RowKey Kleine Zellgrößen 0-5MB Kurze Namen/Keys für bessere Performance / weniger Datenvolumen (sofern Namen/Keys feststehen) Speicherung von Werten als Spaltennamen und leerem Wert möglich
  • 22. Wide-column Stores für Architekten / Andreas Buckenhofer 22 Datenmodellierung Wide-column Stores Zeile (row) Zeile: Menge von sortierten Spalten Spalten sind sortiert anhand von Name (Key) Name (Key) Value Timestamp Name (Key) Value Timestamp Name (Key) Value Timestamp RowKey
  • 23. Wide-column Stores für Architekten / Andreas Buckenhofer 23 Datenmodellierung Wide-column Stores Zeile (row) RowKey Design: wichtigster Teil der Datenmodellierung • RowKeys sind die einzigen Indexe • Gewährleistet schnellen Lesezugriff • Antipattern: nur Zeitstempel als Rowkey, Gefahr von Hotspots beim Schreiben • Oft zusammengesetzt (z.B. Metrik + Zeitstempel) • Unterschiedlich lange Felder in zusammengesetzen Keys (Scan-Zugriff ist aufwändiger) • Oft Hashing Zeilenänderungen sind atomar, auch bei Tausenden von Spalten
  • 24. Wide-column Stores für Architekten / Andreas Buckenhofer 24 Datenmodellierung Wide-column Stores Column Family Column Family: Menge von sortierten Zeilen Ein oder mehrere Column Families werden zu einer Tabelle zusammengefasst Zeile ist sortiert und indexiert durch RowKey Name (Key) Value TimestampRowKey Name (Key) Value TimestampRowKey Name (Key) Value TimestampRowKey
  • 25. Wide-column Stores für Architekten / Andreas Buckenhofer 25 Datenmodellierung Wide-column Stores Column Family Column Families können sehr breit werden, aber auch sehr schmal sein Namen (column family qualifier) von Column Families werden vorab definiert Keine Joins • Denormalisierung • Duplizierung der Daten falls nötig • Verknüpfung / Join der Daten im Programmcode Qualifizierter Zugriff auf eine Zelle: {RowKey => {column family => {column qualifier (Name / Key) => {timestamp}}}}
  • 26. Wide-column Stores für Architekten / Andreas Buckenhofer 26 Datenmodellierung Wide-column Stores Modellierungsmuster Entitäten Column Family als optimierte Abfrage Events / Zeitreihen
  • 27. Wide-column Stores für Architekten / Andreas Buckenhofer 27 Datenmodellierung Wide-column Stores Entitäten Einfacher RowKey Einheitliche, bekannte Spaltennamen Oft wenige Spalten Schemalos
  • 28. Wide-column Stores für Architekten / Andreas Buckenhofer 28 Datenmodellierung Wide-column Stores Entitäten - Stücklistenauflösung P | +-------+ | 1x | 1x C1 B | +-------+------+ | 1x | 1x | 2x C1 C2 C3 Auftrags- prognose Produkt- katalog Teilebedarf
  • 29. Wide-column Stores für Architekten / Andreas Buckenhofer 29 Datenmodellierung Wide-column Stores Entitäten - Stücklistenauflösung Part C2 1 t2 Part C1 2 t1 … … … FahrzeugID1 Part D1 3 t5 Part C5 20 t1 … … … FahrzeugID2
  • 30. Wide-column Stores für Architekten / Andreas Buckenhofer 30 Datenmodellierung Wide-column Stores Column Family als optimierte Abfrage Keine Indexe Abfrage-orientiertes Datenmodell Denormalisierung und Duplizierung Spaltenwerte sind die Row Keys von Entitäten
  • 31. Wide-column Stores für Architekten / Andreas Buckenhofer 31 Datenmodellierung Wide-column Stores Column Family als optimierte Abfrage Abfrage: In welchen aufgelösten Stücklisten kommt Teil C2 vor? Scan über alle Zeilen (d.h. über alle Regionserver) Kein universelles Datenmodell bzw SQL wie bei RDBMS: Bei der Datenmodellierung bei Wide-column Stores ist die Berücksichtigung von Abfragen von Beginn an nötig.
  • 32. Wide-column Stores für Architekten / Andreas Buckenhofer 32 Datenmodellierung Wide-column Stores Entitäten - Stücklistenauflösung FahrzeugID3 (NULL) t2 FahrzeugID1 (NULL) t1 … … … PartID C1 FahrzeugID4 (NULL) t2 FahrzeugID3 (NULL) t1 … … … PartID D8
  • 33. Wide-column Stores für Architekten / Andreas Buckenhofer 33 Datenmodellierung Wide-column Stores Events / Zeitreihen RowKey als Zeitelement Meist zusammengesetzter RowKey zur Vermeidung von Hot Spots Hashing einzelner RowKey-Komponenten Spaltenwerte als Events Spaltenwerte als Messwerte Column Families können sehr breit werden
  • 34. Wide-column Stores für Architekten / Andreas Buckenhofer 34 Datenmodellierung Wide-column Stores Events / Zeitreihen Änderungen führen zu einer Versionierung von Stücklisten (d.h. Abspeicherung einzelner Versionen) FahrzeugID3 (NULL) t2 FahrzeugID1 (NULL) t1 … … … MD5(PartID) + MD5(Änderungsdatum)
  • 35. Wide-column Stores für Architekten / Andreas Buckenhofer 35 Datenmodellierung Wide-column Stores Events / Zeitreihen - OpenTSDB Time-Offset Messung t2 Time-Offset Messung t1 … … … MetricKey + Basetimestamp +10 (48.136,11.578) t2 +0 (48.137,11.577) t1 +12 (48.135,11.578) t3 01 + 1429552800 01 = codierte Metrik wie GPS-Daten, CPU, usw + Zeitstempel stündlich 20.4.2015 20:00:00
  • 36. Wide-column Stores für Architekten / Andreas Buckenhofer 36 Datenmodellierung Wide-column Stores Operationen Put • Zeile Einfügen (insert bzw update) Delete • Zeile löschen Get • Zeile lesen Scan • Lesen mehrerer Zeilen (profitiert von Sortierung) • Angabe von Filter möglich
  • 37. Wide-column Stores für Architekten / Andreas Buckenhofer 37 1. NoSQL 2. Motivation Wide-column Stores 3. Datenmodellierung Wide-column Stores 4. Architektur 5. Use Cases 6. Zusammenfassung Wide-column Stores für Architekten Überblick
  • 38. Wide-column Stores für Architekten / Andreas Buckenhofer 38 Architektur Überblick (HBase) HMaster HRegionServer1 HRegionServer2 HRegionServerN HDFS-Datanode1 HDFS-Datanode2 HDFS-DatanodeN Client Zookeeper Location to Meta-Tab
  • 39. Wide-column Stores für Architekten / Andreas Buckenhofer 39 Architektur Datenverteilung HRegionServer1 HRegionServer2 HRegionServerN Region2 Region3 RegionX RegionY Region1 RowKey A RowKey B RowKey C RowKey D RowKey I RowKey J Region1
  • 40. Wide-column Stores für Architekten / Andreas Buckenhofer 40 Architektur RegionserverWAL(write-aheadLog) Region1 HFile HDFS - Datanode1 HFile Mem Store Region2 HFile HFile Mem Store HFile Block Cache RAM Festplatte
  • 41. Wide-column Stores für Architekten / Andreas Buckenhofer 41 Architektur Regionserver – Schreiben (Write)WAL(write-aheadLog) Region1 HFile HDFS - Datanode1 HFile Mem Store Region2 HFile HFile Mem Store HFile 1 2 Block Cache HFile (neu) …3 4
  • 42. Wide-column Stores für Architekten / Andreas Buckenhofer 42 Architektur Regionserver – Lesen (Read)WAL(write-aheadLog) Region1 HFile HDFS - Datanode1 HFile Mem Store Region2 HFile HFile Mem Store HFile 1 2 3 4 Block Cache 3
  • 43. Wide-column Stores für Architekten / Andreas Buckenhofer 43 Architektur Dateityp: Log WAL (Write-ahead Logs) • Schreibezugriffe erfolgen zuerst in WAL • Sequentielles Schreiben • Nur Hinzufügen von Daten • Neue Datei wird regelmäßig erstellt • Eine aktive Datei pro Server
  • 44. Wide-column Stores für Architekten / Andreas Buckenhofer 44 Architektur Dateityp: Datendateien HFiles • unveränderlich (Daten werden einmalig eingefügt) • ein oder mehrere Dateien pro Column Family (performancekritisch, falls zu viele Dateien) • Wahlfreies (random) oder Sequentielles Lesen • Mehrere GB groß • werden erstellt durch Flush aus MemStore oder durch „Compaction“ • Bloom Filter (In-memory Bitmap Index zum Auffinden der RowKeys) Links / References • Werden erstellt bei „Region split“
  • 45. Wide-column Stores für Architekten / Andreas Buckenhofer 45 Architektur Compactions Zusammenführen von Datendateien und Sortierung von RowKeys Server bleibt online Kleinere Regionen führen zu performanteren Zusammenführungen Minor • Zusammenführen von HFiles (>= 2) in eine neue HFile-Datei Major • zusätzlich: Löschen der Daten bei Delete-Operationen • zusätzlich: Löschen von ungültigen (expired) Zellen • Reduzierung auf 1 HFile
  • 46. Wide-column Stores für Architekten / Andreas Buckenhofer 46 Architektur Anbindung API • Viel Code • Anwendung ist sehr stark am Datenmodell ausgerichtet SQL • Cassandra: CQL • HBase: SQL over Hive • HBase: Phoenix
  • 47. Wide-column Stores für Architekten / Andreas Buckenhofer 47 1. NoSQL 2. Motivation Wide-column Stores 3. Datenmodellierung Wide-column Stores 4. Architektur 5. Use Cases 6. Zusammenfassung Wide-column Stores für Architekten Überblick
  • 48. Wide-column Stores für Architekten / Andreas Buckenhofer 48 Use Cases Materialized Views Quelldaten Auswertungen / Analyse Analytische oder Adhoc-Abfragen Interaktive Abfragen Mat Views
  • 49. Wide-column Stores für Architekten / Andreas Buckenhofer 49 Use Cases Lambda Architektur Batch Layer All Data Speed Layer RealTime Views Serving Layer Batch Views Query (merge) Data Stream, z.B. EventLogs
  • 50. Wide-column Stores für Architekten / Andreas Buckenhofer 50 Use Cases SuchIndex, Text Analytics (Text-) Quelldaten, z.B. Logs Indizierung Dokumente
  • 51. Wide-column Stores für Architekten / Andreas Buckenhofer 51 1. NoSQL 2. Motivation Wide-column Stores 3. Datenmodellierung Wide-column Stores 4. Architektur 5. Use Cases 6. Zusammenfassung Wide-column Stores für Architekten Überblick
  • 52. Wide-column Stores für Architekten / Andreas Buckenhofer 52 Zusammenfassung Datenmodellierung auch für BigData • Skalierbarkeit • Hohe Schreibperformance • Interaktive Abfragen (ms) • Wahlfreies Lesen und Schreiben • Datenmodell hat mehr Struktur im Vergleich zu anderen NoSQL-DBs • Apache Open Source • Community • Viele Personen + Apache, nicht nur kommerzielle Unternehmen wie Hortonworks, Cloudera, DataStax, etc
  • 53. Wide-column Stores für Architekten / Andreas Buckenhofer 53 Zusammenfassung Wide-column Stores Datenmodellierung auch im Hadoop bzw NoSQL-Umfeld wichtig, um • Daten zu verstehen • Performanz zu garantieren • Entwicklung zu beschleunigen • Qualität der Software zu verbessern • Wartungskosten zu reduzieren • Gemeinsames Verständnis zu fördern • Schema-on-read: Modellversionen auch nach Jahren noch verstehen “Data modeling is the process of learning about the data, and regardless of technology, this process must be performed for a successful application.” Quelle Zitat: Steve Hoberman: Data Modeling for Mongo DB, Technics Publications 2014
  • 54. Wide-column Stores für Architekten / Andreas Buckenhofer 54 Vielen Dank! Daimler TSS GmbH Wilhelm-Runge-Straße 11 89081 Ulm Telefon +49 731 505-06 Fax +49 731 505-65 99 tss@daimler.com Internet: www.daimler-tss.com Daimler TSS GmbH Sitz und Registergericht: Ulm, HRB-Nr.: 3844 Geschäftsführung: Dr. Stefan Eberhardt (Vorsitzender), Steffen Bäuerle
  • 55. Wide-column Stores für Architekten / Andreas Buckenhofer 55 HBase vs Cassandra Eigenschaften 1(2) HBase Cassandra Infrastuktur Wird i.d.R. mit Hadoop verwendet (Standalone möglich). Nutzung häufig in BigData / DWH / Analytics Architekturen. Standalone. Nutzung häufig zur Auswertung Real/Right Time Transaktionen. Serverknoten Master und Slaves (Regions). Alle Knoten sind gleichberechtigt. Kein Masterknoten. Cluster, Replikation Replikation zu einem gespiegelten Cluster möglich. Replikation über Rechenzentrumsgrenzen nicht empfohlen. Knoten sind als Ring angeordnet. Daten werden repliziert, auch über Rechenzentrumsgrenzen hinweg möglich.
  • 56. Wide-column Stores für Architekten / Andreas Buckenhofer 56 HBase vs Cassandra Eigenschaften 2(2) HBase Cassandra Sortierung RowKey Automatisch, nicht änderbar. Kurze Scans nach RowKeys möglich und sinnvoll. Konfigurierbar, ob Sortierung nach RowKey erwünscht ist. Coprocessors Erweiterung von HBase vergleichbar mit Stored Procedures, Trigger Nicht unterstützt CAP-Theorem CP CP oder AP möglich Sekundäre Indexe Nein (nur über Phoenix) Ja
  • 57. Wide-column Stores für Architekten / Andreas Buckenhofer 57 Datenmodellierung Sekundäre Indexe (Cassandra) Cassandra: Indexierung von Spaltenwerten möglich • Für Werte mit geringer (!) Kardinalität • Gegenteil von Indexen in relationalen DBs (hohe Kardinalität)
  • 58. Wide-column Stores für Architekten / Andreas Buckenhofer 58 Datenmodellierung Latenz vs Durchsatz Niedrige Latenz Durchsatz Put Get Short Scan Bulk Import Full Scan
  • 59. Wide-column Stores für Architekten / Andreas Buckenhofer 59 Zusammenfassung Workloads Hadoop Durchsatz Interaktiv Wahlfrei Sequentiell / Full Scan HBase Spark on HDFS HDFS / MapReduce
  • 60. Wide-column Stores für Architekten / Andreas Buckenhofer 60 Architektur Cassandra Memtables SSTable SSTable SSTable SSTable SSTable Compaction Flush CommitLog CommitLog Daten RAM Festplatte
  • 61. Wide-column Stores für Architekten / Andreas Buckenhofer 61 Architektur Cassandra – Ring ohne Masterknoten row1 row1 row1