NoSQL (ELEKS DevTalks #1 - Jan 2015)

22
Yuriy Guts R&D Engineer ELEKS DevTalks

Transcript of NoSQL (ELEKS DevTalks #1 - Jan 2015)

Page 1: NoSQL (ELEKS DevTalks #1 - Jan 2015)

Yuriy GutsR&D Engineer

ELEKS DevTalks

Page 2: NoSQL (ELEKS DevTalks #1 - Jan 2015)

1. Data volume and performance that demands a cluster.

2. Developer productivity, OOP “impedance mismatch”.

3. The need for specialized tools for “painful” tasks.

Page 3: NoSQL (ELEKS DevTalks #1 - Jan 2015)

• Not using the relational model

• Mostly schemaless

• Mostly open-source

• Mostly developed in early 21st century

• Mostly not using SQL as a query language

• Running well on clusters

Page 4: NoSQL (ELEKS DevTalks #1 - Jan 2015)
Page 5: NoSQL (ELEKS DevTalks #1 - Jan 2015)
Page 6: NoSQL (ELEKS DevTalks #1 - Jan 2015)
Page 7: NoSQL (ELEKS DevTalks #1 - Jan 2015)
Page 8: NoSQL (ELEKS DevTalks #1 - Jan 2015)

ABC

ABC ABC

Write “C”

Read “C”

Replicate “C” to Slave 1

Replicate “C” to Slave 2

Page 9: NoSQL (ELEKS DevTalks #1 - Jan 2015)

A

B C

Read/Write

“A”

Read/Write

“C”

Page 10: NoSQL (ELEKS DevTalks #1 - Jan 2015)

Write “C”

ABC ABC ABCD ABD ABD

Write “D”

Agree with majority and replicate “C” Agree with majority and replicate “D”

Page 11: NoSQL (ELEKS DevTalks #1 - Jan 2015)

ABC ABC ABCD ABD ABD

Page 12: NoSQL (ELEKS DevTalks #1 - Jan 2015)

ABCDABCD ABCD ABCD ABCD

Page 13: NoSQL (ELEKS DevTalks #1 - Jan 2015)

“Out of

Consistency

Availability

Partition Tolerance

You can get maximum two.”

Page 14: NoSQL (ELEKS DevTalks #1 - Jan 2015)

You must find a tradeoff between Consistency and Availability.

A cluster should always be Partition Tolerant.

Page 15: NoSQL (ELEKS DevTalks #1 - Jan 2015)

• Key-Value Store

• Document Store

• Column-Family Store

• Graph Database

Page 16: NoSQL (ELEKS DevTalks #1 - Jan 2015)

• Riak

• Redis

• Memcached

• Amazon DynamoDB

• Voldemort

Page 17: NoSQL (ELEKS DevTalks #1 - Jan 2015)

• MongoDB

• RavenDB

• CouchDB

• Azure DocumentDB

Page 18: NoSQL (ELEKS DevTalks #1 - Jan 2015)

• Google BigTable

• Cassandra

• HBase

• Hypertable

Page 19: NoSQL (ELEKS DevTalks #1 - Jan 2015)

• FlockDB

• Neo4j

• OrientDB

• Infinite Graph

Page 20: NoSQL (ELEKS DevTalks #1 - Jan 2015)

1. Talent acquisition.

2. Ecosystem, tools, community.

3. Operational challenges.

Page 21: NoSQL (ELEKS DevTalks #1 - Jan 2015)

Redis, MongoDB

Page 22: NoSQL (ELEKS DevTalks #1 - Jan 2015)

yuriy.guts @ eleks.com