What is our primary use case?
I used MarkLogic for a total of two years.
When it comes to main use cases, I used MarkLogic as a backend service for handling complex structured data such as XML or JSON. I have REST API services and modules using XQuery where the system needed efficient storage, query, and transforms of large volumes of data. Additionally, I worked with real-time ingestion pipelines where data from multiple sources were processed and stored in MarkLogic, enabling real-time access and updates.
MarkLogic is designed for multi-handle multi-model data, which means it can natively store and query XML documents, JSON documents, and unstructured and semi-structured data. Instead of normal database joins, MarkLogic works by querying inside a document efficiently using indexes. In one of my projects, we used MarkLogic to manage a large-scale document processing system, where we ingested data from multiple upstream systems in XML and JSON format, such as product or property-related data. As soon as the data was ingested, it became immediately searchable due to MarkLogic indexing. MarkLogic handles semi-structured data by storing it as a document, automatically indexing it, and allowing real-time query and updates using XQuery and strong consistency.
My experience with MarkLogic demonstrates how we leveraged its features beyond just data storage. For example, I worked on optimizing queries written in multiple modules, mostly related to searching with text and applying structured filters, which significantly improved query accuracy and performance. Apart from basic features, I have worked on performance tuning, indexing strategies, and combining full-text search with structured query. I also used MarkLogic as both a database and search engine, which helped to simplify our architecture.
In our use cases, MarkLogic's universal indexing and clustering have a direct impact on performance and scalability, and it has helped us significantly. In normal databases, we need to define indexes up front, and if a new query comes in, we often need a schema or indexes. In MarkLogic, all data such as XML and JSON were automatically indexed, and we did not need to pre-plan any query patterns. In real time, we had a dynamic search requirement with filters, pricing, location, and keywords, and instead of creating multiple indexes manually, we leveraged our universal index plus range index. For example, when a user searches with multiple filters plus keywords, queries are still fast because MarkLogic uses its internal index instead of scanning documents. Regarding clustering, we have our MarkLogic clustered environment. When multiple nodes work together, horizontal scaling is part of it, as we could add more nodes if data grew, ensuring high availability. For instance, if one node failed, another would handle that traffic. During high traffic, the system stayed stable, and we handled the large data volume without performance degradation. Universal indexing helps us avoid manual indexing management while still providing fast queries for dynamic searches, and clustering allows us to scale horizontally and handle high traffic with no latency and high availability.
What is most valuable?
MarkLogic offers several powerful features. First, there is universal indexing, in which it automatically indexes all the stored XML and JSON documents. Second, it can handle both XML and JSON unstructured data in a single database, which makes it flexible for complex and evolving data requirements. The third is the ACID property. Unlike many NoSQL databases, it provides strong consistency with ACID transactions, which is critical for real-time and reliable applications. It also supports horizontal scaling and clustering, which helps in handling large volumes of data and high traffic efficiently.
One feature that stood out to me in our project is its ability to combine search and database capability on a single platform. The tight integration of full-text search with structured query makes it very powerful for building real-time search applications without relying on any external tools. It simplifies our architecture and reduces system complexity. I also appreciate its flexibility with data models, especially handling both XML and JSON seamlessly, which can be very useful in our use cases with multiple data resources.
Using MarkLogic has had a significant positive impact on our organization, especially in terms of performance, flexibility, and reliability. With MarkLogic's universal indexing and built-in search, we have seen query response times improve noticeably. Complex searches dropped from a few seconds to sub-second response times in many cases. Users could perform combined keyword plus filter searches in real time, directly improving our application experience. Before implementing MarkLogic, we were using a relational database and NoSQL as separate search engines, requiring Elasticsearch and others. With MarkLogic providing a single platform for both storage and search, we reduced integration overhead, maintenance efforts, and failure points. The schema flexibility for XML and JSON allowed us to onboard new data sources faster. The ACID transactions that MarkLogic provides are crucial and something rarely supported by NoSQL databases. MarkLogic improved our system by enabling faster search, reducing the response time from seconds to sub-seconds, reducing architectural complexity by combining database and search, and improving reliability through ACID transactions and clustering.
What needs improvement?
While MarkLogic is powerful, there are areas where I feel it could improve. When I started with MarkLogic, I found that its learning curve and developer experience are not very comfortable for beginners. Technologies such as XQuery are less common compared to Java and Python, so new developers take time to get comfortable with it. Improving documentation and modern tooling would greatly aid onboarding. Second, the cost and licensing can be a concern for smaller teams and startups. MarkLogic's enterprise status makes it less likely to be the first choice for those teams. While it supports deployment in the cloud, the experience could be more seamless compared to fully cloud-native databases. Overall, MarkLogic is excellent for enterprise use cases, especially where search and structured data need to work together, but improving developer experience and ecosystem support would enhance its efficiency.
A couple of additional areas where MarkLogic could improve are around integration, performance tuning, visibility, and support experiences. While MarkLogic supports REST APIs well, integrating with the modern data ecosystem sometimes requires extra effort compared to other platforms, as out-of-the-box connectors are limited. Although performance is strong, understanding query behavior can be challenging, and debugging slow queries or analyzing indexing usage is not always transparent. Regarding support and documentation, response times can vary depending on the issue or server availability. More real-world examples and troubleshooting guides would enhance developer productivity. Improvements in integration and modern tools in XQuery, along with better observability, are necessary.
Beyond what I mentioned earlier, there are a few additional areas I can point to. While MarkLogic supports powerful querying via XQuery and JavaScript, many developers are more comfortable with SQL. An intuitive SQL-like query support or a better abstraction layer would enhance adoption across teams. Furthermore, migrating from other databases, whether relational or non-SQL, requires effort in data transformation. Better migration tooling with automated data mapping would also make transitions smoother.
For how long have I used the solution?
In my current field, I have been working for the last three years.
What do I think about the stability of the solution?
MarkLogic is pretty stable in my experience. It is highly stable and reliable.
What do I think about the scalability of the solution?
MarkLogic offers excellent scalability, especially for enterprise-scale applications. In our use case, as data and traffic increased, we were able to scale by adding nodes to the clusters without major changes to the applications, making the scaling very smooth and predictable.
How are customer service and support?
MarkLogic has been generally good and reliable in my experience. When I connect with them, it is very responsive. I have gone through support tickets, and proper tracking is available, so overall, it is a good support system, and I would rate it slightly higher than average.
I would rate MarkLogic's customer support an eight due to its responsiveness, especially for higher priority issues. Support engineers demonstrate good product expertise, and the structure of the ticketing and enterprise support models work well. If someone inquires, I would suggest looking for alternatives if their team is small or they have cost constraints, but if there are no budget issues and their team is large, MarkLogic is reliable and comfortable, providing scalability.
Which solution did I use previously and why did I switch?
Before adopting MarkLogic, we were using a combination of traditional relational databases such as Oracle along with a separate search solution, such as Elasticsearch.
The main reason for switching from Oracle and Elasticsearch to MarkLogic was simplifying our architecture by consolidating database and search into a single platform. With Oracle and Elasticsearch, we had two separate systems, and syncing between them was complex and error-prone. MarkLogic allowed us to manage these components on one platform. Given that our data was semi-structured, managing it in a relational database was tough, but MarkLogic's document model made schema evolution easier without extensive migration.
How was the initial setup?
We did not purchase MarkLogic through the AWS marketplace.
What was our ROI?
We saw a clear return on the investment after implementing MarkLogic in terms of saving and personnel efficiency. Since we did not need a separate database and search system, we avoided building and maintaining integrations. This led to roughly a thirty to forty percent reduction in backend development effort. With flexible schema and universal indexing, new features and data sources were onboarded faster, reducing feature delivery time by around forty to fifty percent. In terms of infrastructure and maintenance, we also achieved twenty to thirty percent savings in infrastructure and maintenance overhead.
What's my experience with pricing, setup cost, and licensing?
My experience with MarkLogic's pricing and licensing is that it positions itself as an enterprise-grade product. The cost is relatively high compared to open-source alternatives. We use enterprise licensing models, which gives us access to enterprise features and official support. The initial setup cost is moderate to high, mainly due to infrastructure provisioning, licensing costs, and initial configuration and onboarding efforts.
Which other solutions did I evaluate?
Before finalizing MarkLogic, we evaluated a few alternatives. We looked at MongoDB, which is good for flexible document storage but required a separate search solution for advanced queries. We also considered using Oracle, which is strong and reliable but less flexible for semi-structured data. Therefore, we selected MarkLogic because it uniquely provides multi-model support along with built-in search and ACID transactions with real-time indexing.
What other advice do I have?
My experience with MarkLogic has been very positive. It is a powerful platform, especially for data-driven and search-driven applications where handling complex XML and JSON data and real-time querying is important. The combination of database and search capabilities along with strong consistency and scalability make it an excellent choice for enterprise use cases. However, there are areas such as developer experience, ecosystems, and the learning curve that could be improved to enhance accessibility. I would rate MarkLogic an eight overall.
Which deployment model are you using for this solution?
Hybrid Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?