SlideShare a Scribd company logo
1 of 42
http://db-engines.com/en/ranking
http://www.csc.com/insights/flxwd/78931-big_data_universe_beginning_to_explode
http://www.ibmbigdatahub.com/infographic/four-vs-big-data
NoSQL supports all
these data concerns
Variety: No schema or
frequent schema
changes
Velocity: High
throughput and low
latency
Volume: Lots of data
Not Only SQL
Key-Value Store Column Family Document Store Graph
Aggregate Data Models
Key-Value Store Column Family Document Store Graph
Azure
DocumentDB
Azure
Table
Storage
Amazon
DynamoDB
Multimodel
http://www.martinfowler.com/articles/microservices.html
Monolithic applications prefer a
single logical database for persistent
data. This DB becomes an integration
DB as well as reporting DB.
Microservices prefer letting each
service manage its own database,
either different instances of the same
database technology, or entirely
different database systems - an
approach called Polyglot Persistence.
Replication Master-Slave Multi-Master Sharding
Replication
http://blog.nahurst.com/visual-guide-to-nosql-systems
PACELC
if there is a partition (P), how
does the system trade off
availability and consistency (A
and C); else (E), when the system
is running normally in the
absence of partitions, how does
the system trade off latency (L)
and consistency (C)?
PA/EL:
Dynamo, Cassandra, Riak
PA/EC:
MongoDB
PC/EC:
VoltDB, HBase
ACID BASE
Re di s
App
Mongo Driver
Mongo Shell
Mongod
Sec
App
Mongo Driver
Pri
Sec
Hidde
n Sec
Mongod
Mongod Mongod Mongod
Analytics
App
Mongo Driver
Mongos
P
S S
P
S S
P
S S
Shard Shard Shard
 Unacknowledged
 Acknowledged
 Replica Acknowledged
 Majority
 <tag set>:
 Journaled
 Local
 Majority
 Linearizable
 Primary
 Primary Preferred
 Secondary
 Secondary Preferred
 Nearest
ID:1040, Total: 310.00
Part
808082
723093
Qty
2
7
Price
50.5
30.0
Total
101
210
Line Items
Payment Detail
Card Number: 2929 xxxx 3939
Expiry: Jan, 2018
Scheme: Visa
Customer
CustomerID: 19281
Name: Ann Marie
Email: ann.marie@gmail.com
ID CustomerID Total
1040 19281 310
ID Name Email
19281
OrderID CC Expiry Scheme
1040 xxxx Jan Visa
Orders
Customers
OrderLines
PaymentDetails
OrderID Line Qty Price
1040 1 2 50.5
Order
Aggregate is
a pattern in
Domain-
Driven
Design. A
DDD
aggregate is
a cluster of
domain
objects that
can be
treated as a
single unit.
JSON (JavaScript Object Notation) is a lightweight data-
interchange format.
It is easy for humans to read and write. It is easy for
machines to parse and generate.
It is based on a subset of the JavaScript Programming
Language, Standard ECMA-262 3rd Edition - December
1999.
JSON is a text format that is completely language
independent JSON is built on two structures:
• A collection of name/value pairs. In various languages,
this is realized as an object, record, struct, dictionary,
hash table, keyed list, or associative array.
• An ordered list of values. In most languages, this is
realized as an array, vector, list, or sequence.
{
"_id" : "585724eedd76957cf32baaf2",
"title" : "Ms",
"firstName" : "Leigh",
"surname" : "Nielsen",
"age" : 33,
"gender" : "female",
"address" : [
{
"line1" : "705 Anna Court",
"city" : "Thermal",
"state" : "Utah",
"zip" : 2584
},
{
"line1" : "833 Sands Street",
"city" : "Eden",
"state" : "Texas",
"zip" : 5603
}
]
}
RDBMS Document Oriented DBs
Database Database
Table Collection
Row Document
Columns Document fields
Index Index
Join Embedded document or reference, $lookup op (v3.2)
View Read only views (v3.4)
Primary Key “_id” field of the document (Auto-generated 12 byte type unique within
collection. Can be manually assigned as well. Can be composite)
Embedding Referencing
SQL Document Oriented DBs
SELECT / WHERE db.<collection>.find({match}, {project}), $or $and $exists operators
ORDER BY db.<collection>.find({}, {}).sort({sort object})
LIMIT / SKIP db.<collection>.find({}, {}).limit(n).skip(m)
GROUP BY Aggregation Pipeline and Map-Reduce
JOIN $lookup operator
INSERT db.<collection>.insert({doc})
UPDATE db.<collection>.update({match},{doc}), $set & $unset op
DELETE db.<collection>.remove({match})
CREATE INDEX db.<collection>.createIndex({index object})
VIEW db.createView(<view>, <source>, <pipeline>, <collation> )
Explain Plan db.<collection>.find({}, {}).explain()
Issue Link
MongoDB performance issues when used for
OLAP/DW queries
https://www.8kdata.com/blog/the-conundrum-
of-bi-aggregate-queries-on-mongodb/
MongoDB queries don’t always return all matching
documents!
http://blog.couchbase.com/2016/july/testing-
mongodb-and-couchbase-concurrent-query
https://www.linkedin.com/pulse/mongodb-
frankenstein-monster-nosql-databases-john-de-
goes?trk=mp-reader-card
MongoDB 3.2: Now Powered by PostgreSQL https://www.linkedin.com/pulse/mongodb-32-
now-powered-postgresql-john-de-goes?trk=mp-
reader-card
MongoDB stale reads https://aphyr.com/posts/322-jepsen-mongodb-
stale-reads
Partitions
 Mongo Chef
 DocumentDB Studio

