Comparison of eight Nosql Database Systems

Source: Internet
Author: User
Tags cassandra riak neo4j couchdb
Comparison of eight Nosql database systems: KristfKovcs is a software architect and consultant who recently published an article comparing various nosql databases. The article was compiled by Tang youhua, an agile translator. For more information, see post-Article declaration. Although SQL database is a very useful tool, after 15 years of outstanding performance, the monopoly will soon

Comparison of eight Nosql database systems: Kristf Kovcs is a software architect and consultant who recently published an article comparing various nosql databases. The article was compiled by Tang youhua, an agile translator. For more information, see post-Article declaration. Although SQL database is a very useful tool, after 15 years of outstanding performance, the monopoly will soon

Comparison of eight Nosql Database Systems

Introduction: Krist óf kolács is a software architect and consultant who recently published an article comparing various nosql databases. The article is compiled by agile translation-Tang Yuhua. For more information, see post-Article declaration.

Although SQL database is a very useful tool, after 15 years of outstanding performance, the monopoly will be broken. This is only a matter of time: I was forced to use relational databases, but I finally found that I could not meet my needs.

However, the difference between NoSQL databases is far greater than that between SQL databases. This means that software architects should select a suitable NoSQL database at the beginning of the project. In this case, we compared Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j, and HBase:

(Note 1: NoSQL: it is a brand new revolutionary movement for databases. NoSQL advocates the use of non-relational data storage. Today's computer architecture requires massive horizontal scalability in terms of data storage, while NoSQL is committed to changing this situation. Currently, Google BigTable and Amazon Dynamo use NoSQL databases. See NoSQL .)

1. CouchDB

Best Application Scenario: suitable for applications with less data changes, which execute pre-defined queries and perform data statistics. Applicable to applications that require data version support.

For example, CRM and CMS systems. Master-master replication is very useful for multi-site deployment.

(Note 2: master-master replication: a database synchronization method that allows data to be shared among a group of computers and can be updated by any group of members in the group .)

2. Redis

Best Application Scenario: suitable for applications with fast data changes and the database size (suitable for memory capacity.

For example, stock price, data analysis, real-time data collection, and real-time communication.

(Note 3: Master-slave replication: if only one server processes all replication requests at the same time, this is called Master-slave replication, generally, applications are deployed in Server clusters that require high availability .)

3. MongoDB

Best application scenarios: Suitable for dynamic queries, indexes instead of map/reduce functions, and performance requirements for large databases; applications that require CouchDB but are full of memory due to frequent data changes.

For example, you are planning to use MySQL or PostgreSQL, but the pre-defined columns that come with them will block you.

4. Riak

Best Application Scenario: Suitable for scenarios where you want to use databases similar to Cassandra (similar to Dynamo) but cannot handle bloat and complexity. It is applicable to scenarios where you plan to replicate multiple sites, but you need to have requirements on the scalability, availability, and error handling of a single site.

For example, sales data collection, Hong Kong virtual hosts, factory control systems, strict downtime requirements, can be used as easy to update web servers.

5. Membase

Best Application Scenario: suitable for applications that require low-latency data access, high concurrency support, and high availability

For example, low-latency data access, such as advertisement-oriented applications, and highly concurrent web applications such as online games (such as Zynga)

6. Neo4j

Best Application Scenario: Suitable for graphic data. This is the most significant difference between Neo4j and other nosql databases.

For example, social relations, public transportation networks, maps, and network extensions

7. Cassandra

Best Application Scenario: When the write operation is used more than the read operation (record the log), if every system build must be written in Java (no one is fired because Apache software is used)

For example, the banking industry, the US space, and the financial industry (although not essential for financial transactions, these industries have more database requirements than they do) write faster than read, therefore, a natural feature is real-time data analysis.

8. HBase

(Used with ghshephard)

Best Application Scenario: Applicable to scenarios where BigTable :) is preferred and big data needs to be accessed randomly and in real time.

For example, Facebook message database (more common use cases are coming soon)

Note 4: Thrift is an interface definition language that provides definition and creation services for multiple other languages, developed and open-source by Facebook.

Of course, all systems not only have these features listed above. Here I only list some important features I think based on my own points of view. At the same time, the technology advances rapidly. Therefore, the above content must be constantly updated. I will do my best to update this list.

Original article: Krist óf kolács Compilation: Agile translation-Tang Yuhua

If you need to reprint the content, please indicate the source of the original/translated text, the hyperlink of the translation, and the translator. Otherwise, it is deemed as infringement. Thank you for your cooperation!

Posted on

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.