NoSQL Datenhaltung Gangnam Style

Preview:

Citation preview

NoSQL

Datenhaltung Gangnam Style

Dr. Stephan Volmer

Technology

Market

Big Data

non-relationalsimple interface

schema-free

distributed

eventually consistent

big data

open source

relaxed consistency

semi-structured data

easy replication

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

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

•Retroperspektive

•Definition

•Verteilte Systeme

•Skalierungsmodelle

•Datenmodelle

•Fazit

Themenschwerpunkte

Retroperspektive

•Etymologie

•Definition

•Geschichte

© Zühlke 2013

Etymologie

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

Eric Evans

Software ArchitectThe OpenNMS Group

Debian DeveloperCassandra Committer

© Zühlke 2013

Definition

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

© Zühlke 2013

Geschichte

NoSQL | Dr. Stephan Volmer

SQL

2. July 2013 Slide 10

NoSQL

1970 1990 2000 20101980

Definition

Was haben relationaleDatenbanken so populär gemacht?

Investitionen

Standards

Garantien

Mehrwert

Was sind heute die größtenHerausforderungen für

relationale Datenbanken?

Daten!

VarietyVelocityVolume

Consistency

Scalabilty

Scale-Up

Scale-Out

ACID

BASE

© 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

© 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

Verteilte Systeme

•CAP Theorem

© Zühlke 2013

CAP Theorem

NoSQL | Dr. Stephan Volmer

A

P

CConsistency

Availability

Partition Tolerance

C

A

P2. July 2013 Slide 18

© Zühlke 2013

CAP Theorem

A

P

CC

A

NoSQL | Dr. Stephan Volmer

PSlide 192. July 2013 Slide 19

Ein verteiltes System kann zweibeliebige dieser Eigenschaften

gleichzeitig garantieren,

jedoch nicht alle drei!

© 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

© 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

© 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

Skalierungsmodelle

•Single Server / Server Cluster

•Sharding

•Master-Slave Replication

•Peer-to-Peer Replication

•Hybrid Sharding & Replication

© Zühlke 2013

Single Server / Server Cluster

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

© Zühlke 2013

Sharding

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

© Zühlke 2013

Master-Slave Replication

NoSQL | Dr. Stephan Volmer

Master

Slaves

2. July 2013 Slide 27

© Zühlke 2013

Peer-to-Peer Replication

NoSQL | Dr. Stephan Volmer

Peers

2. July 2013 Slide 28

© Zühlke 2013

Hybrid Sharding & Replication

NoSQL | Dr. Stephan Volmer

Peers

2. July 2013 Slide 29

•Key / Value Stores

•Document Stores

•Column Index Stores

•Column Family Stores

•Triple Stores

•Graph Databases

Datenmodelle

© 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

© 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

© 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

© 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

© 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

Fazit

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

Die Zukunft gehörtPolyglot Persistence!

SQL- & NoSQL-Technologienwerden zukünftig konvergieren!

“Know your battlefield, pick your battles!”

Consistency Scalabilty

Configuration

SecurityReplication

Client Access

Installation

Dr. Stephan VolmerLead Software Architect

Telefon +49 6196 777 54 0 Email stephan.volmer@zuehlke.comTwitter @stvzegXing http://xing.to/stv

Recommended