The difference between NoSQL and NoSQL is much greater than the difference between different SQL databases. Therefore, software architects must select a suitable NoSQL from the very beginning of the project.
The difference between NoSQL and NoSQL is much greater than that between different SQL databases. Therefore, software architects must select a suitable NoSQL from the very beginning of the project.
Even if relational databases are still very useful tools, their monopoly status for decades is coming to the fore. There are already countless NoSQL databases that can shake the status of relational databases. Of course, these NoSQL cannot completely replace them. (That is, relational databases are the best way to process relational transactions .)
The difference between NoSQL and NoSQL is much greater than that between different SQL databases. Therefore, software architects must select a suitable NoSQL from the very beginning of the project.
Considering this situation, this article will introduce the differences among the following NoSQL types: Cassandra, Mongodb, CouchDB, Redis, Riak, Couchbase (ex-Membase), Hypertable, ElasticSearch, Accumulo, voltDB, Kyoto Tycoon, Scalaris, Neo4j, and HBase:
The most popular version of NoSQLMongoDB 2.2
Development language: C ++
Key features: retain some user-friendly features (queries, indexes, etc.) in SQL)
License: AGPL (DRIVER: Apache license agreement used)
Data Transmission Format: custom, binary (BSON document format)
Application scenarios:
Use Case:
I want to deploy MySQL or PostgreSQL, but the pre-defined data dictionary can block you. At this time, MongoDB is an option you can consider.
MongoDB details: click here
MongoDB: click here
Recommended reading:
CentOS 6 install MongoDB and server configuration using yum
Install MongoDB2.4.3 in Ubuntu 13.04
How to create a new database and set in MongoDB
MongoDB beginners must read (both concepts and practices)
MongoDB authoritative Guide (The Definitive Guide) in English [PDF]
Riak 1.2
Development languages: Erlang, C, and some JavaScript
Main features: Fault Tolerance Mechanism (when a copy of Data fails, the service will automatically switch to the backup data to ensure that the service is always online)
License: Apache
Data Transmission Format: HTTP/REST architecture, or custom binary format
Application scenarios:
If you want a database similar to Dynamo, but do not want it to be huge or complex
If you need good single point scalability, availability and fault tolerance capabilities, but do not want to pay for Multi-Point backup.
Use Case:
Point-of-sale data collection; factory control systems; real-time online systems; websites that require easy upgrading
CouchDB 1.2
Development language: Erlang
Main features: data consistency and ease of use
License: Apache
Data Transmission Format: HTTP/REST
Application scenarios:
Used for scenarios where the random data volume is large and pre-defined queries are required
What is important for version control?
Use Case:
It can be used for Customer Relationship Management (CRM) and Content Management System (CMS). It can be used for Master, master, and backup, or even multi-host backup.
For more details, please continue to read the highlights on the next page: