Nosql database

Key-Value (Key-Value) storage database
   This type of database A hash table is mainly used. This table has 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. But if the DBA only queries or updates part of the value, the key/value becomes inefficient. For example: Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.
Column storage database
  this Part of the database is usually used to deal with the massive data of distributed storage. The keys still exist, but their characteristic is that they point to multiple columns. These columns are arranged by the column family. Such as: Cassandra, HBase, Riak.
document database
   document database is inspired by Lotus Notes office software, and it 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. 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. Such as: CouchDB, MongoDb. There is also a document database SequoiaDB in China, which has been open sourced.
Graph database
   The graph structure database is different from other ranks and rigid structure SQL databases , 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. Such as: Neo4J, InfoGrid, Infinite Graph.
Comparison of several NoSQL databases:
Key-value:
  Database example: Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB
   Application scenarios: Content caching is mainly used to handle high access loads of large amounts of data, and is also used in some log systems and so on.
   data model: Key points to the key-value pairs of Value, usually implemented by hash table.
   Advantages: fast search speed
   Disadvantages: data is unstructured and usually can only be treated as string or binary data
Column storage database:
   Database examples: Cassandra, HBase, Riak
   Application scenario: Distributed file system
   Data model: Column cluster storage, storing the same column data together
Advantages: fast search speed, strong scalability, and easier distributed expansion
   Disadvantages: relatively limited functions
Document database:
  Database example: CouchDB, MongoDb
   Application scenario: Web application (similar to Key-Value, Value is structured, the difference is that the database can understand the content of Value)
  Data model: Key-Value corresponding key-value pair, Value is structured data

< div class="para">    advantages: not strict, the table structure is variable, no need to pre-define the table structure like a relational database

   disadvantages: query performance is not high, and lack Unified query syntax.
Graph database:
   Database examples: Neo4J, InfoGrid, Infinite Graph
   Application scenarios: social networks, recommendation systems, etc. Focus on building relational graphs
   data model: graph structure
   advantage: use graph structure related algorithms. Such as shortest path addressing, N degree relationship search, etc.
   Disadvantages: In many cases, the entire graph needs to be calculated to get the required information, and this structure is not good for distributed The cluster scheme.

Key-Value (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. But if the DBA only queries or updates part of the value, the key/value becomes inefficient. For example: Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB.

Column storage database

   This part of the database is usually used to deal with distributed storage Of massive data. The keys still exist, but their characteristic is that they point to multiple columns. These columns are arranged by the column family. Such as: Cassandra, HBase, Riak.

Document database

  The document database is inspired by the Lotus Notes office software, and it is the same A key-value store is similar. 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. Such as: CouchDB, MongoDb. There is also a document database SequoiaDB in China, which has been open sourced.

Graph database

  The graph structure database is different from other ranks and rigid structure SQL databases. It uses a flexible graph 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. Such as: Neo4J, InfoGrid, Infinite Graph.

Comparison of several NoSQL databases:

Key-value:

  Database example: Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB

  Application scenario: content caching, mainly used for processing large amounts of data with high access load, and also used in some logging systems and so on.

  Data model: Key points to the key-value pair of Value, usually implemented by hash table.

  Advantages: Fast search speed

   Disadvantages: The data is unstructured and can usually only be treated as string or binary data

Column storage database:

p>

  Database example: Cassandra, HBase, Riak
  Application scenario: Distributed file system
   data model: stored in clusters of columns, storing the same column of data together
   advantages: fast search speed, strong scalability, and easier distributed expansion
   Disadvantages: relatively limited functions
Document database:
Database example: CouchDB, MongoDb
   Application scenario: Web application (similar to Key-Value, Value is structured, the difference is that the database can understand the content of Value)
   data model: Key-Value corresponds to the key-value pair, Value is structured data
   Advantages: not strict, the table structure is variable, no need to look like Relational databases also need to define the table structure in advance
   Disadvantages: query performance is not high, and lack of unified query syntax.
Graph database:
   Database examples: Neo4J, InfoGrid, Infinite Graph
   Application scenarios: social networks, recommendation systems, etc. Focus on building relational graphs
   data model: graph structure
   advantage: use graph structure related algorithms. Such as shortest path addressing, N degree relationship search, etc.
   Disadvantages: In many cases, the entire graph needs to be calculated to get the required information, and this structure is not good for distributed The cluster scheme.

  Database example: Cassandra, HBase, Riak

  Application scenario: Distributed file system

  Data Model: Column-cluster storage, storing the same column of data together

   Advantages: fast search speed, strong scalability, and easier distributed expansion

   Disadvantages: relatively limited functions

Document database:

  Database example: CouchDB, MongoDb
   Application scenario: Web application ( Similar to Key-Value, Value is structured, the difference is that the database can understand the content of Value)
   Data model: Key-Value corresponding key-value pair, Value is structured Data
   Advantages: not strict, the table structure is variable, no need to pre-define the table structure like a relational database
   Disadvantages: query The performance is not high, and it lacks a unified query syntax.
Graph database:
   Database examples: Neo4J, InfoGrid, Infinite Graph
   Application scenarios: social networks, recommendation systems, etc. Focus on building relational graphs
   data model: graph structure
   advantage: use graph structure related algorithms. Such as shortest path addressing, N degree relationship search, etc.
   Disadvantages: In many cases, the entire graph needs to be calculated to get the required information, and this structure is not good for distributed The cluster scheme.

  Database example: CouchDB, MongoDb

   Application scenario: Web application (similar to Key-Value, Value is structured, the difference is database Able to understand the content of Value)

  Data model: Key-Value corresponding key-value pair, Value is structured data

   Advantages: not strict, the table structure is variable, no need to Relational databases also need to define the table structure in advance

   Disadvantages: query performance is not high, and it lacks a unified query syntax.

Graph database:

  Database example: Neo4J, InfoGrid, Infinite Graph
  application Scenario: social network, recommendation system, etc. Focus on building relational graphs
   data model: graph structure
   advantage: use graph structure related algorithms. Such as shortest path addressing, N degree relationship search, etc.
   Disadvantages: In many cases, the entire graph needs to be calculated to get the required information, and this structure is not good for distributed The cluster scheme.

  Database examples: Neo4J, InfoGrid, Infinite Graph

  Application scenarios: social networks, recommendation systems, etc. Focus on building relational graphs

  Data model: graph structure

  Advantages: use graph structure related algorithms. For example, shortest path addressing, N-degree relationship search, etc.

   Disadvantages: In many cases, the entire graph needs to be calculated to obtain the required information, and this structure is not good for a distributed cluster solution.

Leave a Comment

Your email address will not be published.