Information Retrieval in MongoDB
Data storage, Indexing and Querying
Kaustubh Dhokte (NB97699) University Of Maryland Baltimore County CMSC 676: Information Retrieval
Information Retrieval in MongoDB Data storage, Indexing and Querying - - PowerPoint PPT Presentation
Information Retrieval in MongoDB Data storage, Indexing and Querying Kaustubh Dhokte (NB97699) University Of Maryland Baltimore County CMSC 676: Information Retrieval Agenda Introduction to MongoDB MongoDB Architecture MongoDB Storage
Kaustubh Dhokte (NB97699) University Of Maryland Baltimore County CMSC 676: Information Retrieval
´ Introduction to MongoDB ´ MongoDB Architecture ´ MongoDB Storage Architecture ´ Indexing in MongoDB ´ MongoDB Query Engine
´ Database Engine ´ Open Source ´ Distributed ´ Full Fledged
´ Text Search ´ Aggregation ´ Cloud Based
´ RDBMS or Document Based? ´ SQL or NoSQL? ´ Dynamic ´ Horizontally Scalable
´ Sharding
´ Fault Tolerant
´ Replica Sets
´ Load Balanced
´ Databases ´ Collections ´ Indexes ´ BSON http://bsonspec.org/
´ Database drivers of popular languages
´ WiredTiger (Default) ´ MMAPv1 (Deprecated in latest version of MongoDB) ´ In-memory
´ Non-persistent
´ Encrypted ´ 3rd Party Integrations
´ E.g. RocksDB
´ Index Data Structure: B-Tree ´ Primary Indexes: _id ´ Secondary (User defined indexes)
´ Single Field ´ Compound Index ´ Multikey ´ Text ´ Hashed
´ Unique ´ Partial ´ TTL indexes
´ Inputs
´ Predicate ´ Projection ´ Sort
´ Outputs Blueprint of what happens in query execution
´ Index Selection
´ IXSCAN ´ COLLECTIONSCAN ´ AND/OR
´ Access: Plan Generation ´ Analysis: Sort, Project
´ Selecting Best Plan
´ One Work Unit:
´ One index key ´ One document
´ Results Produced per work unit executed
´ Plan Ranking ´ Plan Caching
´ https://www.researchgate.net/figure/MongoDB-architecture- researchgate-2018_fig2_330841309 ´ https://www.mongodb.com/blog/post/building-applications-with- mongodbs-pluggable-storage-engines-part-1 ´ https://www.slideshare.net/NorbertoLeite/mongodb-internals-55965341 ´ https://docs.mongodb.com/manual/