MongoDB is getting into Search
MongoDB World 2019 is going on, and there were some new products announced yesterday.Top take-away? I have been a bit critical of MDB being slow to move into new directions - however these new products make it clear that MDB is paying attention to what AWS and Elastic (ESTC) are doing.
It seems Atlas is getting all the good stuff from here and the open-source is being left as just a gateway drug. To me this weakens any worries about Elastic around the differences between open-source strategies. Elastic will likely do the same, expanding Elastic Cloud to have proprietary features like this.
MongoDB Atlas Data Lake (beta)
https://www.mongodb.com/atlas/data-lake
https://www.mongodb.com/blog/post/mongodb-atlas-data-lake-debuts-at-mongodb-world
As an on-demand service available in MongoDB's Atlas cloud data platform, there's no deployment process. All you need to begin your data exploration is to provide access to your S3 storage buckets. Users will configure Atlas Data Lake from the same UI as MongoDB Atlas operational clusters though a simple wizard to configure permissions, give read-only access to their S3 buckets, map S3 directories to databases and collections and get them ready to run queries. Atlas Data Lake will also provide stats on queries executed, data scanned and returned as well as average execution time.
Allow users to quickly search over S3 files (JSON, CSV, Parquet, Avro) using MongoDB query language (MQL). This is a full-frontal assault on AWS as a competing provider, matching AWS's Athena service. This is a new SaaS service built into Atlas.
I cannot be sure if this is using MongoDB in the equation or not, but I believe NOT per the architecture diagram on their main product page. Regardless, it is good to see MDB entering this direction. Not quite akin to what Elastic is doing (building enterprise search services on top of their own db), but regardless, at least it is curtailing a potential end-run that AWS is doing around the need for NoSQL databases. AWS Athena presents a way to circumvent needing a NoSQL database for searching over data files where slow-running speed is acceptable for "on-demand" queries. This new service cuts off that potential end-run, plus gives a new revenue avenue for a very related data-oriented service. It is an great new direction (the first service of theirs that is separate from core MongoDB) and I am impressed with the move. I don't see this really increasing TAM, but more about increasing their potential use cases to be a search engine over files, and in turn, strengthening their overall platform/ecosystem.
The initial marketing angle is selling it to existing customers so that they can leverage the MongoDB client and knowledge they already have in order to use this new feature. From the blog post:
By leveraging the MongoDB Query Language, you can apply one skill set to your data lake and your transactional databases. It isn't just the query language that works with Data Lake. The service is compatible with MongoDB drivers, the MongoDB Shell, MongoDB Compass and MongoDB BI Connector.
MongoDB Atlas Full-Text Search (beta)
https://www.mongodb.com/atlas/full-text-search
Allows users to filter, rank and sort through full-text data in Atlas, without needing an external search engine. This one is not surprising - they already have some full-text search capabilities in core MongoDB but it seems they are expanding it heavily in Atlas hosting. This cuts a path against their existing users from needing an additional Elasticsearch instance from Elastic or AWS; they are heavily selling the "don't have to maintain 2 separate systems" angle in marketing.
I'm not sure how much this will cut much into Elastic's bread and butter, it more prevents current users from having to look elsewhere for that feature. MongoDB already had a limited full-text search capability, but I am guessing they are seeing customers having to go elsewhere in certain use cases. So again, bolstering the overall platform.
Interestingly, they are using Apache Lucene under the hood (what Elasticsearch and Solr are both based on). So they have built their own indexing engine over MongoDB Atlas instances, and have a way to enable it in Atlas mgmt UI. No word on cost.
If you are already negative on ESTC, I'm sure this news doesn't help change your opinion. To me, in only bolsters the importance of what Elastic is enabling - MDB is reinforcing that SEARCH IS NECESSARY across ANY data set. For MDB, this is about keeping the existing customers happy by reducing their friction for this use case of needing full-text search over their MongoDB data, and less about cutting into ESTC's business. But I do expect this to expand from here and eventually enable searching over numeric/time-based datasets as well as full-text.
MongoDB Charts (GA)
https://www.mongodb.com/products/charts
https://www.mongodb.com/blog/post/mongodb-charts-is-now-generally-available
Lets customers create real-time visualizations from MongoDB, build and share dashboards and embed them directly into web apps. I've covered this already, it's just gone GA. It works with both Atlas as well as self-managed MongoDB instances. Elastic has a similar product, Canvas. Interactive dashboards are a hot topic.
MongoDB Enterprise Operator for Kubernetes (GA)
https://www.mongodb.com/blog/post/mongodb-enterprise-operator-for-kubernetes-now-generally-available
This is a control plane that allows full mgmt over MongoDB deployment across all self-managed environments (on-premise, private cloud, public cloud, hybrid). Works with Redhat OpenShift and Pivotal PKS. It is an open-source project, not an enterprise product.
MongoDB v4.2
In addition, MongoDB 4.2 was released. New features:
- distributed transactions extends multi-document ACID guarantees in globally distributed datasets, allowing commit/rollback transactions across a sharded cluster.
- field level encryption enables encryption-at-rest within MongoDB. Server has no method to decrypt; all decryption handled by the client driver.
- wildcard indexes allows easier use of indexes over loosely structured data where property name can be a mix of strings.
- on-demand materialized views allows you to update existing materialized views to refresh the data, instead of recreating anew each time.
-muji