We’ve joined forces with Smartlogic to reveal smarter decisions—together.

A Tale of Two Facets: MongoDB vs MarkLogic

In a recent blog post titled, Faceted Search with MongoDB” users are guided through the process of creating a simple faceted search application for a bookstore catalogue. Rudimentary functionality is specified and restrictive assumptions are made to compensate for MongoDB’s deficiencies. These deficiencies have a measurable negative impact when developing applications in the context of an agile enterprise.

MarkLogic easily overcomes these deficiencies, offering enterprises a far greater ROE (return on effort). Developers are free to pursue higher value business tasks.  There is no requirement to spend valuable time programming basic search features, like faceting, or bolting on 3rd party tools, which the author admits adds “Extra complexity due to adding another ‘moving part’ to your deployment.”

In its blog, MongoDB also made a surprising admission that:

Your application must deal with the fact that the system as a whole is now eventually consistent, with respect to the data stored in MongoDB versus the data stored in the external search engine. This may be undesirable, particularly for a product catalog that changes very frequently, for example.

With MarkLogic, there is also no requirement that facets be “well-known up front, and change rarely if at all” as was prescribed in the MongoDB example. There is no need to assume that the number of facets is small, the number of possible facet values is small, or that each item in the catalog will have only one facet value for each facet. ).”  In fact, it isn’t hard to find many real world examples where documents need to be represented with more than one facet value in a facet. For example, songs can be classified in more than one genre, students can have more than one major and purchase orders can buy goods and services for more than one project. Finally, when using an ACID compliant or (what we call an Enterprise NoSQL database) like MarkLogic, your system is always consistent.

But why take my word for it? Readers are encouraged to visit “Building Faceted Search Applications with MarkLogic App Builder ” to see an alternate approach for rapidly building faceted search applications. Search and discovery is a core component of a new paradigm for building powerful information based, workflow oriented business applications.  When built on MarkLogic, these applications can leverage Big Data volume, velocity and variety for operational efficiencies and new business opportunities. However, when developers and database architects must spend time building foundational features like faceted search for MongoDB applications, and integrating 3rd party and open source tools that add “moving part” complexity, Big Data becomes an enterprise albatross rather than a strategic asset.


Michael Malgeri - Principal Technologist | MarkLogic

Michael Malgeri is a Principal Technologist with MarkLogic. He works with companies to match their business requirements with MarkLogic’s enterprise NoSQL database and semantic features. He helps organizations reduce costs, automate processes, find new opportunities and create applications that bring high value to businesses and their customers. Michael focuses on the media and entertainment industry, where content providers, distributors and related companies are seeking to leverage the power of data in order to capture new opportunities driven by expanding global information consumption.

Michael holds Master’s Degrees in Computer Science, Business and Mechanical Engineering. He's been a Certified Project Management Professional since 2011.

Start a discussion

Connect with the community




Most Recent

View All

Unifying Data, Metadata, and Meaning

We're all drowning in data. Keeping up with our data - and our understanding of it - requires using tools in new ways to unify data, metadata, and meaning.
Read Article

How to Achieve Data Agility

Successfully responding to changes in the business landscape requires data agility. Learn what visionary organizations have done, and how you can start your journey.
Read Article

Scaling Memory in MarkLogic Server

This not-too-technical article covers a number of questions about MarkLogic Server and its use of memory. Learn more about how MarkLogic uses memory, why you might need more memory, when you need more memory, and how you can add more memory.
Read Article
This website uses cookies.

By continuing to use this website you are giving consent to cookies being used in accordance with the MarkLogic Privacy Statement.