Aug 21, 2015
Introduction to 3.0
By: Osmar “Oz” Olivo
Product Manager
MongoDB Inc.
Agenda
• Pluggable Storage Engines• WiredTiger Integration• Concurrency• Compression• Enhanced Querying & Tools• Administration Enhancements• Replication Enhancements
Pluggable Storage Engines
• Vision– One data model, one API, one set of operational
concerns » Under the hood, many options for every use
case under the sun
Storage Engine Layer
Storage Engine Layer
Content Repo
IoT Sensor Backend
Ad ServiceCustomer Analytics
Archive
MongoDB Query Language (MQL) + Native Drivers
MongoDB Document Data Model
MMAP V1 WT In-Memory ? ?
Supported in MongoDB 3.0 Future Possible Storage Engines
Ma
na
ge
me
nt
Se
curi
ty
Experimental in MongoDB 3.0
WiredTiger Integration
Why WT?
They’re Grrrreat!
Why WT?
• WT product and team acquired by MongoDB– Authors former members of Berkeley DB team– Standalone engine in use in production today
• WT addresses weaknesses of MMAPv1– Compression– Highly concurrent and enables full hardware utilization– More tunable
Concurrency
MMAPv1 Concurrency Improvements
• Collection Level Concurrency– One lock per collection– Write operations to a collection block all other
operations on that collection– Read operations to a collection block writes to that
collection• Allow other read operations to occur concurrently
Concurrency in WiredTiger
• Document Level Concurrency – Uses various algorithms to minimize contention
between threads– One thread yields on contention to same document
• Writes no longer block all other writes • CPU utilization directly correlates with performance
Compression
Compression (WT only)
• Compression is on in WT by default• 3.0 supports two compression algorithms
– snappy (default)• Good compression benefits with little
CPU/performance impact– zlib
• Extremely good compression at a cost of additional CPU/degraded performance
Enhanced Querying & Tools
Indexing & Querying
• Explain() 2.0– explain() revamped
• Now allows for improved query inspection• Geospatial Big Polygon support
– Improved handling of polygons with an area greater than a single hemisphere
• $dateToString operator in aggregation – Allows user to specify string format for which to
convert a date into
Tools Improvements
• MongoDB Server Tools Rewritten in GO– Removed all server dependencies– Allows for much faster iteration
• Parallelized data loading tools– dump/restore & import/export– highly improved loading and export times
Administration Enhancements
Administration
• Role Based Auditing– Auditing rules can be set to filter on specific roles– Useful for auditing certain kinds of accesses or users
• Logging Improvements– New component system– Able to filter by severity levels
Replication
Replication
• Replica set limit raised from 12 to 50• Meets a much higher HA standard
– Can deploy across many more regions and DC’s– Increases locality of data across deployments– Easier to guarantee local reads across many regions
Questions?