41
NoSQL Datenhaltung Gangnam Style Dr. Stephan Volmer

NoSQL Datenhaltung Gangnam Style

  • Upload
    zuehlke

  • View
    167

  • Download
    0

Embed Size (px)

Citation preview

Page 1: NoSQL Datenhaltung Gangnam Style

NoSQL

Datenhaltung Gangnam Style

Dr. Stephan Volmer

Page 2: NoSQL Datenhaltung Gangnam Style

Technology

Market

Big Data

Page 3: NoSQL Datenhaltung Gangnam Style

non-relationalsimple interface

schema-free

distributed

eventually consistent

big data

open source

relaxed consistency

semi-structured data

easy replication

Page 4: NoSQL Datenhaltung Gangnam Style

Key Value Stores

Document DatabasesGraph Databases

Wide Column Stores

Column Family StoresObject Databases

XML Databases Multi-Model Databases

Grid & Cloud Database SolutionsMulti-Value Databases

Triple Stores

Page 5: NoSQL Datenhaltung Gangnam Style

HBase

Cassandra

SimpleDB CouchDB

MongoDB

Redis

Chordless

Riak

Neo4j

sones

InfoGrid

HyperGraphDB

InfiniteGraph

OrientDB

HyperTable

Cloudera

Dynamo

Hadoop

Membase

Voldemort

Tokyo Cabinet

Scalaris

Memcached

BerkeleyDB

Jena

Keyspace

FlockDB

RavenDB

Terracotta

LevelDB

BrightstarDB

Azure Table Storage

Aster Data

Parstream

BigTable

Vertica

Page 6: NoSQL Datenhaltung Gangnam Style

•Retroperspektive

•Definition

•Verteilte Systeme

•Skalierungsmodelle

•Datenmodelle

•Fazit

Themenschwerpunkte

Page 7: NoSQL Datenhaltung Gangnam Style

Retroperspektive

•Etymologie

•Definition

•Geschichte

Page 8: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Etymologie

NoSQL | Dr. Stephan Volmer 2. July 2013 Slide 8

Eric Evans

Software ArchitectThe OpenNMS Group

Debian DeveloperCassandra Committer

Page 9: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Definition

NoSQL | Dr. Stephan Volmer 2. July 2013 Slide 9

Page 10: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Geschichte

NoSQL | Dr. Stephan Volmer

SQL

2. July 2013 Slide 10

NoSQL

1970 1990 2000 20101980

Page 11: NoSQL Datenhaltung Gangnam Style

Definition

Page 12: NoSQL Datenhaltung Gangnam Style

Was haben relationaleDatenbanken so populär gemacht?

Investitionen

Standards

Garantien

Mehrwert

Page 13: NoSQL Datenhaltung Gangnam Style

Was sind heute die größtenHerausforderungen für

relationale Datenbanken?

Daten!

VarietyVelocityVolume

Page 14: NoSQL Datenhaltung Gangnam Style

Consistency

Scalabilty

Scale-Up

Scale-Out

ACID

BASE

Page 15: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

ACID•Atomicity

•Consistency

•Isolation

•Durable

Haerder, T., Reuter, A.: Principles of transaction-oriented database recovery. ACM Computing Surveys 15 (4): 287–317, December 1983.

Garantien

NoSQL | Dr. Stephan Volmer

BASE•Basically Available

•Soft State

•Eventually Consistent

Vogels, W.: Eventually consistent. All Things Distributed Blog, December 2007. Available from http://www.allthingsdistributed.com/2007/12/eventually_consistent.html

2. July 2013 Slide 15

Page 16: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Neue Generation von Datenbanken

•Horizontal scalability

•Non-relational data model

•Relaxed consistency model

•Semi-structured data

•Simple data replication

•Simple interface

•Open source

NoSQL | Dr. Stephan Volmer 2. July 2013 Slide 16

Page 17: NoSQL Datenhaltung Gangnam Style

Verteilte Systeme

•CAP Theorem

Page 18: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

CAP Theorem

NoSQL | Dr. Stephan Volmer

A

P

CConsistency

Availability

Partition Tolerance

C

A

P2. July 2013 Slide 18

Page 19: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

CAP Theorem

A

P

CC

A

NoSQL | Dr. Stephan Volmer

PSlide 192. July 2013 Slide 19

Page 20: NoSQL Datenhaltung Gangnam Style

Ein verteiltes System kann zweibeliebige dieser Eigenschaften

gleichzeitig garantieren,

jedoch nicht alle drei!

Page 21: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

P

C

A

CAP Theorem

NoSQL | Dr. Stephan Volmer

PA

CSQLOracle DB2

MySQLPostgres

Sybase

SQLite H2

SQL Server

NoSQLAster Data Greenplum Vertica

2. July 2013 Slide 21

Page 22: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

CAP Theorem

NoSQL | Dr. Stephan Volmer

PA

P

A

C

NoSQLHyperTable

HBase

BigTable

TerraStore

Scalaris

MongoDB

MemcacheDB

Redis

BerkeleyDB

2. July 2013 Slide 22

Page 23: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

A

CAP Theorem

