Content deleted Content added
m Dating maintenance tags: {{Vague}} {{Cn}} |
No edit summary |
||
Line 7:
A multi-model database is a database that can store, index and query data in more than one model. For some time, databases have primarily supported only one model, such as: [[relational database]], [[document-oriented database]], [[graph database]] or [[triplestore]]. A database that combines many of these is multi-model.
For some time,{{vague|date=April 2024}} it was all but forgotten (or considered irrelevant) that there were any other database models besides relational.{{cn|date=April 2024}} The relational model and notion of [[third normal form]] were the default standard for all data storage. However, prior to the dominance of relational data modeling, from about 1980 to 2005, the [[hierarchical database model]] was commonly used. Since 2000 or 2010, many [[NoSQL]] models that are non-relational, including documents, triples, key–value stores and graphs are popular. Arguably, [[geospatial data]], [[temporal data]], and [[text data]] are also separate models, though indexed, queryable text data is generally termed a "[[search engine]]" rather than a database.{{Citation needed|date=March 2021}}
The first time the word "multi-model" has been associated to the databases was on May 30, 2012 in Cologne, Germany, during the [[Luca Garulli]]'s key note "''NoSQL Adoption – What’s the Next Step?''".<ref>{{Cite web|date=2012-06-01|title=Multi-Model storage 1/2 one product|url=http://www.slideshare.net/lvca/no-sql-matters2012keynote/47-MultiModel_storage_12_one_product}}</ref><ref>{{Cite web|url=https://2012.nosql-matters.org/cgn/wp-content/uploads/2012/06/KeyNote-Luca-Garulli.pdf|title=Nosql Matters Conference 2012 {{!}} NoSQL Matters CGN 2012|website=2012.nosql-matters.org|access-date=2017-01-12}}</ref> Luca Garulli envisioned the evolution of the 1st generation NoSQL products into new products with more features able to be used by multiple use cases.
The idea of multi-model databases can be traced back to [[object–relational database|Object–Relational Data Management Systems (ORDBMS)]] in the early 1990s and in a more broader scope even to [[federated DBMS|federated]] and [[integrated
Multi-model databases are intended to offer the data modeling advantages of polyglot persistence,<ref name="polyglot"/> without its disadvantages. Operational complexity, in particular, is reduced through the use of a single data store.<ref name="rise"/>
== Benchmarking multi-model databases ==
As more and more platforms are proposed to deal with multi-model data, there are a few works on benchmarking multi-model databases. For instance, [[Ewa Pluciennik|Pluciennik]],<ref>{{Cite journal|last=Ewa Pluciennik and Kamil Zgorzalek|title=The Multi-model Databases - A Review|journal=Bdas 2017|pages=141–152}}</ref> [[Fábio Roberto Oliveira|Oliveira]],<ref>{{Cite journal|last=Fábio Roberto Oliveira, Luis del Val Cura|title=Performance Evaluation of NoSQL Multi-Model Data Stores in Polyglot Persistence Applications|journal=Ideas '16|pages=230–235}}</ref> and [[UniBench]]<ref>{{Cite journal|last=Chao Zhang, Jiaheng Lu, Pengfei Xu, Yuxing Chen|title=UniBench: A Benchmark for Multi-Model Database Management Systems|url=https://www.cs.helsinki.fi/u/jilu/documents/UniBench.pdf|journal=TPCTC 2018}}</ref> reviewed existing multi-model databases and made an evaluation effort towards comparing multi-model databases and other SQL and NoSQL databases respectively. They pointed out that the advantages of multi-model databases over single-model databases are as follows : {{olist|list-style-type=lower-roman| they are able to ingest a variety of data formats such as [[Comma-separated values|CSV]] (including Graph, Relational), [[JSON]] into storage without any additional efforts. | they can employ a unified query language such as [[AQL (ArangoDB Query Language)|AQL]], [[Orient SQL]], [[SQL/XML]], [[SQL/JSON]] to retrieve correlated multi-model data, such as graph-JSON-key/value, XML-relational, and JSON-relational in a single platform. | they are able to support multi-model [[ACID]] transactions in the stand-alone mode.}}
== Architecture ==
|