background preloader

NoSQL

Facebook Twitter

HBase

Neo4J. OrientDB. NoSQL. "Structured storage" redirects here.

NoSQL

For the Microsoft technology also known as structured storage, see COM Structured Storage. A NoSQL (often interpreted as Not Only SQL[1][2]) database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Motivations for this approach include simplicity of design, horizontal scaling and finer control over availability. The data structure (e.g. key-value, graph, or document) differs from the RDBMS, and therefore some operations are faster in NoSQL and some in RDBMS. There are differences though, and the particular suitability of a given NoSQL DB depends on the problem it must solve (e.g. does the solution use graph algorithms?).

History[edit] There have been various approaches to classify NoSQL databases, each with different categories and subcategories. A more detailed classification is the following, by Stephen Yen:[9] Performance[edit] XML database. An XML database is a data persistence software system that allows data to be stored in XML format.

XML database

These data can then be queried, exported and serialized into the desired format. XML databases are usually associated with document-oriented databases. Two major classes of XML database exist:[1] XML-enabled: these may either map XML to traditional database structures (such as a relational database[2]), accepting XML as input and rendering XML as output, or more recently support native XML types within the traditional database.

This term implies that the database processes the XML itself (as opposed to relying on middleware).Native XML (NXD): the internal model of such databases depends on XML and uses XML documents as the fundamental unit of storage, which are, however, not necessarily stored in the form of text files. Graph database. Graph databases are part of the NoSQL databases created to address the limitations of the existing relational databases.

Graph database

While the graph model explicitly lays out the dependencies between nodes of data, the relational model and other NoSQL database models link the data by implicit connections. Graph databases, by design, allow simple and fast retrieval[citation needed] of complex hierarchical structures that are difficult to model[according to whom?] In relational systems. Graph databases are similar to 1970s network model databases in that both represent general graphs, but network-model databases operate at a lower level of abstraction[3] and lack easy traversal over a chain of edges.[4] Graph databases differ from graph compute engines. Background Graph databases, on the other hand, portrays the data as it is viewed conceptually. Graph Graph databases employ nodes, properties, and edges. Document-oriented database. This article is about the software type.

Document-oriented database

For usage/deployment instances, see Full text database. A document-oriented database is a computer program designed for storing, retrieving, and managing document-oriented information, also known as semi-structured data. Document-oriented databases are one of the main categories of NoSQL databases and the popularity of the term "document-oriented database" (or "document store") has grown[1] with the use of the term NoSQL itself. In contrast to relational databases and their notion of "Relation", i.e., a tuple (or row) of related strong-typed data items, these systems are designed around an abstract notion of a "document". Databases: relational vs object vs graph vs document. Is relational database dying?

Databases: relational vs object vs graph vs document

Why a model affirmed and finally consolidated over years is now object of discussion? Which alternatives exist and how they can match your needs in practical situations? Follow me, in this post, to understand how databases evolved and how to choose between new technological alternatives that have already produced valuable results. Note: this post focus operational (OLTP) databases. I have already addressed OLAP approach for strategic applications in many precedent posts. A little history Let's go back to 70s. The hierarchical model organized data into records of different types, each having a predefined set of fields. The network model was a flexible alternative natively supporting many-to-many relationships. As you probably know the relational model organizes data into tables. No matter the approach any database system is built to guarantee data consistency under concurrent usage by mean of ACID transaction support.

Relational won the battle.