Our customers seek the flexibility of a NoSQL data model, the reliability of an enterprise-grade database, and the precise search and retrieval capabilities of a best-of-breed search engine. From day one, MarkLogic was built to handle complex, real-time transactional data.

Interfaces
Java
CRUD, Search, Hadoop, Transformation, Extensions, and more
Rest
Exposes database, search, and analytic functionality
XQuery
W3C standard funtional programming language for writing stored procedures
Evaluation Layer
Evaluator

XSLT | XPath | XQuery

Evaluates and handles incoming requests to access or modify documents
Query Cache
Stores documents and logic in memory for faster responses and IO efficiency
Broadcaster | Aggregator
Federates requests to access or modifying documents across data nodes if not in memory.  Aggregates results returned for processing / transforming as necessary.
Data Layer
Transaction Controller
Enables zero-latency ingestion, supports point-in-time querying of system, and manages transactions across a cluster
Data Cache
Handles query resolution as well as stores indexes in memory and supports background re-indexing and merging to maintain IO efficiency.
Transaction Journal
Stores all actions on-disk to maintain transactional integrity in case of system failure even with docs initially store in mmeory for immediate access.
Indexes
Federates requests to access or modify documents across data nodes if not in memory.  Aggreates results return for processing / transforming as necessary
Compressed Storage
Stores text-based documents as compressed trees, ideal for storing XML and JSON

 

Interfaces

Java: The Java API supports JSON, CRUD (Create, Read, Update, Delete), Search, Hadoop, Transformation, Extensions, and more.

REST: The REST API provides a set of RESTful services for creating, updating, retrieving, deleting, and querying documents and metadata.

XQuery: Provides the power to extract and manipulate data from XML documents or data that can be viewed as XML.

 

Evaluation Layer

Evaluator: Handles incoming requests to access or modify documents.

Query Cache: Stores documents and logic in memory for faster response and to improve IO efficiency.

Broadcaster | Aggregator: Federates requests to access or modify documents across data nodes if not in memory. It also aggregates results returned for processing / transforming as necessary.

 

Data Layer

Transaction Controller: Enables zero-latency ingestion, supports point-in-time querying of system, and manages transactions across a cluster.

Data Cache: Handles query resolution as well as stores indexes in memory and supports background re-indexing and merging to maintain IO efficiency.

Transaction Journal: Stores all actions on-disk to maintain transactional integrity in case of system failure even with loaded documents initially stored in memory for immediate access.

Indexes: Indexes enable requests to combine value, structure, text, scalar, metadata, role-based, and/or geospatial information for sophisticated capabilities. They also enable alerting, rules-based classification, and/or matchmaking based on criteria specified by reverse indexes.

Binary and Compressed Storage: Stores text-based documents as compressed trees, ideal for storing XML and JSON.

For more detailed information about what comprises the internal components of MarkLogic, check out the Inside MarkLogic Server whitepaper. The paper is intended for a technical audience – either someone new to MarkLogic interested in understanding its capabilities, or someone already familiar with MarkLogic who wants to understand what’s going on under the hood.

 

Deployment Options

MarkLogic leverages a shared-nothing architecture that enables the system to scale linearly as demand increases. Customers can choose from several deployment options depending on their requirements and environment. For reasonable-sized deployments, customers may choose to deploy MarkLogic on a single server node. For larger deployments, customers can deploy MarkLogic on a cluster of servers using commodity hardware. Other customers choose to deploy MarkLogic in a private or public cloud environment.