More Related Content

What's hot

What's hot (20)

MongoDB NoSQL database a deep dive -MyWhitePaper
MongoDB  NoSQL database a deep dive -MyWhitePaperMongoDB  NoSQL database a deep dive -MyWhitePaper
MongoDB NoSQL database a deep dive -MyWhitePaper
 
Mongodb - NoSql Database
Mongodb - NoSql DatabaseMongodb - NoSql Database
Mongodb - NoSql Database
 
NoSQL
NoSQLNoSQL
NoSQL
 
MongoDB
MongoDBMongoDB
MongoDB
 
MongoDB
MongoDBMongoDB
MongoDB
 
Repository As A Service (RaaS) at ICPSR
Repository As A Service  (RaaS) at ICPSRRepository As A Service  (RaaS) at ICPSR
Repository As A Service (RaaS) at ICPSR
 
Cool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDBCool NoSQL on Azure with DocumentDB
Cool NoSQL on Azure with DocumentDB
 
Appache Cassandra
Appache Cassandra  Appache Cassandra
Appache Cassandra
 
No sql
No sqlNo sql
No sql
 
[Mas 500] Data Basics
[Mas 500] Data Basics[Mas 500] Data Basics
[Mas 500] Data Basics
 
01 nosql and multi model database
01   nosql and multi model database01   nosql and multi model database
01 nosql and multi model database
 
Non Relational Databases
Non Relational DatabasesNon Relational Databases
Non Relational Databases
 
Multi model-databases
Multi model-databasesMulti model-databases
Multi model-databases
 
Nosql database presentation
Nosql database  presentationNosql database  presentation
Nosql database presentation
 
NoSQL Introduction
NoSQL IntroductionNoSQL Introduction
NoSQL Introduction
 
An Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDBAn Introduction To NoSQL & MongoDB
An Introduction To NoSQL & MongoDB
 
Nosql databases
Nosql databasesNosql databases
Nosql databases
 
Couch db
Couch dbCouch db
Couch db
 
SQL vs NoSQL
SQL vs NoSQLSQL vs NoSQL
SQL vs NoSQL
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 

Similar to Top Database Tools for MongoDB Administration and Development

Couchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data DemystifiedCouchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data DemystifiedOmid Vahdaty
 
Getting Started with NoSQL
Getting Started with NoSQLGetting Started with NoSQL
Getting Started with NoSQLAaron Benton
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...Felix Gessert
 
Big data technology unit 3
Big data technology unit 3Big data technology unit 3
Big data technology unit 3RojaT4
 
Samedi SQL Québec - La plateforme data de Azure
Samedi SQL Québec - La plateforme data de AzureSamedi SQL Québec - La plateforme data de Azure
Samedi SQL Québec - La plateforme data de AzureMSDEVMTL
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMohan Rathour
 
ELK - Stack - Munich .net UG
ELK - Stack - Munich .net UGELK - Stack - Munich .net UG
ELK - Stack - Munich .net UGSteve Behrendt
 
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptxDATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptxLaxmi Pandya
 
2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptxRushikeshChikane2
 
Software development - the java perspective
Software development - the java perspectiveSoftware development - the java perspective
Software development - the java perspectiveAlin Pandichi
 
Limits of RDBMS and Need for NoSQL in Bioinformatics
Limits of RDBMS and Need for NoSQL in BioinformaticsLimits of RDBMS and Need for NoSQL in Bioinformatics
Limits of RDBMS and Need for NoSQL in BioinformaticsDan Sullivan, Ph.D.
 