NoSQL | Dr. Stephan Volmer

PA

C

CNoSQLVoldemort

Tokyo Cabinet

Dynamo

Cassandra CouchDB

Riak

SimpleDB

2. July 2013 Slide 23

Page 24: NoSQL Datenhaltung Gangnam Style

Skalierungsmodelle

•Single Server / Server Cluster

•Sharding

•Master-Slave Replication

•Peer-to-Peer Replication

•Hybrid Sharding & Replication

Page 25: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Single Server / Server Cluster

NoSQL | Dr. Stephan Volmer 2. July 2013 Slide 25

Page 26: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Sharding

NoSQL | Dr. Stephan Volmer 2. July 2013 Slide 26

Page 27: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Master-Slave Replication

NoSQL | Dr. Stephan Volmer

Master

Slaves

2. July 2013 Slide 27

Page 28: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Peer-to-Peer Replication

NoSQL | Dr. Stephan Volmer

Peers

2. July 2013 Slide 28

Page 29: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Hybrid Sharding & Replication

NoSQL | Dr. Stephan Volmer

Peers

2. July 2013 Slide 29

Page 30: NoSQL Datenhaltung Gangnam Style

•Key / Value Stores

•Document Stores

•Column Index Stores

•Column Family Stores

•Triple Stores

•Graph Databases

Datenmodelle

Page 31: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Konventionelle, relationale Datenbanken

NoSQL | Dr. Stephan Volmer

ID : 1Name : MichaelAge: 42

ID : 3Name : JoeAge: 28

ID : 2Name : ChristopherAge: 36

PersonId Name Age

1 Michael 42

3 Christopher 36

2 Joe 28

Index

2

3

1

2. July 2013 Slide 31

Page 32: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Person

Key / Value Stores

NoSQL | Dr. Stephan Volmer

ID : 1Name : MichaelAge: 42

ID : 3Name : JoeAge: 28

ID : 2Name : ChristopherAge: 36

Key Value

64ca4238 TWljaGFlbCwgNDI=

c81e728d Q2hyaXN0b3BoZXIsIDM2

eccbc87e Sm9lLCAyOA==

2. July 2013 Slide 32

Page 33: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Person

Document Stores

NoSQL | Dr. Stephan Volmer

ID : 1Name : MichaelAge: 42

ID : 3Name : JoeAge: 28

ID : 2Name : ChristopherAge: 36

Key Value

64ca4238 { “ID”:”1”, “Name”:”Michael”, “Age”:”42” }

c81e728d { “ID”:”3”, “Name”:”Joe”, “Age”:”28” }

eccbc87e { “ID”:”2”, “Name”:”Christopher”, “Age”:”36” }

2. July 2013 Slide 33

Page 34: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Column Index Stores

NoSQL | Dr. Stephan Volmer

ID : 1Name : MichaelAge: 42

ID : 3Name : JoeAge: 28

ID : 2Name : ChristopherAge: 36

PersonId

Name

Age

1 3 2Michael Joe Christopher

42 28 36

1 2 3Christopher Joe Michael

28 36 42

2. July 2013 Slide 34

Page 35: NoSQL Datenhaltung Gangnam Style

© Zühlke 2013

Column Family Stores

NoSQL | Dr. Stephan Volmer

GamesPlayers

Goose Name:Michael, Age:42RedBird Name:ChristopherApollo Name:Joe, Age:28, Level:Ace

Matches

chess 2010-05-2015:10:23

2010-05-2317:37:59

Player1:Goose, Player2:Apollo, Winner:2

Player1:Apollo, State:SGVsbG8gV29yb…

tetris Player:RedBird, Score:8756

KeyspaceColumn Families

Column

Super Column

2. July 2013 Slide 35

Page 36: NoSQL Datenhaltung Gangnam Style

Fazit

Page 37: NoSQL Datenhaltung Gangnam Style

To SQL or to NoSQL?Das ist nicht die Frage!

NoSQL is not about any one feature of any of the projects. NoSQL is not about scaling, NoSQL is not about performance, NoSQL is not about

hating SQL, NoSQL is not about ease of use, NoSQL is not about sharding, NoSQL is not about throughput, NoSQL is not about speed,

NoSQL is not about dropping ACID, NoSQL is not about Eventual Consistency, NoSQL is not about CAP, NoSQL is not about open

standards, NoSQL is not about Open Source and NoSQL is most likely not about whatever else you want NoSQL to be about.

NoSQL is about choice!Jan Lehnardt, CouchDB

Page 38: NoSQL Datenhaltung Gangnam Style

Die Zukunft gehörtPolyglot Persistence!

Page 39: NoSQL Datenhaltung Gangnam Style

SQL- & NoSQL-Technologienwerden zukünftig konvergieren!

Page 40: NoSQL Datenhaltung Gangnam Style

“Know your battlefield, pick your battles!”

Consistency Scalabilty

Configuration

SecurityReplication

Client Access

Installation

Page 41: NoSQL Datenhaltung Gangnam Style

Dr. Stephan VolmerLead Software Architect

Telefon +49 6196 777 54 0 Email [email protected] @stvzegXing http://xing.to/stv