SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
RDBMS /
                MongoDB
Nuri Halperin
Feb 2012
>outline();
[
    {'layerisms':      'where is your app?'},
    {'engine':         'notes about engine'},
    {'dataStructure': 'internals data structures'},
    {'schema':         'less and more'},
    {'index':          'type and applicability'},
    {'update':         'semantics and mechanics'},
    {'transaction':    'dread no more'},
    {'security':    'just a touch'}
]
>layerisms
> db.rdbms.find({_id:'layerisms'});
{ "_id" : "layerisms", "tiers" : [ "App", "Service",
"DB" ], "dblogic" : { "exists" : true } }

> db.mongo.find({_id:'layerisms'});
{ "_id" : "layerisms", "tiers" : [ "App", "Service",
"DB" ], "dblogic" : { "exists" : false } }

// practice: let your service layer do the logic.
>engine
> db.rdbms.find({_id:'engine'});
{ "_id" : "engine", "language" : [ "C++", "C",
"Other?" ] }

> db.mongo.find({_id:'engine'});
{ "_id" : "engine", "language" : "C++" }

// hardly the issue.

// performance due to other factors
>dataStructure
> db.rdbms.find({_id:'dataStructure'});
{ "_id" : "dataStructure", "type" : [ "BTree",
"Hashset", "bitmap" ] }

> db.mongo.find({_id:'dataStructure'});
{ "_id" : "dataStructure", "type" : "BTree" }