Sullivan GBCB Seminar Fall 2014 - Limits of RDMS for Bioinformatics v2
Sullivan GBCB Seminar Fall 2014 - Limits of RDMS for Bioinformatics v2Sullivan GBCB Seminar Fall 2014 - Limits of RDMS for Bioinformatics v2
Sullivan GBCB Seminar Fall 2014 - Limits of RDMS for Bioinformatics v2Dan Sullivan, Ph.D.
 
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptxRushikeshChikane2
 

Similar to Top Database Tools for MongoDB Administration and Development (20)

Couchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data DemystifiedCouchbase Data Platform | Big Data Demystified
Couchbase Data Platform | Big Data Demystified
 
Nosql
NosqlNosql
Nosql
 
Nosql
NosqlNosql
Nosql
 
Getting Started with NoSQL
Getting Started with NoSQLGetting Started with NoSQL
Getting Started with NoSQL
 
NoSQL Basics and MongDB
NoSQL Basics and  MongDBNoSQL Basics and  MongDB
NoSQL Basics and MongDB
 
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
NoSQL Data Stores in Research and Practice - ICDE 2016 Tutorial - Extended Ve...
 
Big data technology unit 3
Big data technology unit 3Big data technology unit 3
Big data technology unit 3
 
Samedi SQL Québec - La plateforme data de Azure
Samedi SQL Québec - La plateforme data de AzureSamedi SQL Québec - La plateforme data de Azure
Samedi SQL Québec - La plateforme data de Azure
 
Mongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorialMongo Bb - NoSQL tutorial
Mongo Bb - NoSQL tutorial
 
ELK - Stack - Munich .net UG
ELK - Stack - Munich .net UGELK - Stack - Munich .net UG
ELK - Stack - Munich .net UG
 
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptxDATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
DATABASE MANAGEMENT SYSTEM-MRS. LAXMI B PANDYA FOR 25TH AUGUST,2022.pptx
 
2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx2.Introduction to NOSQL (Core concepts).pptx
2.Introduction to NOSQL (Core concepts).pptx
 
Artigo no sql x relational
Artigo no sql x relationalArtigo no sql x relational
Artigo no sql x relational
 
nosql.pptx
nosql.pptxnosql.pptx
nosql.pptx
 
Software development - the java perspective
Software development - the java perspectiveSoftware development - the java perspective
Software development - the java perspective
 
Limits of RDBMS and Need for NoSQL in Bioinformatics
Limits of RDBMS and Need for NoSQL in BioinformaticsLimits of RDBMS and Need for NoSQL in Bioinformatics
Limits of RDBMS and Need for NoSQL in Bioinformatics
 
Sullivan GBCB Seminar Fall 2014 - Limits of RDMS for Bioinformatics v2
Sullivan GBCB Seminar Fall 2014 - Limits of RDMS for Bioinformatics v2Sullivan GBCB Seminar Fall 2014 - Limits of RDMS for Bioinformatics v2
Sullivan GBCB Seminar Fall 2014 - Limits of RDMS for Bioinformatics v2
 
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
3.Implementation with NOSQL databases Document Databases (Mongodb).pptx
 
No sq lv2
No sq lv2No sq lv2
No sq lv2
 
Nosql
NosqlNosql
Nosql
 

Recently uploaded

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 

Recently uploaded (20)

Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 

