SlideShare uma empresa Scribd logo
1 de 35
Baixar para ler offline
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/

Mais conteúdo relacionado

Mais procurados

Fazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchFazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchPedro Franceschi
 
SunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQLSunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQLGabriela Ferrara
 
Going crazy with Node.JS and CakePHP
Going crazy with Node.JS and CakePHPGoing crazy with Node.JS and CakePHP
Going crazy with Node.JS and CakePHPMariano Iglesias
 
Introduction to the new official C# Driver developed by 10gen
Introduction to the new official C# Driver developed by 10genIntroduction to the new official C# Driver developed by 10gen
Introduction to the new official C# Driver developed by 10genMongoDB
 
Clojure: Simple By Design
Clojure: Simple By DesignClojure: Simple By Design
Clojure: Simple By DesignAll Things Open
 
Hd insight programming
Hd insight programmingHd insight programming
Hd insight programmingCasear Chu
 
Inside MongoDB: the Internals of an Open-Source Database
Inside MongoDB: the Internals of an Open-Source DatabaseInside MongoDB: the Internals of an Open-Source Database
Inside MongoDB: the Internals of an Open-Source DatabaseMike Dirolf
 
CouchDB at JAOO Århus 2009
CouchDB at JAOO Århus 2009CouchDB at JAOO Århus 2009
CouchDB at JAOO Århus 2009Jason Davies
 
Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !Microsoft
 
Ember background basics
Ember background basicsEmber background basics
Ember background basicsPhilipp Fehre
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensionserwanl
 
San Francisco Java User Group
San Francisco Java User GroupSan Francisco Java User Group
San Francisco Java User Groupkchodorow
 
Introduction To Moose
Introduction To MooseIntroduction To Moose
Introduction To MooseMike Whitaker
 
Write Less Do More
Write Less Do MoreWrite Less Do More
Write Less Do MoreRemy Sharp
 

Mais procurados (20)

Couchdb w Ruby'm
Couchdb w Ruby'mCouchdb w Ruby'm
Couchdb w Ruby'm
 
MongoDB
MongoDBMongoDB
MongoDB
 
Fazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearchFazendo mágica com ElasticSearch
Fazendo mágica com ElasticSearch
 
SunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQLSunshinePHP 2017 - Making the most out of MySQL
SunshinePHP 2017 - Making the most out of MySQL
 
Going crazy with Node.JS and CakePHP
Going crazy with Node.JS and CakePHPGoing crazy with Node.JS and CakePHP
Going crazy with Node.JS and CakePHP
 
Performance patterns
Performance patternsPerformance patterns
Performance patterns
 
Introduction to the new official C# Driver developed by 10gen
Introduction to the new official C# Driver developed by 10genIntroduction to the new official C# Driver developed by 10gen
Introduction to the new official C# Driver developed by 10gen
 
Clojure: Simple By Design
Clojure: Simple By DesignClojure: Simple By Design
Clojure: Simple By Design
 
Mongo db for c# developers
Mongo db for c# developersMongo db for c# developers
Mongo db for c# developers
 
Mongo db for C# Developers
Mongo db for C# DevelopersMongo db for C# Developers
Mongo db for C# Developers
 
Hd insight programming
Hd insight programmingHd insight programming
Hd insight programming
 
Inside MongoDB: the Internals of an Open-Source Database
Inside MongoDB: the Internals of an Open-Source DatabaseInside MongoDB: the Internals of an Open-Source Database
Inside MongoDB: the Internals of an Open-Source Database
 
CouchDB at JAOO Århus 2009
CouchDB at JAOO Århus 2009CouchDB at JAOO Århus 2009
CouchDB at JAOO Århus 2009
 
Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !Elasticsearch sur Azure : Make sense of your (BIG) data !
Elasticsearch sur Azure : Make sense of your (BIG) data !
 
Ember background basics
Ember background basicsEmber background basics
Ember background basics
 
Couchdb Nosql
Couchdb NosqlCouchdb Nosql
Couchdb Nosql
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensions
 
San Francisco Java User Group
San Francisco Java User GroupSan Francisco Java User Group
San Francisco Java User Group
 
Introduction To Moose
Introduction To MooseIntroduction To Moose
Introduction To Moose
 
Write Less Do More
Write Less Do MoreWrite Less Do More
Write Less Do More
 

Semelhante a NoSQL & MongoDB

Building Apps with MongoDB
Building Apps with MongoDBBuilding Apps with MongoDB
Building Apps with MongoDBNate Abele
 
Mongo db mug_2012-02-07
Mongo db mug_2012-02-07Mongo db mug_2012-02-07
Mongo db mug_2012-02-07Will Button
 
Modeling JSON data for NoSQL document databases
Modeling JSON data for NoSQL document databasesModeling JSON data for NoSQL document databases
Modeling JSON data for NoSQL document databasesRyan CrawCour
 
An introduction to CouchDB
An introduction to CouchDBAn introduction to CouchDB
An introduction to CouchDBDavid Coallier
 
Forbes MongoNYC 2011
Forbes MongoNYC 2011Forbes MongoNYC 2011
Forbes MongoNYC 2011djdunlop
 
Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017
Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017
Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017Codemotion
 
CouchDB Open Source Bridge
CouchDB Open Source BridgeCouchDB Open Source Bridge
CouchDB Open Source BridgeChris Anderson
 
CouchDB Mobile - From Couch to 5K in 1 Hour
CouchDB Mobile - From Couch to 5K in 1 HourCouchDB Mobile - From Couch to 5K in 1 Hour
CouchDB Mobile - From Couch to 5K in 1 HourPeter Friese
 
