Jump to content

Document-oriented database

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Antony.stubbs (talk | contribs) at 03:18, 23 July 2010 (orientdb). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A document-oriented database is a computer program designed for document-oriented applications. These systems may be implemented as a layer above a relational database or an object database.

Overview

As opposed to relational databases, document-based databases do not store data in tables with uniform sized fields for each record. Instead, each record is stored as a document that has certain characteristics. Any number of fields of any length can be added to a document. Fields can also contain multiple pieces of data.

For example here's a document:

FirstName="Bob", Address="5 Oak St.", Hobby="sailing".

Another document could be:

FirstName="Jonathan", Address="15 Wanamassa Point Road", Children=("Michael,10", "Jennifer,8", "Samantha,5", "Elena,2").

Notice that both documents have some similar information and some different - but unlike a relational database where each record would have the same set of fields and unused fields might be kept empty, there are no empty 'fields' in either document (record) in this case. This system allows information to be added any time without using storage space for "empty fields" as in relational databases.

It is noteworthy here that using XML, YAML or JSON for information storage has advantages similar to document oriented database. In these languages each record can have a non-standard amount of information. Such information is properly called semi structured data.

Another advantage of document oriented databases is the ease of usage and programming so that untrained business users, for example, can create applications and design their own databases. Information can be added without worrying about the "record size" and so programmers simply need to build an interface to allow the information to be entered easily.

Implementations

All XML databases are document-oriented databases. Other examples include:

Open source implementations:

See also

References

Further reading