In the current enterprise IT architecture, system administrators and DBAs will consider using the NoSQL database to solve problems that the RDBMS cannot solve, especially the internet industry. Traditional relational databases store data mainly as tables (table), and cannot meet the challenge of unstructured data. In the process of data standardization, the performance of relational database is encountering bottleneck.
NoSQL, as its name suggests, is Not-only SQL, which can be a good complement to relational databases. In the report before the TechTarget database, we also introduced the application scenario of NoSQL database in detail. NoSQL Unlike the traditional relational database, its variety, and each has its own advantages and disadvantages, for DBAs how to distinguish between each other is a more headache work. In this article, we will further accept the classification of the NoSQL database and their respective pros and cons.
Four families of NoSQL database
Key value (key-value) store database
This type of database is used primarily for a hash table that has a specific key and a pointer to specific data. The advantage of the Key/value model for IT systems is simplicity and ease of deployment. But Key/value is inefficient if the DBA queries or updates only partial values.
Column Storage Database
This part of the database is usually used to deal with the massive data of distributed storage. Keys still exist, but they are characterized by pointing to multiple columns. These columns are arranged by the column family.
Document-Type Database
The document database is inspired by Lotus Notes Office software and is similar to the first key-value store. This type of data model is a versioned document, and semi-structured documents are stored in a particular format, such as JSON. A document-type database can be considered an upgraded version of a key-value database, allowing nested key values between them. and the document-type database is more efficient than the key-value database query.
Graph database
The graphics structure of the database is different from the other rows and the rigid structure of the SQL database, it is the use of flexible graphics model, and can be extended to multiple servers. The NoSQL database does not have a standard query language (SQL), so it is necessary to develop a data model for database queries. Many NoSQL databases have restful data interfaces or query APIs.
Therefore, we conclude that the NoSQL database is more applicable in the following cases: 1, the data model is relatively simple, 2, the need for more flexible IT systems, 3, high performance requirements for the database, 4, do not require a high degree of data consistency, 5, for a given key, it is easier to map complex values of the environment.
(Responsible editor: Lu Guang)