NoSQL (NoSQL = not-only SQL), meaning "not just SQL"is a new revolutionary movement in the database, which was raised early on, and the trend is growing to 2009. NoSQL advocates are advocating the use of non-relational data storage, which is undoubtedly a new kind of thinking injection, relative to the overwhelming use of relational databases.
NoSQL databases are divided into four categories:
Key Value (
Key-value
) Storage DatabaseThis type of database primarily uses a hash table that has a specific key and a pointer to the specific data. The advantage of the Key/value model for IT systems is simplicity and ease of deployment. But if the DBA only queries or updates part of the value, Key/value becomes inefficient.
[3] Examples include: Tokyo cabinet/tyrant, Redis, Voldemort, Oracle BDB.The column stores the database. This part of the database is often used to deal with massive amounts of data for distributed storage. Keys still exist, but they are characterized by pointing to multiple columns. These columns are arranged by the column family. such as: Cassandra, HBase, Riak.Document Type DatabaseThe 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 specific format, such as JSON. A document database can be considered an upgraded version of a key-value database, allowing for the nesting of key values. and the document database is more efficient than the key-value database query. such as: CouchDB, MongoDb. Domestic also has the document type database SEQUOIADB, currently already open source.Graph Database (graph)The graphical structure of the database is different from the other columns and the rigid structure of the SQL database, it is using a flexible graphical model, and can be extended to multiple servers. NoSQL databases do not have a standard query language (SQL), so database queries require a data model. Many NoSQL databases have rest-type data interfaces or query APIs.[2] such as: neo4j, Infogrid, Infinite Graph. Therefore, we summarize the NoSQL database in the following cases, the comparison is applicable: 1, the data model is relatively simple, 2, the need for more flexible IT systems, 3, the database performance requirements are high; 4, There is no need for a high degree of data consistency; 5. For a given key, it is easier to map a complex value environment.analysis of four classified forms of NoSQL database
category |
Examples Example |
Typical application Scenarios |
Data Model |
Advantages |
Disadvantages |
Key value (Key-value)[3] |
Tokyo cabinet/tyrant, Redis, Voldemort, Oracle BDB |
Content caching, which is used primarily for high-access loads that handle large amounts of data, for some log systems, and so on. [3] |
Key-value pairs that point to value and are usually implemented with hash table [3] |
Fast Search Speed |
Data is unstructured and is usually used only as a string or binary data [3] |
Columnstore database [3] |
Cassandra, HBase, Riak |
Distributed File Systems |
To store the same column of data in a clustered type |
Find Fast, scalable, and easily distributed extensions |
function relative limitation |
Document Type Database [3] |
CouchDB, MongoDb |
Web applications (similar to Key-value, value is structured, but the database is able to understand the contents of value) |
Key-value corresponding key-value pairs, value is structured data |
Data structure requirements are not strict, table structure is variable, do not need to be like a relational database need to pre-defined table structure |
Query performance is not high, and the lack of uniform query syntax. |
Graph (graph) database [3] |
Neo4j, Infogrid, Infinite Graph |
Social networks, referral systems, and more. Focus on building a relationship map |
Graph structure |
Using graph structure correlation algorithm. such as shortest path addressing, N-degree relationship lookup, etc. |
Many times need to calculate the entire graph to get the information needed, and this structure is not very good for the distributed cluster scheme. [3] |
The above is excerpted from the online
Four classifications and analysis of NoSQL database