Top Database Tools for MongoDB Administration and Development

  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 9. http://www.ibmbigdatahub.com/infographic/four-vs-big-data NoSQL supports all these data concerns Variety: No schema or frequent schema changes Velocity: High throughput and low latency Volume: Lots of data
  • 11.
  • 12.
  • 13. Key-Value Store Column Family Document Store Graph Aggregate Data Models
  • 14. Key-Value Store Column Family Document Store Graph Azure DocumentDB Azure Table Storage Amazon DynamoDB Multimodel
  • 15. http://www.martinfowler.com/articles/microservices.html Monolithic applications prefer a single logical database for persistent data. This DB becomes an integration DB as well as reporting DB. Microservices prefer letting each service manage its own database, either different instances of the same database technology, or entirely different database systems - an approach called Polyglot Persistence.
  • 17. http://blog.nahurst.com/visual-guide-to-nosql-systems PACELC if there is a partition (P), how does the system trade off availability and consistency (A and C); else (E), when the system is running normally in the absence of partitions, how does the system trade off latency (L) and consistency (C)? PA/EL: Dynamo, Cassandra, Riak PA/EC: MongoDB PC/EC: VoltDB, HBase
  • 20.
  • 21.
  • 22.
  • 23.
  • 26. App Mongo Driver Mongos P S S P S S P S S Shard Shard Shard
  • 27.  Unacknowledged  Acknowledged  Replica Acknowledged  Majority  <tag set>:  Journaled
  • 29.  Primary  Primary Preferred  Secondary  Secondary Preferred  Nearest
  • 30. ID:1040, Total: 310.00 Part 808082 723093 Qty 2 7 Price 50.5 30.0 Total 101 210 Line Items Payment Detail Card Number: 2929 xxxx 3939 Expiry: Jan, 2018 Scheme: Visa Customer CustomerID: 19281 Name: Ann Marie Email: ann.marie@gmail.com ID CustomerID Total 1040 19281 310 ID Name Email 19281 OrderID CC Expiry Scheme 1040 xxxx Jan Visa Orders Customers OrderLines PaymentDetails OrderID Line Qty Price 1040 1 2 50.5 Order Aggregate is a pattern in Domain- Driven Design. A DDD aggregate is a cluster of domain objects that can be treated as a single unit.
  • 31. JSON (JavaScript Object Notation) is a lightweight data- interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent JSON is built on two structures: • A collection of name/value pairs. In various languages, this is realized as an object, record, struct, dictionary, hash table, keyed list, or associative array. • An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence. { "_id" : "585724eedd76957cf32baaf2", "title" : "Ms", "firstName" : "Leigh", "surname" : "Nielsen", "age" : 33, "gender" : "female", "address" : [ { "line1" : "705 Anna Court", "city" : "Thermal", "state" : "Utah", "zip" : 2584 }, { "line1" : "833 Sands Street", "city" : "Eden", "state" : "Texas", "zip" : 5603 } ] }
  • 32. RDBMS Document Oriented DBs Database Database Table Collection Row Document Columns Document fields Index Index Join Embedded document or reference, $lookup op (v3.2) View Read only views (v3.4) Primary Key “_id” field of the document (Auto-generated 12 byte type unique within collection. Can be manually assigned as well. Can be composite)
  • 34. SQL Document Oriented DBs SELECT / WHERE db.<collection>.find({match}, {project}), $or $and $exists operators ORDER BY db.<collection>.find({}, {}).sort({sort object}) LIMIT / SKIP db.<collection>.find({}, {}).limit(n).skip(m) GROUP BY Aggregation Pipeline and Map-Reduce JOIN $lookup operator INSERT db.<collection>.insert({doc}) UPDATE db.<collection>.update({match},{doc}), $set & $unset op DELETE db.<collection>.remove({match}) CREATE INDEX db.<collection>.createIndex({index object}) VIEW db.createView(<view>, <source>, <pipeline>, <collation> ) Explain Plan db.<collection>.find({}, {}).explain()
  • 35.
  • 36. Issue Link MongoDB performance issues when used for OLAP/DW queries https://www.8kdata.com/blog/the-conundrum- of-bi-aggregate-queries-on-mongodb/ MongoDB queries don’t always return all matching documents! http://blog.couchbase.com/2016/july/testing- mongodb-and-couchbase-concurrent-query https://www.linkedin.com/pulse/mongodb- frankenstein-monster-nosql-databases-john-de- goes?trk=mp-reader-card MongoDB 3.2: Now Powered by PostgreSQL https://www.linkedin.com/pulse/mongodb-32- now-powered-postgresql-john-de-goes?trk=mp- reader-card MongoDB stale reads https://aphyr.com/posts/322-jepsen-mongodb- stale-reads
  • 37.
  • 39.
  • 40.
  • 41.
  • 42.  Mongo Chef  DocumentDB Studio

Editor's Notes

  1. http://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf
  2. http://www.csc.com/insights/flxwd/78931-big_data_universe_beginning_to_explode
  3. http://www.ibmbigdatahub.com/infographic/four-vs-big-data
  4. http://www.julianbrowne.com/article/viewer/brewers-cap-theorem http://cs-www.cs.yale.edu/homes/dna/papers/abadi-pacelc.pdf https://medium .baqend.com/nosql-databases-a-survey-and-decision-guidance-ea7823a822d#.3r9t0lww1 http://nathanmarz.com/blog/how-to-beat-the-cap-theorem.html
  5. http://json.org/
  6. Collection = Logical Container Partition = Physical Container, up to 10GB, online auto partitioning, transactions scoped to partition key, sny path in a JSON doc can be made a partioon key
  7. https://github.com/lmaccherone/documentdb-lumenize https://feedback.azure.com/forums/263030-documentdb/suggestions/6333963-add-support-for-aggregate-functions-like-count-su