December 20, 2017 | Updated: January 8, 2018
Welcome to part 3 of our MongoDB 3.6 blog series.
- In part 1 we took a look at the new capabilities designed specifically to help developers build apps faster, including change streams, retryable writes, developer tools, and fully expressive array manipulation.
- In part 2, we dived into the world of DevOps and distributed systems management, exploring Ops Manager, schema governance, and compression.
- In today’s part 3 we’ll cover what’s new for developers, data scientists, and business analysts with the new SQL-based Connector for BI, richer in-database analytics and aggregations, and the new recommended driver for R.
- In our final part 4, we’ll look at all of the new goodness in our MongoDB Atlas fully managed database service available on AWS, Azure, and GCP, including Cross-region replication for globally distributed clusters, auto-scaling, and more.
If you want to get the detail now on everything the new release offers, download the Guide to What's New in MongoDB 3.6.
Speed to Insight
How quickly an organization can unlock and act on insights from data generated by new applications has become a material source of competitive advantage. Collecting data in operational systems and then relying on batch ETL (Extract, Transform, Load) processes to update an expensive data warehouse or complex and ungoverned data lake is no longer sufficient. Speed to insight is critical, and so analytics performed against live data to drive operational intelligence is fast becoming a necessity, without having to employ armies of highly skilled and scarce data engineers and scientists.
MongoDB 3.6 delivers a number of new features and capabilities that allow organizations to enable real-time analytics and action.
MongoDB Connector for BI: Faster and Simpler
MongoDB 3.6 brings a number of performance and ease-of-use enhancements to the BI Connector, enabling faster time to insight using SQL-based BI and Analytics platforms.
Faster The connector takes advantage of enhancements to the aggregation pipeline – discussed later on this post – to deliver higher performance, with more operations pushed natively to the database. Prior to MongoDB 3.6, only left outer equijoins could be pushed down to the database – all other JOIN types had to be executed within the BI connector layer, which firstly required all matching data to be extracted from the database. With MongoDB 3.6, support is being extended to non-equijoins and the equivalent of SQL subqueries. These enhancements will reduce the amount of data that needs to be moved and computed in the BI layer, providing faster time to insight.
In addition, performance metrics are now observable via the Show Status function, enabling deeper performance insights and optimizations.
Simpler To support easier configuration, the mongosqld process now samples and maps the MongoDB schema, caching the results internally and eliminating the need to install the separate mongodrdl component. Additionally, users can simplify lifecycle management by configuring, deploying, and monitoring the BI connector directly from Ops Manager.
To simplify the enforcement of access controls, BI Connector users can now be authenticated directly against MongoDB using new client-side plugins, eliminating the need to manage TLS certificates. Review the documentation for the C and JDBC authentication plugins to learn more. Authentication via Kerberos is also now supported.
Richer Aggregation Pipeline
Developers and data scientists rely on the MongoDB aggregation pipeline for its power and flexibility in enabling sophisticated data processing and manipulation demanded by real-time analytics and data transformations. Enhancements in the aggregation pipeline unlock new use cases.
A more powerful $lookup operator extends MongoDB’s JOIN capability to support the equivalent of SQL subqueries and non-equijoins. As a result, developers and analysts can write more expressive queries combining data from multiple collections, all executed natively in the database for higher performance, and with less application-side code.
In addition to
$lookup, the aggregation pipeline offers additional enhancements:
- Support for timezone-aware aggregations. Before timezone awareness, reporting that spanned regions and date boundaries was not possible within the aggregation pipeline. Now business analysts can group data for multi-region analysis that takes account of variances in working hours and working days across different geographic regions.
- New expressions allow richer data transformations within the aggregation pipeline, including the ability to convert objects to arrays of key-value pairs, and arrays of key-value pairs to be converted to objects. The mergeObjects expression is useful for setting missing fields into default values, while the REMOVE variable allows the conditional exclusion of fields from projections based on evaluation criteria. You can learn more about the enhancements from the documentation.
More Expressive Query Language
MongoDB 3.6 exposes the ability to use aggregation expressions within the query language to enable richer queries with less client-side code. This enhancement allows the referencing of other fields in the same document when executing comparison queries, as well as powerful expressions such as multiple JOIN conditions and uncorrelated subqueries. The addition of the new expression operator allows the equivalent of
SELECT * FROM T1 WHERE a>b in SQL syntax. Learn more from the $expr documentation.
R Driver for MongoDB
A recommended R driver for MongoDB is now available, enabling developers, data scientists, and statisticians to get the same first-class experience with MongoDB as that offered by the other MongoDB drivers – providing idiomatic, native language access to the database. The driver supports advanced MongoDB functionality, including:
- Read and write concerns to control data consistency and durability.
- Enterprise authentication mechanisms, such as LDAP and Kerberos, to enforce security controls against the database.
- Support for advanced BSON data types such as Decimal 128 to support high precision scientific and financial analysis.
That wraps up the third part of our what’s new blog series. Remember, if you want to get the detail now on everything the new release offers, download the Guide to What’s New in MongoDB 3.6.
Alternatively, if you’d had enough of reading about it and want to get started now, then: