Interpretation of the four families of the NOSQL database

In the current enterprise IT architecture, system administrators and DBAs will consider using NoSQL databases to solve problems that RDBMS cannot solve, especially in the Internet industry. Traditional relational databases mainly store data in the form of tables, and cannot cope with the challenge of unstructured data. In the process of data standardization, the performance of relational database encountered a bottleneck.

NoSQL, as its name implies, is Not-Only SQL, and it can be used as a good complement to relational databases. In the previous report of TechTarget database, we also gave a detailed introduction to the application scenarios of NoSQL database. NoSQL is not like a traditional relational database. It has a wide range of types, and each has its own advantages and disadvantages. How to distinguish the differences from each other is a headache for the DBA. In this article, we will further accept for you the classification of NoSQL databases and their respective advantages and disadvantages.

Four major families of NoSQL databases

  • Key-Value storage database

This type of database mainly uses a hash table, in which there is a specific key and a pointer to specific data. The advantage of the Key/value model for IT systems lies in its simplicity and ease of deployment. However, if the DBA only queries or updates part of the value, the key/value becomes inefficient.

Related databases

Tokyo Cabinet/Tyrant, Redis, Voldemort, Berkeley DB

Typical applications

Content caching, suitable for mixed workloads and expanding large data sets

Data Model

A series of key-value pairs

Advantages

Quick query

Disadvantages

< p>The stored data lacks structure

  • Column storage database

This part Databases are usually used to deal with massive amounts of data in distributed storage. The keys still exist, but their characteristic is that they point to multiple columns. These columns are arranged by the column family.

Related databases

Cassandra, HBase, Riak

Typical applications

< p>Distributed file system

Data model

Column cluster storage, storing the same column data together

Advantages

< p>The search speed is fast, the scalability is strong, and the distributed expansion is easier

Disadvantages

Relatively limited functions

  • Document database

   The document database is inspired by Lotus Notes office software, and it is similar to the first type of key-value storage. This type of data model is a versioned document, and semi-structured documents are stored in a specific format, such as JSON. The document database can be regarded as an upgraded version of the key-value database, allowing nesting of key-values ​​between them. Moreover, the query efficiency of a document database is higher than that of a key-value database.

Related databases

CouchDB, MongoDB

Typical applications

Web application

Data model

A series of key-value pairs< /p>

Advantages

The data structure requirements are not strict

< /td>

Disadvantages

The query performance is not high, and it lacks a unified query syntax

  • Graph database

Database of graph structure is the same as that of other ranks and rigid structures SQL database is different. It uses a flexible graphical model and can be extended to multiple servers. NoSQL database does not have a standard query language (SQL), so database queries need to develop a data model. Many NoSQL databases have REST-style data interfaces or query APIs.

< td width="359">

Neo4J, InfoGrid, Infinite Graph

Related databases

Typical applications

Social networks, recommendation systems, etc. Focus on building relationship graphs

Data model

< p>Picture structure

Strengths

Use graph structure related algorithms.

Weakness

The entire picture The results can only be obtained by calculation, and it is not easy to make a distributed cluster solution.

Therefore, we conclude that NoSQL databases are more suitable in the following situations: 1. The data model is relatively simple; 2. The need A more flexible IT system; 3. Higher database performance requirements; 4. No need for a high degree of data consistency; 5. For a given key, it is easier to map an environment with complex values.

Leave a Comment

Your email address will not be published.