NoSQL: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 16: Line 16:
* [[HBase]]
* [[HBase]]
* Hypertable
* Hypertable
Document databases are conceptually similar to Google [[Bigtable]] database. They have a related data model, where a Bigtable row with its arbitrary number of columns/attributes corresponds to a '''document'''. The document is a tree of objects containing attribute values and lists, often with a mapping to JSON or XML.
Document databases are conceptually similar to Google [[Bigtable]] database. They have a related data model, where a Bigtable row with its arbitrary number of columns/attributes corresponds to a '''document'''. The document is a tree of objects containing attribute values and lists, often with a mapping to JSON or XML. Unlike dumping JSON in a relational database, the document databases can work with the structure of the documents, they can extract, index, aggregate and filter based on attribute values in these documents.
* [[CouchDB]]
* [[CouchDB]]
* [[MongoDB]]
* [[MongoDB]]

Revision as of 22:39, 7 November 2021

Internal

Overview

The NoSQL databases are grouped in four categories:

  1. document stores
  2. key-value stores
  3. graph stores
  4. column stores

NoSQL Databases

Document Databases

Google Bigtable introduced a data model allowing rows to be added with any set of columns. The columns do not need to be predefined. The lack of predefined schema makes these databases attractive for applications where the attributes of objects are not known in advance or change frequently.

Document databases are conceptually similar to Google Bigtable database. They have a related data model, where a Bigtable row with its arbitrary number of columns/attributes corresponds to a document. The document is a tree of objects containing attribute values and lists, often with a mapping to JSON or XML. Unlike dumping JSON in a relational database, the document databases can work with the structure of the documents, they can extract, index, aggregate and filter based on attribute values in these documents.

Graph Databases

  • CouchDB
  • Neo4j
  • Amazon DynamoDB

Organizatorium