structured storagekey/value storenon-relational
ArangoDB. Couchbase. FoundationDB. MarkLogic. OrientDB. Cosmos DB. CAP theorem. Comparison of object database management systems. Comparison of structured storage software. Correlation database. Distributed cache. Faceted search. MultiValue database. Multi-model database. Triplestore. Schema-agnostic databases.

Multi-model database

multi-modelMulti-Model DBMS
ArangoDB – document (JSON), graph, key-value. Cosmos DB – document (JSON), key-value, SQL. Couchbase – document (JSON), key-value, N1QL. Datastax – key-value, tabular, graph. EnterpriseDB – document (XML and JSON), key-value. MarkLogic – document (XML and JSON), graph triplestore, binary, SQL. Oracle Database – relational, document (JSON and XML), graph triplestore, property graph, key-value, objects. OrientDB – document (JSON), graph, key-value, reactive, SQL. SAP HANA – relational, document (JSON), graph, streaming. Comparison of multi-model databases. ACID. NoSQL. Comparison of structured storage software. Database transaction. Distributed database. Distributed transaction.

Document-oriented database

document databasedocumentdocument-oriented
A document-oriented database, or document store, is a computer program designed for storing, retrieving and managing document-oriented information, also known as semi-structured data.


JavaScript Object Notation (JSON)JSON-likedictionary
In computing, JavaScript Object Notation (JSON) ( "jay-son", ) is an open-standard file format that uses human-readable text to transmit data objects consisting of attribute–value pairs and array data types (or any other serializable value). It is a very common data format used for asynchronous browser–server communication, including as a replacement for XML in some AJAX-style systems.

Key-value database

key-value storekey-valuekey/value
ArangoDB. Berkeley DB. FoundationDB. IBM Informix C-ISAM. InfinityDB. LMDB. MemcacheDB. Aerospike. Apache Ignite. Coherence. GridGain Systems. Hazelcast. memcached. OpenLink Virtuoso. Redis. XAP. Aerospike. Apache Ignite. ArangoDB. CDB. Clusterpoint Database Server. Couchbase Server. etcd. GridGain Systems. GT.M. Hibari. Keyspace. LevelDB. LMDB. MemcacheDB (using Berkeley DB or LMDB). NoSQLz. Coherence. Oracle NoSQL Database. RocksDB (fork of LevelDB). OpenLink Virtuoso. Tarantool. Tokyo Cabinet and Kyoto Cabinet. Tuple space.

Representational state transfer

Representational State Transfer (REST) is a software architectural style that defines a set of constraints to be used for creating web services. Web services that conform to the REST architectural style, termed RESTful web services, provide interoperability between computer systems on the Internet. RESTful web services allow the requesting systems to access and manipulate textual representations of web resources by using a uniform and predefined set of stateless operations. Other kinds of web services, such as SOAP web services, expose their own arbitrary sets of operations.

Apache License

Apache 2.0ApacheApache License 2.0
The Apache License is a permissive free software license written by the Apache Software Foundation (ASF). The Apache License, Version 2.0 requires preservation of the copyright notice and disclaimer. Like other free software licenses, the license allows the user of the software the freedom to use the software for any purpose, to distribute it, to modify it, and to distribute modified versions of the software, under the terms of the license, without concern for royalties. This makes the Apache License a FRAND-RF license. The ASF and its projects release the software they produce under the Apache License. The license is also used by many non-ASF projects.


Structured Query LanguageSQL DatabasesWikibook SQL
SQL ( S-Q-L, "sequel"; Structured Query Language) is a domain-specific language used in programming and designed for managing data held in a relational database management system (RDBMS), or for stream processing in a relational data stream management system (RDSMS). It is particularly useful in handling structured data where there are relations between different entities/variables of the data. SQL offers two main advantages over older read/write APIs like ISAM or VSAM: first, it introduced the concept of accessing many records with one single command; and second, it eliminates the need to specify how to reach a record, e.g. with or without an index.

List of databases using MVCC

ArangoDB. Berkeley DB. Cloudant. Clustrix. Couchbase. CouchDB. CUBRID. IBM Db2 – since IBM DB2 9.7 LUW ("Cobra") under CS isolation level – in currently committed mode. IBM Cognos TM1 – in versions 9.5.2 and up. Drizzle. Druid. etcd. EXASOL. eXtremeDB. Firebird. FLAIM. FoundationDB. GE Smallworld Version Managed Data Store. H2 Database Engine – experimental since version 1.0.57 (2007-08-25). HBase. HSQLDB – starting with version 2.0. IBM Netezza. InfiniDB. Ingres. InterBase – all versions. LMDB. MariaDB (MySQL fork) – when used with XtraDB, an InnoDB fork and that is included in MariaDB sources and binaries or PBXT. MarkLogic Server – a bit of this is described in. MemSQL.

Comparison of multi-model databases

Comparison of multi-model databases (database management systems).

Gremlin (programming language)

Gremlin is a graph traversal language and virtual machine developed by Apache TinkerPop of the Apache Software Foundation. Gremlin works for both OLTP-based graph databases as well as OLAP-based graph processors. Gremlin's automata and functional language foundation enable Gremlin to naturally support imperative and declarative querying, host language agnosticism, user-defined domain specific languages, an extensible compiler/optimizer, single- and multi-machine execution models, hybrid depth- and breadth-first evaluation, as well as Turing Completeness.

