NoSQL (ELEKS DevTalks #1 - Jan 2015)
-
Upload
yuriy-guts -
Category
Software
-
view
279 -
download
2
Transcript of NoSQL (ELEKS DevTalks #1 - Jan 2015)
Yuriy GutsR&D Engineer
ELEKS DevTalks
1. Data volume and performance that demands a cluster.
2. Developer productivity, OOP “impedance mismatch”.
3. The need for specialized tools for “painful” tasks.
• 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
ABC
ABC ABC
Write “C”
Read “C”
Replicate “C” to Slave 1
Replicate “C” to Slave 2
A
B C
Read/Write
“A”
Read/Write
“C”
Write “C”
ABC ABC ABCD ABD ABD
Write “D”
Agree with majority and replicate “C” Agree with majority and replicate “D”
ABC ABC ABCD ABD ABD
ABCDABCD ABCD ABCD ABCD
“Out of
Consistency
Availability
Partition Tolerance
You can get maximum two.”
You must find a tradeoff between Consistency and Availability.
A cluster should always be Partition Tolerant.
• Key-Value Store
• Document Store
• Column-Family Store
• Graph Database
• Riak
• Redis
• Memcached
• Amazon DynamoDB
• Voldemort
• MongoDB
• RavenDB
• CouchDB
• Azure DocumentDB
• Google BigTable
• Cassandra
• HBase
• Hypertable
• FlockDB
• Neo4j
• OrientDB
• Infinite Graph
1. Talent acquisition.
2. Ecosystem, tools, community.
3. Operational challenges.
Redis, MongoDB
yuriy.guts @ eleks.com