5. New Geospatial Features
• Polygon intersections
• More accurate spherical model
• $near and $within work with Aggregation
Framework
• Analytics now location-aware
6. GeoJSON
• Geospatial interchange format based on JSON
• Supports Points, LineStrings & Polygons
• Complete spec available at http://geojson.org
8. $GeoIntersects
• Leverages GeoJSON
• Geospatial query operator that selects all
locations that intersect with a GeoJSON object
• Uses spherical geometry
11. New Aggregation Framework
Features
• Introduced in 2.2, came of age in 2.4
• Performance Improvements
• 3 – 5 x faster
• Geo $near and $within support
• $concat support
• Support for Binary Data (pass through)
13. Text Search (beta)
• Real-time indexes
• Case-insensitive
• Stemming, tokenization & stop words for 15 languages
• Index size is comparable with other full text search
implementations (larger than standard MongoDB
indexes)
• BETA status… please use in dev & give feedback
14. Stemming Examples
• { walk, walked, walking, walks } ⇒ walk
• {magazine, magazines, magazine’s } ⇒
magazine
• {runs, running, run, ran } ⇒ { run, ran }
15. Examples of English Stop
Words
{
am, themselves, of, before, here, whi
le, what's, myself, ought, me, the, int
o, about, this, do, can't, a, ... }
16. Option 1: on the command line
$ mongod --setParameter textSearchEnabled=true
Option 2: as admin command to mongod or mongos
> db.adminCommand(
{ setParameter: 1, textSearchEnabled: true }
)
Enabling Text Search
21. Capped Arrays
• Provides the ability to manipulate arrays with
more control than ever before
• $push now supports the following:
• $each permits pushing multiple entries onto an
array
• $slice maintains a fixed size array
• Can be stacked with $sort
27. Hash-based Sharding
• Easier to manage clusters
• Less rebalancing
• More event distribution for reads and writes
• Lower potential performance from range based, but
more consistent.
• The hash stored in the hashed index is 64 bits of the
128 bit md5 hash
• MongoDB can use the hashed index to support equality
queries, but hashed indexes do not support range
queries.
30. Working Set Analyzer
• Working Set: The set of data kept in memory
• MongoDB performance best when working
set < RAM
• Working set analyzer measures resources used
over time
• Leads to more efficient MongoDB usage
33. Index Operation Management
• A single mongod instance can build multiple
indexes in the background at the same time.
• db.killOp() can now kill foreground index builds
• Improved validation of index types
36. Role Based Privileges
Replication Improvements
• Better detection of network hiccups (less false
negatives)
• Faster initial sync when adding new secondary
38. V8 JavaScript Engine
• Affects all JS processing including
MapReduce, the shell and $where queries
• Greater concurrency
• User feedback very positive indicating dramatic
improvement in overall processing time with new
V8
39. Improvements All Over
• Aggregation 3x – 5x faster
• Faster Counting
– Low-cardinality index-based counts up to 20x faster
– Better performance on counting, e.g., count all the
males/females in my user list
• Faster $elemMatch
41. Role Based Privileges
Role Based Privileges
• Builds on access controls introduced in 2.2
• Users granted roles that have specific privileges per
database
• Users can have multiple roles
• Roles include
– read
– readWrite
– userAdmin
– dbAdmin
– clusterAdmin
42. Role Based Privileges
Enhanced SSL Support
• Supported in open source edition of MongoDB
• Must be compiled using --ssl flag
• Uses a standard .pem file that contains the SSL
certificate and key
• Complete directions available in the MongoDB
documentation
http://docs.mongodb.org/manual/administration/ssl/
44. MongoDB Enterprise
• Advanced Security
– Kerberos authentication protocol
– SSLsupportbuilt in
• Monitoring
– On-PremMonitoring- visualization,alerts on 100+ system metrics
– Includes same featuresas (MMS)
• Enterprise Software Integration
– SNMPsupports integration w/popularmonitoring tools (e.g., Nagios )
• Certified OS Support
– Red Hat/CentOS,Ubuntu andAmazon Linux
45. Subscriptions
Basic Standard Enterprise
Edition MongoDB MongoDB MongoDB Enterprise
SLA 4 hours 1 Hour 30 Minutes
Support
9am – 9pm ET
M – F
24x7x365 24x7x365
License AGPL Commercial Commercial
Price per Host $2,500 $5,000 $7,500
Editor's Notes
The following update uses the $push operator with:the $each modifier to append to the array 2 new elements,the $sort modifier to order the elements by ascending (1) score, andthe $slice modifier to keep the last 3 elements of the ordered array.