Comparison between Nosql data management systems and models _ MySQL

Source: Internet
Author: User
Tags cassandra comparison table couchbase orientdb neo4j
NoSQL introduction NoSQL data tries to provide functions that relational databases cannot provide, whether it is to store simple key-value pairs, shorter time length, high-speed cache, it is still difficult to maintain unstructured sets of data (such as collections) in relational databases and SQL (StructuredQueryLanguage. In this DigitalOcean article, we will introduce NoSQL

Introduction

NoSQL data tries to provide functions that relational databases cannot provide, whether it is to store simple key-value pairs, shorter time length, high-speed cache, it is still difficult to maintain unstructured sets of data (such as collections) in relational databases and SQL (Structured Query Language.

In this DigitalOcean article, we will introduce various popular NoSQL database systems and their functions, so as to help you, decide which NoSQL database to choose based on your needs for easy-to-use systems.

Glossary 1. Database Management System 2. NoSQL database management system
  1. Based on key/value

  2. Column-based

  3. Document-based

  4. Graphics-based

3. key/value-based NoSQL database management system
  1. Popular key-value-based databases

  2. When to use

4. column-based NoSQL database management system
  1. Popular column-based databases

  2. When to use

5. file-based NoSQL database management system
  1. Popular file-based databases

  2. When to use

6. graph-based NoSQL database management system
  1. Popular graph-based databases

  2. When to use

7. Comparison between NoSQL database management system and relational database management system
  1. When to use NoSQL Databases

Database management system

A database provides logically modeled storage space for different types of information (data. Each database except the schema-free database has a model that provides a structure for the processed data. A database management system is an application (or database) that manages various shapes, sizes, and types of databases ).

Note:For more information about database management systems, see our article about databases (http: // link_to_10_1_understanding_databases ).

NoSQL database management system

In the past decade or so, the relational database management system has been selected by developers and system administrators for various reasons for various applications. Despite being not completely flexible, the powerful nature of many relational database management systems allows complex database systems to be created, queried, and used. This even exceeded the requirements of many needs and was not reversed until a short time ago when different needs began to rise.

The term "NoSQL" was created ten years ago. Interestingly, it is the name of another relational database. However, the database has a different idea behind it: to eliminate the use of standardized SQL. In the next few years, others have picked up and continued to develop this idea by learning from other non-relational databases.NoSQL database.

In terms of design, NoSQL databases and management systems are both non-relational (also called non-paradigm. They are not based on the same model (such as the relational database model), but different models are selected for each database based on its different functional objectives.

Different operating models and functional systems of NoSQL databases have the following features:

  • Key/value:

Such as Redis and MemcacheDB.

  • Column:

Such as Cassandra and HBase.

  • Documentation:

Such as MongoDB and Couchbase.

  • Graphics:

Such as OrientDB and Neo4J.

To better understand the different roles and underlying technologies of each database management system, let's go through these four operational models.

Key-value-based

We are about to start our NoSQL model journey. it is a key-value-based database management system, because it can be seen as the basis and skeleton for implementing NoSQL.

This type of database works through the ing of keywords and values, which is somewhat similar to the dictionary. It does not matter if there is no structure. After connecting to the database server (such as Redis), the application will state a keyword such as the_answer_to_life and provide the corresponding value such as 42. this value can then be searched in the same way by providing the keywords.

Key-value databases are usually used to quickly store basic information, sometimes non-basic information that has been processed, such as CPU and memory intensive computing. They perform very well, have high performance, and are usually easy to expand.

Note:: In the computer field, dictionaries usually refer to specific types of data objects. They are composed of key-value pairs.

Column-based

Column-based NoSQL database management systems work by improving the simple nature of key-value-based.

Although they are hard to understand on the Internet, the working mechanism of these databases is quite simple. They match records by creating one or more key-value pairs.

Unlike traditional relational databases, column-based NoSQL Solutions can process data without a predefined table structure. Each record has one or more columns that contain information. each column of each record may be different.

Basically, a column-based NoSQL database is a two-dimensional array. each key (that is, row/record) is connected to one or more key/value pairs, these management systems allow very large and unstructured data to be stored and used (for example, records with a lot of information ).

These databases are usually used when a large amount of information records must be stored, and simple key/value pairs are insufficient for response. The column-based database management system provides a free model and excellent scalability.

Document-based

The document-based NoSQL database system is like an instantManyPeople's latest trends. These database systems work in a similar way as column-based databases. However, they support deeper nesting to produce complex structures (for example, a document is contained in a document, this document is included in another document ).

This document overcomes the restriction that only one or two levels of key/value nesting are allowed in a column-based database. Basically, no matter how complicated and whatever form of structure can form a document, and documents can be stored in such database systems.

Despite their powerful features and support for querying records with independent keys, document-based database systems still have their own problems and shortcomings over other systems. For example, a value in a record needs to involve the entire record, and the same is true for update, which seriously affects the performance.

Graphics-based

Finally, let's take a look at the amazing feature of NoSQL database systems-graphics-based systems.

The graphical database system model represents data in a different way than the three models mentioned above. They use a tree structure (that is, the "graph"), including nodes and edge connected through relation.

Similar to mathematics, some specific operations are extremely simple in this type of model. Thanks to the tree structure for linking information and grouping relevant information (such as Associated persons.

This type of database is usually used in scenarios where connections need to establish clear boundaries. For example, when you register a social network, the relationship between your friends and you, and the relationship between your friends and you is much simpler.

Key/value-based NoSQL database system

Key/value-type data storage is usually very good, easy to use, and usually has good scalability.

Popular key-value-based databases

Some popular key-value-based data storage systems are as follows:

  • Redis:

Key/value storage in memory, with optional persistence function.

  • Riak:

Highly distributed, replicated key/value storage.

  • Memcached/MemcacheDB:

Memory-based distributed key/value storage.

When to use?

Key-value-based data storage:

  • Cache:

Cache data quickly for future use, which may be frequent.

  • Used as a queue:

Some key/value storage (such as Redis) supports the list, set, queue, and other types.

  • Distributed Information/task processing:

Can be used to implementObserver/releaseSubscription(Pub/Sub) mode.

  • Save the active status information:

AStatusIs suitable for key/value storage.

Column-based NoSQL database system

Column-based data storage is very powerful, which can reliably store very large volumes of important data. Although the data composition is not "flexible", such databases are still powerful and have good performance.

Popular column-based databases

Some popular column-based data storage systems include:

  • Cassandra:

Column-based data storage based on BigTable and DynamoDB.

  • HBase:

The idea for data storage designed for Apache Hadoop is BigTable.

When to use?

Popular use cases for column-based data storage:

  • Save unstructured and nonvolatile information:

If you need to save a huge set of attributes and values for a long time, column-based data storage is very convenient.

  • Expansion:

Column-based data storage is inherently highly scalable. They can process information that has a terrible amount.

File-based NoSQL database management system

File-based data storage is very suitable for storing a lot of irrelevant complex information. different structures can have high variability.

Popular file-based databases

Popular file-based data storage:

  • Couchbase:

JSON-based file-based data storage compatible with "memory buffer.

  • CouchDB:

A breakthrough file-based data storage.

  • MongoDB:

A database that is very popular and has good functions.

Use:

Common scenarios for using file-based data storage:

  • Nested information:

File-based data storage allows deep nesting and complex data structures.

  • JavaScript friendliness:

One of the most decisive features of file-based data storage is the way they interact with applications: using JS-friendly JSON.

Graph-based NoSQL database management system

Graph-based data storage provides a unique feature that is incomparable to any other database management system.

Popular graph-based databases

Some popular graph-based databases are as follows:

  • OrientDB:

A very fast hybrid NoSQL data storage based on graphics and documents, written in Java, contains several different operating modes.

  • Neo4J:

A non-paradigm, graphical-based data storage written in Java, very popular and powerful.

When to use?

Some common scenarios of graph-based databases are as follows:

  • Process complex Association Information:

As mentioned in the introduction, graphic databases are extremely efficient and easy to use in processing complex but associated information. For example, the association between two entities and objects indirectly connected to different layers of them.

  • Classification of modeling and processing:

Graph databases are especially good at relational situations. Data is modeled in a relational manner and classified into various types of data. This type of database can be well processed.

Comparison between NoSQL databases and relational database management systems

To have a clear picture of the difference between the NoSQL solution and the relational database management system, let's create a quick comparison table:

When to use NoSQL databases
  • Dimension problems:

If there will be very large datasets, the database management system from the NoSQL family will be easier to achieve continuous expansion.

  • Speed:

NoSQL databases are usually faster, sometimes very fast for writing. It can be read quickly, depending on the type of the NoSQL database and the data to be queried.

  • Schema-freeDesign:

The relational database management system needs to be structured from the very beginning. NoSQL Solutions provide a lot of flexibility.

  • Automatic (or simple copy/resize ):

NoSQL databases are growing rapidly. today they are actively establishing-vendors are trying to solve common problems, one of which is obviously replication and scaling. Unlike relational database management systems, NoSQL Solutions can easily expand and work on clusters.

  • Multiple options:

When selecting a NoSQL data storage, as we have discussed, there are multiple modes from which you can choose the most satisfactory database management system-depending on your data type.

Address: https://www.digitalocean.com/community/articles/a-comparison-of-nosql-database-management-systems-and-models

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.