Transcript MongoDB 3.2

What’s New in MongoDB 3.2
Massimo Brignoli
Senior Solutions Architect, MongoDB
MongoDB 3.2 – a BIG Release
Agg. Framework
Location-Aware Sharding
2.2
Hash-Based Sharding
Roles
Kerberos
On-Prem Monitoring
$out
Index Intersection
Text Search
Field-Level Redaction
LDAP & x509
Auditing
2.4
2.6
Doc-Level Concurrency
Compression
Storage Engine API
≤50 replicas
Auditing ++
Ops Manager
3.0
Document Validation
Fast Failover
Simpler Scalability
Aggregation ++
Encryption At Rest
In-Memory Storage
Engine
BI Connector
$lookup
MongoDB Compass
APM Integration
Profiler Visualization
Auto Index Builds
Backups to File System
3.2
Themes
Broader use case portfolio. Pluggable storage engine strategy enables us to
rapidly cover more use cases with a single database.
Mission-critical apps. MongoDB delivers major advances in the critical areas
of governance, high availability, and disaster recovery.
New tools for new users. Now MongoDB is an integral part of the tooling and
workflows of Data Analysts, DBAs, and Operations teams.
Storage Engines Broaden Use Cases
Varying Access & Storage Requirements
High
concurrency
High
throughput
Cost
effective
storage
Sensitive
data
Low latency
Modern
apps
Real-time
analytics
Flexible Storage Architecture in 3.2
WiredTiger is the New Default
WiredTiger – widely deployed with 3.0 – is
now the default storage engine for
MongoDB.
•
Best general purpose storage engine
•
7-10x better write throughput
•
Up to 80% compression
117k Security Attacks…..PER DAY
PWC:
Global State of
Information Security
Encrypted Storage Engine
Encrypted storage engine for end-to-end
encryption of sensitive data in regulated
industries
•
Reduces the management and performance
overhead of external encryption mechanisms
•
AES-256 Encryption, FIPS 140-2 option available
•
Key management: Local key management via
keyfile or integration with 3rd party key
management appliance via KMIP
•
Based on WiredTiger storage engine
•
Requires MongoDB Enterprise Advanced
“Protecting sensitive data assets is one of most important things
we do. The new Database Encryption feature in MongoDB 3.2 is a
significant step forward in allowing us to more simply add
encryption at-rest to our list of security controls.
In our tests, we found the new database encryption feature easy
to enable, stable and consistent with our performance
expectations.”
Shawn Drew
Data Integration Solutions Architect
University of Washington
In-Memory Economic Viability
In-Memory Storage Engine (Beta)
Handle ultra-high throughput with low
latency and high availability
•
Delivers the extreme throughput and predictable
latency required by the most demanding apps in
Adtech, finance, and more.
•
Achieve data durability with replica set members
running disk-backed storage engine
•
Available for beta testing and is expected for GA in
early 2016
One Deployment Powering Multiple Apps
Built for Mission Critical Deployments
A 10% improvement in data usability
at a Fortune 1000 company could
increase revenues by $2 BN per year
Source: University of Texas, Austin
Data Governance with Document Validation
Implement data governance without
sacrificing agility that comes from dynamic
schema
•
Enforce data quality across multiple teams and
applications
•
Use familiar MongoDB expressions to control
document structure
•
Validation is optional and can be as simple as a
single field, all the way to every field, including
existence, data types, and regular expressions
Document Validation Example
The example on the left adds a rule to the
contacts collection that validates:
•
The year of birth is no later than 1994
•
The document contains a phone number and / or
an email address
•
When present, the phone number and email
addresses are strings
“Rocket.Chat and our other applications need to be able to quickly
access various types of data to provide a seamless solution for our
users.
With MongoDB 3.2, we will now be able to implement the data
governance we’re seeking, without sacrificing agility that comes from
dynamic schema. The newfound ability to use familiar MongoDB
expression syntax to control document structure, rather than learning a
whole new language or process, is key for us.”
Gabriel Engel
Founder and CEO
Rocket.Chat
Enhancements for your mission-critical apps
More improvements in 3.2 that optimize the
database for your mission-critical
applications
•
Meet stringent SLAs with Raft-base fast-failover
algorithm
–
Under 2 seconds to detect and recover from
replica set primary failure
–
•
Enhanced durability through write conerns
Simplified management of sharded clusters
allow you to easily scale to many data centers
–
Config servers are now deployed as replica
sets; up to 50 members/locations
Tools for Users Across Your Organization
For Business Analysts & Data Scientists
MongoDB 3.2 allows business analysts and
data scientists to support the business with
new insights from untapped data sources
•
MongoDB Connector for BI
•
Dynamic Lookup
•
New Aggregation Operators & Improved Text
Search
Only 0.5% of data is analyzed
Source: IDC
MongoDB Connector for BI
Visualize and explore multi-dimensional
documents using SQL-based BI tools. The
connector does the following:
•
Provides the BI tool with the schema of the
MongoDB collection to be visualized
•
Translates SQL statements issued by the BI tool
into equivalent MongoDB queries that are sent to
MongoDB for processing
•
Converts the results into the tabular format
expected by the BI tool, which can then visualize
the data based on user requirements
“We are thrilled to enable Tableau users, who traditionally work with their
relational data, to fully integrate the multi-structured data stored in the
database powering modern applications via the new MongoDB BI Connector”
Jeffrey Feng
Product Manager
Tableau Software
Dynamic Lookup
Combine data from multiple collections with
left outer joins for richer analytics & more
flexibility in data modeling
•
Blend data from multiple collections for analysis
•
Higher performance analytics with less applicationside code and less effort from your developers
•
Executed via the new $lookup operator, a stage in
the MongoDB Aggregation Framework pipeline
“I am most excited by the dynamic lookups coming in MongoDB 3.2. The ability
to more easily join customer data with 3rd-party data feeds gives us more
flexibility in data modeling, and simplifies the real-time analytics we rely on to
constantly improve our value to our customers.”
David Strickland
CTO
MyDealerLot
Aggregation Pipeline
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
Aggregation Pipeline
$match
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{}
Aggregation Pipeline
$match
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{}
Aggregation Pipeline
$match
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
$project
{★ds}
{★ds}
{★ds}
{}
{=d+s}
Aggregation Pipeline
$match
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
$project
{★ds}
{★ds}
{★ds}
{★}
{★}
{★}
{}
{=d+s}
Aggregation Pipeline
$match
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{}
$project
$lookup
{★}
{★}
{★}
{=d+s}
{★}
{★}
{★}
{★}
Aggregation Pipeline
$match
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{}
$project
{★}
{★}
{★}
{=d+s}
$lookup
{★[]}
{★[]}
{★}
{★}
{★}
{★}
{★}
Aggregation Pipeline
$match
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
{★ds}
$project
$lookup
$group
{
{★ds}
{★ds}
{★ds}
{}
{★}
{★}
{★}
{=d+s}
Σ λ σ}
{★[]}
{
{★[]}
Σ λ σ}
{★}
{
Σ λ σ}
{★}
{★}
{★}
{★}
Improved In-Database Analytics & Search
New Aggregation operators extend options for
performing analytics and ensure that answers
are delivered quickly and simply with lower
developer complexity
•
Array operators: $slice, $arrayElemAt, $concatArrays,
$filter, $min, $max, $avg, $sum, and more
•
New mathematical operators: $stdDevSamp,
$stdDevPop, $sqrt, $abs, $trunc, $ceil, $floor, $log,
$pow, $exp, and more
•
Random sample of documents: $sample
•
Case sensitive text search and support for additional
languages such as Arabic, Farsi, Chinese, and more
For Database Administrators
MongoDB 3.2 helps users in your
organization understand the data in your
database
•
MongoDB Compass
–
For DBAs responsible for maintaining the
database in production
–
No knowledge of the MongoDB query
language required
MongoDB Compass
For fast schema discovery and visual
construction of ad-hoc queries
•
Visualize schema
–
Frequency of fields
–
Frequency of types
–
Determine validator rules
•
View Documents
•
Graphically build queries
•
Authenticated access
MongoDB Compass
Up to 80% of TCO is driven by
on-going operations and
maintenance costs
Source: Gartner
For Operations Teams
MongoDB 3.2 simplifies and enhances
MongoDB’s management platforms. Ops
teams can be 10-20x more productive using
Ops and Cloud Manager to run MongoDB.
•
Start from a global view of infrastructure:
Integrations with Application Performance
Monitoring platforms
•
Drill down: Visual query performance diagnostics,
index recommendations
•
Then, deploy: Automated index builds
•
Refine: Partial indexes improve resource
utilization
Integrations with APM Platforms
Easily incorporate MongoDB performance
metrics into your existing APM dashboards
for global oversight of your entire IT stack
•
MongoDB drivers enhanced with new API that
exposes query performance metrics to APM tools
•
Packaged integration with Cloud Manager to
visualize server metrics
•
Deep dive with Ops and Cloud Manager offering
rich database monitoring & tools for common
operations tasks
“We've been really excited to work with MongoDB on enhancing their APM
integration with the New Relic platform. MongoDB has become an integral
part of the tooling and workflows of DBAs and Operations teams and we
expect the trend to increase.
To support MongoDB 3.2, we jointly-developed an integration between
MongoDB Ops Manager and New Relic APM, Insights, and Plugins. These
integrations mean MongoDB health can now be monitored alongside the rest
of the application estate.".”
Cooper Marcus
Senior Product Manager
New Relic.
Query Perf. Visualizations & Optimization
Fast and simple query optimization with the
new Visual Query Profiler
•
Query and write latency are consolidated and
displayed visually; your ops teams can easily
identify slower queries and latency spikes
•
Visual query profiler analyzes the data it displays
and provides recommendations for new indexes
that can be created to improve query performance
•
Ops Manager and Cloud Manager can automate
the rollout of new indexes, reducing risk and your
team’s operational overhead
“I’m excited by the availability of Visual Query Profiler in Ops Manager &
Cloud Manager. It helps us tremendously improve the performance of our
database by identifying queries that are slowing us down and provides
recommendations for new indexes -- which it can then build through a rolling
index build.”
Daniel Rubio
Director
Mondo Sports Ltd
Refine with Partial Indexes
Balance delivering good query performance
while consuming fewer system resources
•
Specify a filtering expression during index creation
to instruct MongoDB to only include documents
that meet your desired conditions
•
The example to the left creates a compound index
that only indexes the documents with the rating
field greater than 5
Ops Manager Enhancements
3.2 includes Ops Manager enhancements to
improve the productivity of your ops teams and
further simplify installation and management
• MongoDB backup on standard network-mountable filesystems;
integrates with your existing storage infrastructure
• Automated database restores; Build clusters from backup in a
few clicks
• Faster time to first database snapshot
• Support for maintenance windows
• Centralized UI for installation and config of all application and
backup components
Next Steps
•
•
•
•
•
Download the Whitepaper
– https://www.mongodb.com/collateral/mongodb-3-2-whats-new
Read the Release Notes
– https://docs.mongodb.org/manual/release-notes/3.2/
Not yet ready for production but download and try!
– https://www.mongodb.org/downloads#development
Detailed blogs
– https://www.mongodb.com/blog/
Feedback
– MongoDB 3.2 Bug Hunt
• https://www.mongodb.com/blog/post/announcing-the-mongodb-3-2-bug-hunt
– https://jira.mongodb.org/
DISCLAIMER: MongoDB's product plans are for informational purposes only. MongoDB's plans may
change and you should not rely on them for delivery of a specific feature at a specific time.
Questions
Massimo Brignoli ([email protected]) @massimobrignoli