This paper describes the MarkLogic Server internals: its data model, indexing system, update model, and operational behaviors. It’s intended for a technical audience — either someone new to MarkLogic wanting to understand its capabilities, or someone already familiar with MarkLogic who wants to understand what’s going on under the hood.

This paper is not an introduction to using MarkLogic Server. For that you can read the official product documentation. Instead, this paper explains the principles on which MarkLogic is built. The goal isn’t to teach you to write code, but to help you understand what’s going on behind your code, and thus help you write better and more robust applications.

The paper is organized into sections. The first section provides a high-level overview of MarkLogic Server. The next few sections explain MarkLogic’s core indexes. The sections after that explain the transactional storage system, multi-host clustering, and the various connection options. At this point, there’s a natural stopping point for the casual reader, but those who read on will find sections covering advanced indexing features, as well as topics like replication and failover. The final section discusses the ecosystem built up around MarkLogic.

The paper is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. For permissions beyond this license, send requests to


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.