Graph database

graph databasesgraphgraph data processing
Also in the 2010s, multi-model databases that supported graph models (and other models such as relational database or document-oriented database) became available, such as OrientDB, ArangoDB, and MarkLogic (starting with its 7.0 version). During this time, graph databases of various types have become especially popular with social network analysis with the advent of social media companies. The following is a list of notable graph databases: Nodes represent entities or instances such as people, businesses, accounts, or any other item to be tracked. They are roughly the equivalent of the record, relation or row in a relational database, or the document in a document-store database.

Shard (database architecture)

Couchbase: provides automatic transparent sharding as well as extreme performance. CUBRID: allows sharding from version 9.0. Elasticsearch: enterprise search server provides sharding capabilities. eXtreme Scale: a cross-process in-memory key/value datastore (a variety of NoSQL datastore). It uses sharding to achieve scalability across processes for both data and MapReduce-style parallel processing. Hibernate Shards: provides for shards, although there has been little activity since 2007. IBM Informix: IBM has allowed sharding in Informix since version 12.1 xC1 as part of the MACH11 technology.

Query language

querydatabase languagedatabase query language
N1QL is a Couchbase's query language finding data in Couchbase Servers. OQL is Object Query Language. OCL (Object Constraint Language). Despite its name, OCL is also an object query language and an OMG standard. OPath, intended for use in querying WinFS Stores. OttoQL, intended for querying tables, XML, and databases. Poliqarp Query Language is a special query language designed to analyze annotated text. Used in the Poliqarp search engine. PQL is a special-purpose programming language for managing process models based on information about scenarios that these models describe. QUEL is a relational database access language, similar in most ways to SQL. RDQL is a RDF query language.


database management systemdatabasesdatabase systems
A database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques.

Computer cluster

A computer cluster is a set of loosely or tightly connected computers that work together so that, in many respects, they can be viewed as a single system. Unlike grid computers, computer clusters have each node set to perform the same task, controlled and scheduled by software.

Java (programming language)

JavaJava programming languageJava language
Java is a general-purpose computer-programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation. Java applications are typically compiled to bytecode that can run on any Java virtual machine (JVM) regardless of computer architecture., Java is one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers.

ACID (computer science)

ACIDACID transactionsAtomicity, consistency, isolation, durability
In computer science, ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties of database transactions intended to guarantee validity even in the event of errors, power failures, etc. In the context of databases, a sequence of database operations that satisfies the ACID properties (and these can be perceived as a single logical operation on the data) is called a transaction. For example, a transfer of funds from one bank account to another, even involving multiple changes such as debiting one account and crediting another, is a single transaction.

Consistency (database systems)

Consistency in database systems refers to the requirement that any given database transaction must change affected data only in allowed ways. Any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof. This does not guarantee correctness of the transaction in all ways the application programmer might have wanted (that is the responsibility of application-level code) but merely that any programming errors cannot result in the violation of any defined database constraints.

Microsoft Windows

Microsoft Windows is a group of several graphical operating system families, all of which are developed, marketed, and sold by Microsoft. Each family caters to a certain sector of the computing industry. Active Windows families include Windows NT and Windows Embedded; these may encompass subfamilies, e.g. Windows Embedded Compact (Windows CE) or Windows Server. Defunct Windows families include Windows 9x, Windows Mobile and Windows Phone.


Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser. JavaScript is used primarily for client-side scripting, in which scripts written in JavaScript are embedded in a webpage's HTML and run client-side by a JavaScript engine in the user's web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser.


C++ programming languageC++ standardC++ language
C++ ( "see plus plus") is a general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation.

Microsoft Azure

AzureMicrosoft Azure Service BusWindows Azure
Cosmos DB is a NoSQL database service that implements a subset of the SQL SELECT statement on JSON documents. Redis Cache is a managed implementation of Redis. StorSimple manages storage tasks between on-premises devices and cloud storage. SQL Database, formerly known as SQL Azure Database, works to create, scale and extend applications into the cloud using Microsoft SQL Server technology. It also integrates with Active Directory and Microsoft System Center and Hadoop. SQL Data Warehouse is a data warehousing service designed to handle computational and data intensive queries on datasets exceeding 1TB.

List of geographic information systems software

GIS softwarefree, open-source GIS packagestypes of GIS software
ArangoDB – Builtin features available for Spatial data management, allowing geospatial queries. SpatiaLite – Spatial extensions for the open source SQLite database, allowing geospatial queries. TerraLib – Provides advanced functions for GIS analysis. OrientDB – Builtin features available for Spatial data management, allowing geospatial queries. GeoBase (Telogis GIS software) – Geospatial mapping software available as a software development kit, which performs various functions including address lookup, mapping, routing, reverse geocoding, and navigation. Suited for high transaction enterprise environments.

Comparison of data modeling tools

This article is a comparison of data modeling tools which are notable, including standalone, conventional data modeling tools and modeling tools supporting data modeling as part of a larger modeling environment.