GraphQL Los Angeles Meetup Slides
GraphQL Los Angeles Meetup SlidesGraphQL Los Angeles Meetup Slides
GraphQL Los Angeles Meetup SlidesGrant Miller
 
PostgreSQL Open SV 2018
PostgreSQL Open SV 2018PostgreSQL Open SV 2018
PostgreSQL Open SV 2018artgillespie
 
Abusing text/template for data transformation
Abusing text/template for data transformationAbusing text/template for data transformation
Abusing text/template for data transformationArnaud Porterie
 
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...MongoDB
 
Overview of GraphQL & Clients
Overview of GraphQL & ClientsOverview of GraphQL & Clients
Overview of GraphQL & ClientsPokai Chang
 
Crafting Evolvable Api Responses
Crafting Evolvable Api ResponsesCrafting Evolvable Api Responses
Crafting Evolvable Api Responsesdarrelmiller71
 
MongoDB全機能解説2
MongoDB全機能解説2MongoDB全機能解説2
MongoDB全機能解説2Takahiro Inoue
 
Terrastore - A document database for developers
Terrastore - A document database for developersTerrastore - A document database for developers
Terrastore - A document database for developersSergio Bossa
 

Semelhante a NoSQL & MongoDB (20)

Building Apps with MongoDB
Building Apps with MongoDBBuilding Apps with MongoDB
Building Apps with MongoDB
 
Couchdb
CouchdbCouchdb
Couchdb
 
Mongo db presentation
Mongo db presentationMongo db presentation
Mongo db presentation
 
Mongo db mug_2012-02-07
Mongo db mug_2012-02-07Mongo db mug_2012-02-07
Mongo db mug_2012-02-07
 
Modeling JSON data for NoSQL document databases
Modeling JSON data for NoSQL document databasesModeling JSON data for NoSQL document databases
Modeling JSON data for NoSQL document databases
 
An introduction to CouchDB
An introduction to CouchDBAn introduction to CouchDB
An introduction to CouchDB
 
Forbes MongoNYC 2011
Forbes MongoNYC 2011Forbes MongoNYC 2011
Forbes MongoNYC 2011
 
Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017
Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017
Full-Text Search Explained - Philipp Krenn - Codemotion Rome 2017
 
CouchDB Open Source Bridge
CouchDB Open Source BridgeCouchDB Open Source Bridge
CouchDB Open Source Bridge
 
Latinoware
LatinowareLatinoware
Latinoware
 
CouchDB Mobile - From Couch to 5K in 1 Hour
CouchDB Mobile - From Couch to 5K in 1 HourCouchDB Mobile - From Couch to 5K in 1 Hour
CouchDB Mobile - From Couch to 5K in 1 Hour
 
MongoDB and RDBMS
MongoDB and RDBMSMongoDB and RDBMS
MongoDB and RDBMS
 
GraphQL Los Angeles Meetup Slides
GraphQL Los Angeles Meetup SlidesGraphQL Los Angeles Meetup Slides
GraphQL Los Angeles Meetup Slides
 
PostgreSQL Open SV 2018
PostgreSQL Open SV 2018PostgreSQL Open SV 2018
PostgreSQL Open SV 2018
 
Abusing text/template for data transformation
Abusing text/template for data transformationAbusing text/template for data transformation
Abusing text/template for data transformation
 
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
Ensuring High Availability for Real-time Analytics featuring Boxed Ice / Serv...
 
Overview of GraphQL & Clients
Overview of GraphQL & ClientsOverview of GraphQL & Clients
Overview of GraphQL & Clients
 
Crafting Evolvable Api Responses
Crafting Evolvable Api ResponsesCrafting Evolvable Api Responses
Crafting Evolvable Api Responses
 
MongoDB全機能解説2
MongoDB全機能解説2MongoDB全機能解説2
MongoDB全機能解説2
 
Terrastore - A document database for developers
Terrastore - A document database for developersTerrastore - A document database for developers
Terrastore - A document database for developers
 

Último

HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptxmary850239
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)lakshayb543
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 

Último (20)

HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx4.18.24 Movement Legacies, Reflection, and Review.pptx
4.18.24 Movement Legacies, Reflection, and Review.pptx
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
Visit to a blind student's school🧑‍🦯🧑‍🦯(community medicine)
 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 

NoSQL & MongoDB

  • 3. Strozzi NoSQL (1998) RDBMS operator-stream paradigm(PIPE) Carlo Strozzi a set of shell routines that access normal files of the OS
  • 4. No-SQL == Not Have SQL
  • 6. …departs from the relational model altogether; it should therefore have been called more appropriately 'NoREL'.
  • 7. 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”
  • 9. My regret however isn't about what the name says, it's about what it doesn't. Eric Evans
  • 11. > select fun, profit > from real_world > where relational=false;
  • 12. No-SQL == Not Only SQL
  • 14. BASE PH A C I D neutral B A S E
  • 15. B asically A vailable S oft-state Eventually Consistent
  • 16. Why No-SQL? Traditional RDBMS —— CA Do We really need Transaction? Horizontal-Scale
  • 17. List Of NoSQL DBs Wide Column Store Document Store Key Value / Tuple Store Graph Databases …
  • 19. 10gen established in 2007, @New York originally aimed to build a Paas architecture released MongoDB, maintaining it
  • 20. MongoDB Inc. (2013.08) established in 2007, @New York originally aimed to build a Paas architecture released MongoDB, maintaining it
  • 26. which way is better? No Define answer.
  • 28. {          "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          }   }
  • 30. 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
  • 31. {   "_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
  • 32. Summary No-SQL => No? No! Why No-SQL? CAP & BASE MongoDB (Inc.) Schema design
  • 33. How to Choose? Depending on your needs…