0
NoSQL workshop                            Friso van Vollenhoven                            fvanvollenhoven@xebia.com      ...
Why not only SQL?                            RDBMS                    RDBMS       RDBMS                            RDBMS  ...
Why not only SQL?
NoSQL landscape
MongoDB‣ Document-oriented database (schema free)‣ Adhoc queries, querying nested fields, indexing‣ Sharding and Replicati...
Neo4j‣   Graph database‣   Storing data as nodes and relationships in graphs‣   High-speed node traversal / search‣   Full...
HBase‣   Sparse column database‣   Based on Google’s BigTable model (similar to Cassandra)‣   Built for scalability‣   Str...
Riak‣   Decentralized Key-value store‣   Links, MapReduce, Secondary indexes‣   No master node; no single point of failure...
Exercise‣ Twitter data:  ‣ Most @nljug followers and their most recent tweets as JSON    data‣ Now create 4 groups:  ‣ Mon...
Upcoming SlideShare
Loading in...5
×

JFall 2011 no sql workshop

541

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
541
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "JFall 2011 no sql workshop"

  1. 1. NoSQL workshop Friso van Vollenhoven fvanvollenhoven@xebia.com Joris BontjeDiscover the diversity of jbontje@xebia.comNoSQL
  2. 2. Why not only SQL? RDBMS RDBMS RDBMS RDBMS RDBMS not scaling out per scaling up built with scale machine licenses has limits out in mind is expensive
  3. 3. Why not only SQL?
  4. 4. NoSQL landscape
  5. 5. MongoDB‣ Document-oriented database (schema free)‣ Adhoc queries, querying nested fields, indexing‣ Sharding and Replication$ db.twitter-user.find({id: 14352528}){! name: “NLJUG, Dutch Java Us”! statuses_count: 200! description: ”NLJUG”! location: ”Netherlands”! screen_name: ”nljug”! status: {! ! id: 126973661537255420! ! geo: null! ! source: ”HootSuite”! ! text: ”RT @ktukker: en het lijkt erop dat het kabeltje weer verbonden is. de! ! @nljug server is weer bereikbaar. #xs4all #storing”! ! created_at: ”Thu Oct 20 10:50:54 +0000 2011”! }! url: ”http://www.nljug.org/”! friends_count: 31! followers_count: 950! id: 14352528! created_at: ”Thu Apr 10 16:12:07 +0000 2008”}
  6. 6. Neo4j‣ Graph database‣ Storing data as nodes and relationships in graphs‣ High-speed node traversal / search‣ Full transaction support‣ Scalable for reads through replication
  7. 7. HBase‣ Sparse column database‣ Based on Google’s BigTable model (similar to Cassandra)‣ Built for scalability‣ Strong consistency at the row level‣ Data model: ‣ row key => column family:column qualifier:column value ‣ columns are sparse ‣ Data is always byte[] key / column family ‘DATA FAMILY’ ‘OTHER FAMILY’ [100, 101, 13, 8] [13,10]:[1,2,3,4,5] [18,10]:[1,9,7] [120,124]:[123] [100, 101, 13, 10] [13,10]:[1,2,3,4,5] [20,9]:[1,9,7] [120,124]:[123] [100, 101, 13, 22] [18,10]:[1,9,7] [120,124]:[123]
  8. 8. Riak‣ Decentralized Key-value store‣ Links, MapReduce, Secondary indexes‣ No master node; no single point of failure‣ Eventually consistentGET /riak/twitter-user/14352528Content-Type: application/json{! name: “NLJUG, Dutch Java Us”! statuses_count: 200! description: ”NLJUG”! location: ”Netherlands”! screen_name: ”nljug”! status: {! ! id: 126973661537255420! ! geo: null! ! source: ”HootSuite”! ! text: ”RT @ktukker: en het lijkt erop dat het kabeltje weer verbonden is. de! ! @nljug server is weer bereikbaar. #xs4all #storing”! ! created_at: ”Thu Oct 20 10:50:54 +0000 2011”! }! url: ”http://www.nljug.org/”! friends_count: 31! followers_count: 950! id: 14352528! created_at: ”Thu Apr 10 16:12:07 +0000 2008”}
  9. 9. Exercise‣ Twitter data: ‣ Most @nljug followers and their most recent tweets as JSON data‣ Now create 4 groups: ‣ MongoDB: Age ‣ Neo4j: Ron ‣ HBase: Friso ‣ Riak: Joris‣ Access Point: NOSQL password: jfall2011‣ Data and source available on http://192.168.0.100:8080/‣ Check README.md for installation instructions, exercises and hints
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×