Download - MongoDB
![Page 1: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/1.jpg)
GROUP 1 | CMPE 281 | SJSU
![Page 2: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/2.jpg)
WHAT IS MONGODB?
● HYBRID, INDEXABLE, DOCUMENT-ORIENTED
● REPLICATION, AUTO-SHARDING, MAP/REDUCE
● PARTIALLY STRUCTURED, NOT ENFORCED
● QUERY DATA, NO UNIQUE IDENTIFIER
● USES BINARY PROTOCOL
Sai
![Page 3: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/3.jpg)
DESIGN FEATURES
● MAXIMUM AVAILABILITY
● EVENTUAL CONSISTENCY
● STAND-ALONE (SINGLE INSTANCE) VS. “SHARDED”
● MASTER-SLAVE APPROACH
● CONFIG SERVERS (MANAGERS)
● PROXIES (GATEWAY TO DATA)
Sai
![Page 4: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/4.jpg)
STRUCTURE
• MONGOD: STORES DATA, BASIC PROCESS (STANDALONE, SHARDED)
• CONFIG-MONGOD: STORES LOCATION AND SIZE OF SHARDS
• MONGOS: PROXY ACCESSED BY USER (STATELESS)
Christoph
![Page 5: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/5.jpg)
STRUCTURE
Christoph
![Page 6: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/6.jpg)
WRITE CONCERNS
• 13 MODES
• NORMAL: RETURN AFTER FORWARDED
• SAFE: RETURN AFTER ONE STORED (RAM)
• FSYNC_SAFE: RETURN AFTER ONE STORED (PERSISTENT STORAGE)
• NONE: RETURN IMMEDIATELY
• (IGNORE_ERROR, REPLICA_ACKNOWLEDGED, …)
Christoph
![Page 7: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/7.jpg)
CONSISTENCY
• CONFIG SERVERS
o TWO-PHASE COMMIT
o SYNCHRONOUS REPLICATION
o READ-ONLY MODE IN EVENT OF FAILURE
• SHARDS
o REPLICATED NODES
o SELF AUTO LOAD BALANCING
Chi
![Page 8: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/8.jpg)
SCALING
● ADDING SHARDING SERVERS
● ADDING CONFIG SERVERS
● ADDING PROXIES
● TUNING CONSISTENCY
Chi
![Page 9: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/9.jpg)
TRADE OFFS
• AVAILABILITY AT THE PRICE OF CONSISTENCY
• MULTIPLE NODES WITH EVENTUAL CONSISTENCY
• PRE-ALLOCATION VS. FILE SYSTEM FRAGMENTATION
Chi
![Page 10: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/10.jpg)
TRADE OFFS
Sai
![Page 11: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/11.jpg)
DEMO
![Page 12: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/12.jpg)
starting the service
starting the prompt
![Page 13: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/13.jpg)
getting info
about current
database
showing other
available
databases
switching to
database
(created if not
existent)
![Page 14: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/14.jpg)
defining
documents
inserting
documents
![Page 15: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/15.jpg)
performing
query without
criteria
performing query with simple criteria
using $in command
![Page 16: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/16.jpg)
performing query with nested command using $in and
$or
updating entry matching specific criteria (adding field
“age”)
![Page 17: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/17.jpg)
removing entry matching criteria from database
![Page 18: MongoDB](https://reader034.vdocuments.net/reader034/viewer/2022042813/549258eab47959ff088b48e2/html5/thumbnails/18.jpg)