A document-oriented database ( DBMS ) is a DBMS specially designed to store hierarchical data structures (documents) and usually implemented using the NoSQL approach. Document-based DBMSs are based on document storages ( English document store ), which have a tree structure (sometimes forests ). The tree structure starts from the root node and can contain several internal and leaf nodes. Leaf nodes contain data that, when a document is added, is entered into indexes, which allows even with a rather complex structure to find the place (path) of the desired data. The search API allows you to find documents and parts of documents upon request. Unlike key-value storages, a sample on request to a document repository can contain parts of a large number of documents without fully loading these documents into RAM [1] .
Documents can be organized (grouped) into collections . They can be considered a distant analogue of relational DBMS tables, but collections may contain other collections. Although collection documents may be arbitrary, for more efficient indexing, it is better to combine documents with a similar structure into a collection [1] [2] .
Document-oriented databases are used in content management systems , publishing, document search , etc. Examples of DBMSs of this type are CouchDB , Couchbase , MarkLogic , MongoDB , eXist , Berkeley DB [3] .
Notes
- ↑ 1 2 McCreary, Kelly, 2013 , 4.4. Document stores.
- ↑ Tiwari, 2011 , Chapter 4: Understanding the Storage Architecture - Document Store Internals.
- ↑ McCreary, Kelly, 2013 , 1.1. What is NoSQL ?.
Literature
- Dan McCreary, Ann Kelly. Making Sense of NoSQL: A guide for managers and the rest of us. - Manning Publications, 2013 .-- 312 p. - ISBN 978-1-61729-107-4 .
- Shashank Tiwari. Professional NoSQL. - Packt Publishing, 2011 .-- 384 p. - ISBN 978-0-470-94224-6 .