NoSQL & MongoDB
Upcoming SlideShare
Loading in...5
×
 

NoSQL & MongoDB

on

  • 617 views

A lecture of No-SQL & MongoDB.

A lecture of No-SQL & MongoDB.

Statistics

Views

Total Views
617
Slideshare-icon Views on SlideShare
466
Embed Views
151

Actions

Likes
1
Downloads
16
Comments
0

3 Embeds 151

http://liushuaikobe.github.io 144
http://blog.vars.me 4
http://localhost 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    NoSQL & MongoDB NoSQL & MongoDB Presentation Transcript

    • No-SQL & mongoDB @liushuaikobe
    • What’s No-SQL?
    • Strozzi NoSQL (1998) RDBMS operator-stream paradigm(PIPE) Carlo Strozzi a set of shell routines that access normal files of the OS
    • No-SQL == Not Have SQL
    • Structured Query Language No-SQL == Not Have SQL
    • …departs from the relational model altogether; it should therefore have been called more appropriately 'NoREL'.
    • A meetup@San Francisco ——"open source, distributed, non relational databases” Organized by Johan Oskarsson(Last.fm) Google's Bigtable & Amazon's Dynamo Eric Evans(then in RackSpace) reintroduced “No-SQL”
    • No-SQL == non-relational
    • My regret however isn't about what the name says, it's about what it doesn't. Eric Evans
    • no:sql(east) conference@ Atlanta
    • > select fun, profit > from real_world > where relational=false;
    • No-SQL == Not Only SQL
    • CAP Theorem (Eric Brewer) Consistency Availability Partition Tolerance
    • BASE PH A C I D neutral B A S E
    • B asically A vailable S oft-state Eventually Consistent
    • Why No-SQL? Traditional RDBMS —— CA Do We really need Transaction? Horizontal-Scale
    • List Of NoSQL DBs Wide Column Store Document Store Key Value / Tuple Store Graph Databases …
    • mongoDB
    • 10gen established in 2007, @New York originally aimed to build a Paas architecture released MongoDB, maintaining it
    • MongoDB Inc. (2013.08) established in 2007, @New York originally aimed to build a Paas architecture released MongoDB, maintaining it
    • MongoDB document-oriented(BSON) Storage schema-free high-performance build for scale
    • Document
    • Data-Model Design References Embedded
    • Reference
    • Embedded
    • which way is better? No Define answer.
    • A Instance
    • {          "actor_attributes"  :  {                  "name"  :  "Dan  Tao",                  "company"  :  "Google",                  ...                  "email"  :  "daniel.tao@gmail.com"          },          "repository"  :  {                  "fork"  :  false,                  "watchers"  :  0,                  "description"  :  "Oh,  nothing,  nothing",                  ...                  "id"  :  13155632,                  "name"  :  "breakneck"          },          "url"  :  "https://github.com/dtao/breakneck/compare/dccee09561...38984e5dce",          "created_at"  :  "2013-­‐09-­‐28T18:00:06-­‐07:00",          "actor"  :  "dtao",          "public"  :  true,          "type"  :  "PushEvent",          "payload"  :  {                  "shas"  :  [                            [                                  ...                          ]                  ],                  "head"  :  "38984e5dce1a21b778d4c26bde493270b4625662",                  "ref"  :  "refs/heads/master",                  "size"  :  1          }   }
    • RDBMS——ERD Actor Repo 1..1 1..1 1..n 1..n Event
    • While in mongo… {   "_id"  :  ObjectId("5287d3e947e36f2280584179")   "actor_attributes"  :  {                  "name"  :  "Dan  Tao",                  "company"  :  "Google",                  ...                  "email"  :  "daniel@gmail.com"   {          }  "_id"  :  ObjectId("5287d3e947e36f22805844b3")   } "actor_attributes"  :  {                  "name"  :  "Dan  Tao",                  "company"  :  "Google",                  ...                  "email"  :  "daniel@gmail.com"   {          }   "_id"  :  ObjectId("5287d3e947e36f22805844c9")   } "actor_attributes"  :  {                  "name"  :  "Dan  Tao",                  "company"  :  "Google",                  ...                  "email"  :  "daniel@gmail.com"          }   } Actor
    • {   "_id"  :  ObjectId("5287d41647e36f2280586033"),   “repository"  :  {                  "fork"  :  false,                              ...                    "name"  :  "breakneck"          },   {          "actor"  :  "Sam",   "_id"  :  ObjectId("5287d41647e36f2280586035"),          …   “repository"  :  {          "payload"  :  {                  "fork"  :  false,                  "shas"  :  [                                ...                          [                      "name"  :  "breakneck"                                ...   {          },                          ]   "_id"  :  ObjectId("5287d41647e36f2280586537"),          "actor"  :  "Tom",                  ],   “repository"  :  {          …                  "ref"  :  "refs/heads/master",                  "fork"  :  false,          "payload"  :  {                  "size"  :  1                              ...                  "shas"  :  [            }                    "name"  :  "breakneck"                          [     }        },                                ...          "actor"  :  "Mike",                          ]                  ],          …          "payload"  :  {                  "ref"  :  "refs/heads/master",                  "shas"  :  [                    "size"  :  1                          [            }                                ...   }                        ]                  ],                  "ref"  :  "refs/heads/master",                  "size"  :  1          }   } Event
    • Summary No-SQL => No? No! Why No-SQL? CAP & BASE MongoDB (Inc.) Schema design
    • How to Choose? Depending on your needs…
    • Thanks @liushuaikobe
    • Q & A http:/ /www.girlsgonestrong.com/video-qa/