nosql overview
DESCRIPTION
MongoDB vs. RiakTRANSCRIPT
![Page 1: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/1.jpg)
Kaifeng Zhang & Yuheng Wang
![Page 2: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/2.jpg)
Agenda
Why NoSQL? NoSQL Overview MongoDB vs. Riak
5/18/2012 2
![Page 3: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/3.jpg)
NoSQL History
1998, Carlo Strozzi, “NoREL” 2009, Eric Evans, “NoSQL” 2011, UnQL, superset of SQL
No SQL vs. Not Only SQL
5/18/2012 3
![Page 4: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/4.jpg)
Why NoSQL Happened
Web scale Data changes over time NoSQL becomes commodity
5/18/2012 4
![Page 5: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/5.jpg)
NoSQL Features
Not require fixed table schema Not use SQL as query language Usually avoid join operation Not give full ACID guarantees Distributed, fault-tolerant architecture
5/18/2012 5
![Page 6: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/6.jpg)
Scenarios for NoSQL
Performance and real-time nature over consistency
High scalability Store and retrieve huge quantity of data Not require a relational model
5/18/2012 6
![Page 7: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/7.jpg)
NoSQL Taxonomy
Document StoreCollections (Table)Document (Row)
Key-value Store Graph Column Family
5/18/2012 7
![Page 8: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/8.jpg)
Some Concepts
CAP Theorem Distribution Model ACID Eventual Consistency
5/18/2012 8
![Page 9: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/9.jpg)
5/18/2012 9
![Page 10: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/10.jpg)
5/18/2012 10
![Page 11: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/11.jpg)
5/18/2012 11
![Page 12: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/12.jpg)
![Page 13: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/13.jpg)
Setup
All major OS Stable and
experimental
• No official support of Windows
• Robust support of Linux
• Nature cluster
Mongo Riak
5/18/2012 13
![Page 14: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/14.jpg)
Tooling
• Cmd line tool
• Web interface
• 3rd party solutions
• Poor
Mongo Riak
5/18/2012 14
![Page 15: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/15.jpg)
Driver Support
• C/C++, Java,
• Erlang
• PHP, Python, Ruby
• Perl, Scala, .NET
• Node.js, JS
• C/C++, Java
• Erlang
• PHP, Python, Ruby
Mongo Riak
5/18/2012 15
![Page 16: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/16.jpg)
CRUD(.NET)
• Excellent drivers support
• Straightforward
• Corrugated Iron
• RESTful API
Mongo Riak
5/18/2012 16
![Page 17: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/17.jpg)
Query Complexity
• Secondary index
• MapReduce in JavaScript
• Corrugated Iron query broken
• RESTful API to test
Mongo Riak
5/18/2012 17
![Page 18: NoSQL Overview](https://reader035.vdocuments.site/reader035/viewer/2022081603/5585e16bd8b42aa6518b4f9f/html5/thumbnails/18.jpg)
ID Generation
• Incremental document field
• No viable solution
Mongo Riak
5/18/2012 18