NoSQL Data Store
Contents
Enonic XP ships with a unique and powerful document-oriented data storage.
Background
When designing XP, we carefully evaluated existing and popular technologies from Git, file systems, object storage, SQL, the JCR (Java Content Repository), and various other search and NoSQL solutions.
However, we were unable to find any single solution that supported our requirements to functionality, performance, simplicity and technology. So, we decided to build our own NoSQL data store, optimized for our use cases and requirements.
The result is now a central component in Enonic XP.
Features
The XP Data store enables you to persist, index, query and access data of virtually any kind, fast and efficiently. Below is a highlight of the capabilities provided:
-
Create multiple Repositories within a single XP deployment
-
Create schema-less documents aka Nodes
-
Built-in support for hierarchical structures
-
Nodes contain key-value entries called properties
-
Powerful indexing for fast retrieval and search
-
JSON based query language, aggregations, and result highlighting
-
Versions are created automatically for every update
-
Built-in Access control down to a single document
-
Git inspired Branches enable you to stage and promote your data
-
Atomic node updates via scripted editors.
| Visit the developer documentation for querying, aggregations, highlighting, editors, and other developer-facing APIs. |
Management
Data persisted in XP can be managed through various applications and interfaces, but common relevant actions are:
-
snapshot and restore to rollback the entire system to a point in time
-
exporting and importing nodes and tree structures using a human readable format
-
dumping and loading your entire storage.
-
backing up your data safely.
-
maintenance — vacuuming unreferenced data and reindexing the search index.