View
246
Download
8
Embed Size (px)
Citation preview
Outline Why NoSQL?
Four trendsHistory
What is NoSQL?Definition Three fundamental theories
NoSQL categories RDBMS vs. NoSQL
Trend1:data set sizeRapid Increase of Data
57% every year (IDC2007) Double every 1.5 years988EB (1EB=1024PB) data will be produced in
2010 (IDC) 18 million times of all info in books
Trend2:Information connectivity
Trend3:Semi-structure Individualization of content!
In the salary lists of the 1970s, all elements had exactly one job
In the salary lists of the 2000s, we need 5 job columns! Or 8? Or 15?
Trend accelerated by the decentralization of content generation that is the hallmark of the age of participation (“web 2.0”)
RDBMS performance
Trend4:architecture changes
NoSQL history The term NoSQL was first used in 1998Reintroduced in early 2009 by Eric EvansHot in 2009
Outline Why NoSQL?
Four trendsHistory
What is NoSQL?Definition Three fundamental theories
NoSQL categories RDBMS vs. NoSQL
Definition From http://nosql-database.org/
Original intention modern web-scale databases
Characteristics non-relational, Distributed open-source horizontal scalable schema-free easy replication support simple API eventually consistent / BASE
(not ACID) Others…
From Wikipedialoosely defined class of
non-relational data storesnot require fixed table
schemasAvoid join operationsScale horizontally
NoSQL is NOT Only SQL
Fundamental theories CAPBASE
APEventual consistency
Causal consistencyRead-your-writes consistencySession consistencyMonotonic read consistencyMonotonic write consistency
Outline Why NoSQL?
Four trendsHistory
What is NoSQL?Definition Three fundamental theories
NoSQL categories RDBMS vs. NoSQL
NoSQL categories Key-value stores
Based on DHTs / Amazon's Dynamo paper Data model: (global) collection of K-V pairs Example: Dynomite, Voldemort, Tokyo
BigTable clones Based on Google's BigTable paper Data model: big table, column families Example: Hbase, Hypertable
NoSQL categories Document databases
Inspired by Lotus Notes Data model: collections of K-V collectionsExample: CouchDB, MongoDB
Graph databasesInspired by Euler & graph theory Data model: nodes, rels, K-V on both Example: AllegroGraph, VertexDB, Neo4j
Key-value stores
Key Value
... name_€#_Stellamood_€#_Happ
ybirthdate%/// 135465645)
…
dog_12
Bigtable clones
Document databases
Key document
dog_12
{type: “Dog”,
name: “Stella”, mood: “Happy”, birthdate: 2007-
04-01}
Graph databases
RDBMS vs. NoSQLStrong consistency vs. Eventual consistency Big dataset vs. HUGE datasets Scaling is possible vs. Scaling is easySQL vs. Map-ReduceGood availability vs. Very high availability
Thank you!!!