// MongoDB has very low memory mgmt
overhead. Most RDBMS do more memory mgmg
>schema
> db.rdbms.find({_id:'schema'});
{ "_id" : "schema", "_" : { "schama" : true,
"tables" : true, "udt" : true, "types" : [ "sql
types", "native" ], "namespace" : true } }

> db.mongo.find({_id:'schema'});
{ "_id" : "schema", "_" : { "schema" : false,
"tables" : false, "udt" : false, "types" : [ "BSON"
], "namespace" : true } }

// Most significant. This is why dev loves NoSql.
// Good drivers alleviate need for ORM.
>index
> db.rdbms.find({_id:'index'});
{ "_id" : "index", "pk" : "auto", "ak" : true,
"subObject" : false, "fulltext" : "*", "array" : false
}

> db.mongo.find({_id:'index'});
{ "_id" : "index", "pk" : "auto", "ak" : true,
"subObject" : true, "fulltext" : false* , "array" :
true }

// fulltext = think lucene, not regex.
// may be coming to MongoDB
>update
> db.rdbms.find({_id:'update'});
{ "_id" : "update", "multirecord" : true,
"singlerecord" : true, "atomic" : "*", "fluent" :
true, "crosstable" : true }

> db.mongo.find({_id:'update'});
{ "_id" : "update", "multirecord" : true,
"singlerecord" : true, "atomic" : "*", "fluent" :
true, "crosstable" : false }

// the existance of cross-table cross-record locks
is a major source of RDBMS slowness
>transaction
> db.rdbms.find({_id:'transaction'});
{ "_id" : "transaction", "crossRecord" : true,
"optimistic" : true, "pessimistic" : true }

> db.mongo.find({_id:'transaction'});
{ "_id" : "transaction", "crossRecord" : false,
"optimistic" : "dev", "pessimistic" : false }

// RDBMS let you choose consistency model.
// MongoDB supports optimistic model with
update syntax.
>security
> db.rdbms.find({_id:'security'});
{ "_id" : "security", "transport" : true, "identity"
: true, "objectLevel" : true }

> db.mongo.find({_id:'security'});
{ "_id" : "security", "transport" : false, "identity"
: true, "objectLevel" : false }



// RDBMS offer schema level security.
// MongoDB has no schema: r, rw
Looking forward to
Aggregation++
Full text index
Geo++

I love quartely releases..

Mais conteúdo relacionado

Mais procurados

Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2MongoDB
 
Simplify AJAX using jQuery
Simplify AJAX using jQuerySimplify AJAX using jQuery
Simplify AJAX using jQuerySiva Arunachalam
 
Elasticsearch and Symfony Integration - Debarko De
Elasticsearch and Symfony Integration - Debarko DeElasticsearch and Symfony Integration - Debarko De
Elasticsearch and Symfony Integration - Debarko DeDebarko De
 
Mongoose and MongoDB 101
Mongoose and MongoDB 101Mongoose and MongoDB 101
Mongoose and MongoDB 101Will Button
 
Web client security
Web client securityWeb client security
Web client securityZiv Birer
 
Code Tops Comments
Code Tops CommentsCode Tops Comments
Code Tops CommentsMr Giap
 
Casl. isomorphic permission management.pptx
Casl. isomorphic permission management.pptxCasl. isomorphic permission management.pptx
Casl. isomorphic permission management.pptxSergiy Stotskiy
 
DBIx::Class walkthrough @ bangalore pm
DBIx::Class walkthrough @ bangalore pmDBIx::Class walkthrough @ bangalore pm
DBIx::Class walkthrough @ bangalore pmSheeju Alex
 

Mais procurados (18)

jQuery secrets
jQuery secretsjQuery secrets
jQuery secrets
 
JavaScript JQUERY AJAX
JavaScript JQUERY AJAXJavaScript JQUERY AJAX
JavaScript JQUERY AJAX
 
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
Joins and Other Aggregation Enhancements Coming in MongoDB 3.2
 
Django at the Disco
Django at the DiscoDjango at the Disco
Django at the Disco
 
Django at the Disco
Django at the DiscoDjango at the Disco
Django at the Disco
 
Splitapp coding
Splitapp codingSplitapp coding
Splitapp coding
 
Simplify AJAX using jQuery
Simplify AJAX using jQuerySimplify AJAX using jQuery
Simplify AJAX using jQuery
 
Elasticsearch and Symfony Integration - Debarko De
Elasticsearch and Symfony Integration - Debarko DeElasticsearch and Symfony Integration - Debarko De
Elasticsearch and Symfony Integration - Debarko De
 
Mongoose and MongoDB 101
Mongoose and MongoDB 101Mongoose and MongoDB 101
Mongoose and MongoDB 101
 
Web client security
Web client securityWeb client security
Web client security
 
P
PP
P
 
Code Tops Comments
Code Tops CommentsCode Tops Comments
Code Tops Comments
 
BackboneJs
BackboneJsBackboneJs
BackboneJs
 
NoSQL with MongoDB
NoSQL with MongoDBNoSQL with MongoDB
NoSQL with MongoDB
 
Casl. isomorphic permission management.pptx
Casl. isomorphic permission management.pptxCasl. isomorphic permission management.pptx
Casl. isomorphic permission management.pptx
 
Hack tutorial
Hack tutorialHack tutorial
Hack tutorial
 
DBIx::Class walkthrough @ bangalore pm
DBIx::Class walkthrough @ bangalore pmDBIx::Class walkthrough @ bangalore pm
DBIx::Class walkthrough @ bangalore pm
 
Mysql DBI
Mysql DBIMysql DBI
Mysql DBI
 

Destaque

C mcq practice test 2
C mcq practice test 2C mcq practice test 2
C mcq practice test 2Aman Kamboj
 
7-3 Common Factors and GCF
7-3 Common Factors and GCF7-3 Common Factors and GCF
7-3 Common Factors and GCFRudy Alfonso
 
GATE Computer Science Solved Paper 2004
GATE Computer Science Solved Paper 2004GATE Computer Science Solved Paper 2004
GATE Computer Science Solved Paper 2004Rohit Garg
 
CBSE, Grade12, Computer Science, Random Numbers - Notes
CBSE, Grade12, Computer Science, Random Numbers - NotesCBSE, Grade12, Computer Science, Random Numbers - Notes
CBSE, Grade12, Computer Science, Random Numbers - NotesMalathi Senthil
 
Cbse class 10 computer science sample paper sa2 2014
Cbse class 10 computer science sample paper sa2 2014Cbse class 10 computer science sample paper sa2 2014
Cbse class 10 computer science sample paper sa2 2014learn cbse
 
Cbse class 10 computer science sample paper sa1 2014 (1)
Cbse class 10 computer science sample paper sa1 2014 (1)Cbse class 10 computer science sample paper sa1 2014 (1)
Cbse class 10 computer science sample paper sa1 2014 (1)learn cbse
 
'C' language notes (a.p)
'C' language notes (a.p)'C' language notes (a.p)
'C' language notes (a.p)Ashishchinu
 
CBSE Grade12, Computer Science, Sample Question Paper
CBSE Grade12, Computer Science, Sample Question PaperCBSE Grade12, Computer Science, Sample Question Paper
CBSE Grade12, Computer Science, Sample Question PaperMalathi Senthil
 
Data Structures and Algorithms For GATE: Solutions to all previous GATE quest...
Data Structures and Algorithms For GATE: Solutions to all previous GATE quest...Data Structures and Algorithms For GATE: Solutions to all previous GATE quest...
Data Structures and Algorithms For GATE: Solutions to all previous GATE quest...CareerMonk Publications
 
English ppt on tenses
English ppt on tensesEnglish ppt on tenses
English ppt on tensessiddharth246
 
Powerpoint presentation on tenses
Powerpoint presentation on tensesPowerpoint presentation on tenses
Powerpoint presentation on tensesraizan
 
Slide power point preposition noreen
Slide power point preposition  noreenSlide power point preposition  noreen
Slide power point preposition noreengrammarliciousit
 
Prepositions
PrepositionsPrepositions
Prepositionsnewtonj
 
Grammar Powerpoint
Grammar PowerpointGrammar Powerpoint
Grammar PowerpointAaron Liebo
 

Destaque (20)

C mcq practice test 2
C mcq practice test 2C mcq practice test 2
C mcq practice test 2
 
Gautam Resume
Gautam ResumeGautam Resume
Gautam Resume
 
7-3 Common Factors and GCF
7-3 Common Factors and GCF7-3 Common Factors and GCF
7-3 Common Factors and GCF
 
C notes
C notesC notes
C notes
 
Data structure linear search
Data structure linear searchData structure linear search
Data structure linear search
 
GATE Computer Science Solved Paper 2004
GATE Computer Science Solved Paper 2004GATE Computer Science Solved Paper 2004
GATE Computer Science Solved Paper 2004
 
CBSE, Grade12, Computer Science, Random Numbers - Notes
CBSE, Grade12, Computer Science, Random Numbers - NotesCBSE, Grade12, Computer Science, Random Numbers - Notes
CBSE, Grade12, Computer Science, Random Numbers - Notes
 
Cbse class 10 computer science sample paper sa2 2014
Cbse class 10 computer science sample paper sa2 2014Cbse class 10 computer science sample paper sa2 2014
Cbse class 10 computer science sample paper sa2 2014
 
Cbse class 10 computer science sample paper sa1 2014 (1)
Cbse class 10 computer science sample paper sa1 2014 (1)Cbse class 10 computer science sample paper sa1 2014 (1)
Cbse class 10 computer science sample paper sa1 2014 (1)
 
'C' language notes (a.p)
'C' language notes (a.p)'C' language notes (a.p)
'C' language notes (a.p)
 
CBSE Grade12, Computer Science, Sample Question Paper
CBSE Grade12, Computer Science, Sample Question PaperCBSE Grade12, Computer Science, Sample Question Paper
CBSE Grade12, Computer Science, Sample Question Paper
 
Data Structures and Algorithms For GATE: Solutions to all previous GATE quest...
Data Structures and Algorithms For GATE: Solutions to all previous GATE quest...Data Structures and Algorithms For GATE: Solutions to all previous GATE quest...
Data Structures and Algorithms For GATE: Solutions to all previous GATE quest...
 
Savitch Ch 14
Savitch Ch 14Savitch Ch 14
Savitch Ch 14
 
English ppt on tenses
English ppt on tensesEnglish ppt on tenses
English ppt on tenses
 
Powerpoint presentation on tenses
Powerpoint presentation on tensesPowerpoint presentation on tenses
Powerpoint presentation on tenses
 
Tenses
TensesTenses
Tenses
 
Slide power point preposition noreen
Slide power point preposition  noreenSlide power point preposition  noreen
Slide power point preposition noreen
 
Prepositions
PrepositionsPrepositions
Prepositions
 
Prepositions
PrepositionsPrepositions
Prepositions
 
Grammar Powerpoint
Grammar PowerpointGrammar Powerpoint
Grammar Powerpoint
 

Semelhante a MongoDB and RDBMS

mongodb-introduction
mongodb-introductionmongodb-introduction
mongodb-introductionTse-Ching Ho
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaGuido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...confluent
 
The rise of json in rdbms land jab17
The rise of json in rdbms land jab17The rise of json in rdbms land jab17
The rise of json in rdbms land jab17alikonweb
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVCAlive Kuo
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaGuido Schmutz
 
The Best (and Worst) of Django
The Best (and Worst) of DjangoThe Best (and Worst) of Django
The Best (and Worst) of DjangoJacob Kaplan-Moss
 
ELK Stack - Turn boring logfiles into sexy dashboard
ELK Stack - Turn boring logfiles into sexy dashboardELK Stack - Turn boring logfiles into sexy dashboard
ELK Stack - Turn boring logfiles into sexy dashboardGeorg Sorst
 
Map/Confused? A practical approach to Map/Reduce with MongoDB
Map/Confused? A practical approach to Map/Reduce with MongoDBMap/Confused? A practical approach to Map/Reduce with MongoDB
Map/Confused? A practical approach to Map/Reduce with MongoDBUwe Printz
 
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology Ayes Chinmay
 
Open Source Search: An Analysis
Open Source Search: An AnalysisOpen Source Search: An Analysis
Open Source Search: An AnalysisJustin Finkelstein
 
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
 
Converting a Rails application to Node.js
Converting a Rails application to Node.jsConverting a Rails application to Node.js
Converting a Rails application to Node.jsMatt Sergeant
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revisedMongoDB
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessMongoDB
 
MongoDB Performance Tuning
MongoDB Performance TuningMongoDB Performance Tuning
MongoDB Performance TuningMongoDB
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMichael Dawson
 

Semelhante a MongoDB and RDBMS (20)

mongodb-introduction
mongodb-introductionmongodb-introduction
mongodb-introduction
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
 
The rise of json in rdbms land jab17
The rise of json in rdbms land jab17The rise of json in rdbms land jab17
The rise of json in rdbms land jab17
 
[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC[Coscup 2012] JavascriptMVC
[Coscup 2012] JavascriptMVC
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
 
The Best (and Worst) of Django
The Best (and Worst) of DjangoThe Best (and Worst) of Django
The Best (and Worst) of Django
 
ELK Stack - Turn boring logfiles into sexy dashboard
ELK Stack - Turn boring logfiles into sexy dashboardELK Stack - Turn boring logfiles into sexy dashboard
ELK Stack - Turn boring logfiles into sexy dashboard
 
Map/Confused? A practical approach to Map/Reduce with MongoDB
Map/Confused? A practical approach to Map/Reduce with MongoDBMap/Confused? A practical approach to Map/Reduce with MongoDB
Map/Confused? A practical approach to Map/Reduce with MongoDB
 
DataMapper
DataMapperDataMapper
DataMapper
 
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
Internet and Web Technology (CLASS-10) [Node.js] | NIC/NIELIT Web Technology
 
Open Source Search: An Analysis
Open Source Search: An AnalysisOpen Source Search: An Analysis
Open Source Search: An Analysis
 
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
 
Converting a Rails application to Node.js
Converting a Rails application to Node.jsConverting a Rails application to Node.js
Converting a Rails application to Node.js
 
MongoDB With Style
MongoDB With StyleMongoDB With Style
MongoDB With Style
 
Eagle6 mongo dc revised
Eagle6 mongo dc revisedEagle6 mongo dc revised
Eagle6 mongo dc revised
 
Eagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational AwarenessEagle6 Enterprise Situational Awareness
Eagle6 Enterprise Situational Awareness
 
MongoDB Performance Tuning
MongoDB Performance TuningMongoDB Performance Tuning
MongoDB Performance Tuning
 
Talk MongoDB - Amil
Talk MongoDB - AmilTalk MongoDB - Amil
Talk MongoDB - Amil
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive Boston
 

Mais de francescapasha

Creating A User Journey for Your Open Source Community
Creating A User Journey for Your Open Source CommunityCreating A User Journey for Your Open Source Community
Creating A User Journey for Your Open Source Communityfrancescapasha
 
Intro to the MongoDB Community
Intro to the MongoDB CommunityIntro to the MongoDB Community
Intro to the MongoDB Communityfrancescapasha
 
How to Network Like Your Life Depends on In (Cause it Does!)
How to Network Like Your Life Depends on In (Cause it Does!) How to Network Like Your Life Depends on In (Cause it Does!)
How to Network Like Your Life Depends on In (Cause it Does!) francescapasha
 
Taproot volunteer deck
Taproot volunteer deck Taproot volunteer deck
Taproot volunteer deck francescapasha
 
Arts and Positive Deviance
Arts and Positive DevianceArts and Positive Deviance
Arts and Positive Deviancefrancescapasha
 

Mais de francescapasha (7)

Creating A User Journey for Your Open Source Community
Creating A User Journey for Your Open Source CommunityCreating A User Journey for Your Open Source Community
Creating A User Journey for Your Open Source Community
 
Intro to the MongoDB Community
Intro to the MongoDB CommunityIntro to the MongoDB Community
Intro to the MongoDB Community
 
JumpSpoon
JumpSpoonJumpSpoon
JumpSpoon
 
How to Network Like Your Life Depends on In (Cause it Does!)
How to Network Like Your Life Depends on In (Cause it Does!) How to Network Like Your Life Depends on In (Cause it Does!)
How to Network Like Your Life Depends on In (Cause it Does!)
 
Arts deviants
Arts deviantsArts deviants
Arts deviants
 
Taproot volunteer deck
Taproot volunteer deck Taproot volunteer deck
Taproot volunteer deck
 
Arts and Positive Deviance
Arts and Positive DevianceArts and Positive Deviance
Arts and Positive Deviance
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

MongoDB and RDBMS

  • 1. RDBMS / MongoDB Nuri Halperin Feb 2012
  • 2. >outline(); [ {'layerisms': 'where is your app?'}, {'engine': 'notes about engine'}, {'dataStructure': 'internals data structures'}, {'schema': 'less and more'}, {'index': 'type and applicability'}, {'update': 'semantics and mechanics'}, {'transaction': 'dread no more'}, {'security': 'just a touch'} ]
  • 3. >layerisms > db.rdbms.find({_id:'layerisms'}); { "_id" : "layerisms", "tiers" : [ "App", "Service", "DB" ], "dblogic" : { "exists" : true } } > db.mongo.find({_id:'layerisms'}); { "_id" : "layerisms", "tiers" : [ "App", "Service", "DB" ], "dblogic" : { "exists" : false } } // practice: let your service layer do the logic.
  • 4. >engine > db.rdbms.find({_id:'engine'}); { "_id" : "engine", "language" : [ "C++", "C", "Other?" ] } > db.mongo.find({_id:'engine'}); { "_id" : "engine", "language" : "C++" } // hardly the issue. // performance due to other factors
  • 5. >dataStructure > db.rdbms.find({_id:'dataStructure'}); { "_id" : "dataStructure", "type" : [ "BTree", "Hashset", "bitmap" ] } > db.mongo.find({_id:'dataStructure'}); { "_id" : "dataStructure", "type" : "BTree" } // MongoDB has very low memory mgmt overhead. Most RDBMS do more memory mgmg
  • 6. >schema > db.rdbms.find({_id:'schema'}); { "_id" : "schema", "_" : { "schama" : true, "tables" : true, "udt" : true, "types" : [ "sql types", "native" ], "namespace" : true } } > db.mongo.find({_id:'schema'}); { "_id" : "schema", "_" : { "schema" : false, "tables" : false, "udt" : false, "types" : [ "BSON" ], "namespace" : true } } // Most significant. This is why dev loves NoSql. // Good drivers alleviate need for ORM.
  • 7. >index > db.rdbms.find({_id:'index'}); { "_id" : "index", "pk" : "auto", "ak" : true, "subObject" : false, "fulltext" : "*", "array" : false } > db.mongo.find({_id:'index'}); { "_id" : "index", "pk" : "auto", "ak" : true, "subObject" : true, "fulltext" : false* , "array" : true } // fulltext = think lucene, not regex. // may be coming to MongoDB
  • 8. >update > db.rdbms.find({_id:'update'}); { "_id" : "update", "multirecord" : true, "singlerecord" : true, "atomic" : "*", "fluent" : true, "crosstable" : true } > db.mongo.find({_id:'update'}); { "_id" : "update", "multirecord" : true, "singlerecord" : true, "atomic" : "*", "fluent" : true, "crosstable" : false } // the existance of cross-table cross-record locks is a major source of RDBMS slowness
  • 9. >transaction > db.rdbms.find({_id:'transaction'}); { "_id" : "transaction", "crossRecord" : true, "optimistic" : true, "pessimistic" : true } > db.mongo.find({_id:'transaction'}); { "_id" : "transaction", "crossRecord" : false, "optimistic" : "dev", "pessimistic" : false } // RDBMS let you choose consistency model. // MongoDB supports optimistic model with update syntax.
  • 10. >security > db.rdbms.find({_id:'security'}); { "_id" : "security", "transport" : true, "identity" : true, "objectLevel" : true } > db.mongo.find({_id:'security'}); { "_id" : "security", "transport" : false, "identity" : true, "objectLevel" : false } // RDBMS offer schema level security. // MongoDB has no schema: r, rw
  • 11. Looking forward to Aggregation++ Full text index Geo++ I love quartely releases..