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.
XSLT | XPath | XQuery
Evaluates and handles incoming requests to access or modify documents
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.