four categories of NoSQL databases
key value (key-value) store 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. Examples include: Tokyo cabinet/tyrant, Redis, Voldemort, Oracle BDB.
Column Store DatabaseThis 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 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 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, 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. 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, does not require a high degree of data consistency, 5, for a given key, more easily map complex values of the environment. analysis of four classified forms of NoSQL database
category |
Examples Example |
Typical application Scenarios |
Data Model |
Advantages |
Disadvantages |
Key value (Key-value) |
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. |
Key-value pairs that point to value, usually with hash table |
Fast Search Speed |
Data is unstructured and is usually used only as a string or binary data |
Columnstore database |
< Span style= "FONT-SIZE:14PX;" >cassandra, HBase , Riak |
Distributed File system |
clustered storage with the same column data |
Find Fast, scalable, and easily distributed extension |
function relative limitation |
document database |
< Span style= "FONT-SIZE:14PX;" > CouchDB , MongoDb |
web application (similar to Key-value, Value is structured, but the database is able to understand the contents of value) |
key-value corresponding key-value pair, 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 unified query syntax. |
Graph Database (graph) |
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.
|
NoSQL Database Types