SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
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..

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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
 

Destacado

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
 

Destacado (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
 

Similar 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
 

Similar 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
Micro app-frameworkMicro app-framework
Micro app-framework
 

Más 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
 

Más 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

SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...CzechDreamin
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreelreely ones
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka DoktorováCzechDreamin
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsUXDXConf
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxJennifer Lim
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...FIDO Alliance
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...CzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfFIDO Alliance
 

Último (20)

SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
THE BEST IPTV in GERMANY for 2024: IPTVreel
THE BEST IPTV in  GERMANY for 2024: IPTVreelTHE BEST IPTV in  GERMANY for 2024: IPTVreel
THE BEST IPTV in GERMANY for 2024: IPTVreel
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová10 Differences between Sales Cloud and CPQ, Blanka Doktorová
10 Differences between Sales Cloud and CPQ, Blanka Doktorová
 
Strategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering TeamsStrategic AI Integration in Engineering Teams
Strategic AI Integration in Engineering Teams
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
Choosing the Right FDO Deployment Model for Your Application _ Geoffrey at In...
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
Behind the Scenes From the Manager's Chair: Decoding the Secrets of Successfu...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdfThe Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
The Value of Certifying Products for FDO _ Paul at FIDO Alliance.pdf
 

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..