Will nosql databases continue as promised?

Source: Internet
Author: User
Tags riak couchdb columnar database

This article is about 《Will nosql databases live up to their promise?Brief translation of the article. The name of the person or institution is omitted in the translation, and only the opinions of others cited by the author or the author are translated.

[Original]

Compared with relational databases, nosqlThe biggest advantage of databases is that they can efficiently process unstructured data, such as character files, emails, multimedia, and social media.. SomeNosqlDatabases can run in a distributed environment. Therefore, you can use multiple inexpensive devices to complete the functions of a high-performance server.

SomeNosqlSupporters believe that,NosqlIt has better performance, which is very important for big data processing.

Earliest proposal and useNosqlTechnology companies areWeb2.0Companies with large data volumes and extremely fast data growth, suchAmazonAndGoogle.

 

Limitations of relational databases:

Scale.When the data size becomes very large, a server will not be able to complete all the tables, and distributed processing is required at this time. However, distributed processing of relational databases is not easy, because tables on different machines areJoinIt is very difficult to get together. In addition, relational databases are not designed to split data. Therefore, it is difficult to divide them into distributed functions.

Complexity.Relational databases need to convert data to tables. When a type of data is not easily converted to table-type data, the structure of the corresponding relational database will become complex and difficult to use.

SQL.SQLIt is very effective for processing structured data, but it is insufficient for unstructured data.

A large number of constraints.Relational databases have strict constraints and data integrity requirements. HoweverNosqlSupporters believe that database users generally do not need so strict constraints, and do not like the cost caused by these constraints and the increased complexity of the system.

 

Due to these limitations inherent in relational data, suppliers and users are gradually turningNosqlDatabase. A key event occurs in2007Year,AmazonI published a paper about the internal useDynamo distributed nosqlSystem.AmazonIs one of the first companies to use non-relational databases to store company data.

 

There are three commonNosqlDatabase:

Key-ValueStorage (Key-value stores)

As its name implies,Key-ValueStorage is usedKeyTo searchValue. Such systems can handle structured or unstructured data.AmazonOfSimpledbIs a network service that provides core database services on the cloud, including data retrieval and query. It provides a simpleAPITo store and obtain data. Users are charged by usage.

UppsalaUniversityAmosⅡ is a research prototype that can be used as an independent database system or as a front-end of other applications.

Other examples includeScalaris, One can be usedWeb 2.0Scalable and distributed databases in the service.

Column-based database (Column-oriented database)

Compared to a relational database that stores highly structured columns and standardized columns in a unified format, a columnar database contains an extensible column (Column), Which is stored in the columnClosely related.

Representatives of such databases include:FacebookHigh PerformanceCassandraAndApacheDeveloped distributed open source databaseHbase.HbaseIn fact, it is a follow-upGoogleOfBig Table.

File-based storage(Document-based stores)

These databases store and organize data in a collection of files. In this way, you can add any number of arbitrary length fields (Fields) To a file. Unlike relational dataColumnQuantity and eachRecordRecord size limit.

Examples include: Apache Hosted Couchdb It is an application Erlang Open-source and scalable databases can be written to browse data in databases in any way. Division Couchdb In addition 10gen Funded MongoDB Database. MongoDB Database is an open-source file-type database designed to provide easy-to-use and well-scalable database services. In addition Basho Technologies Produced Riak Database, Riak Is a distributed and scalable discrete database, which is also an open source database and is suitable Web .

 

Open Source

MostNosqlDatabases are all open-source, which also reflects a development trend in the global software market.

Note: The biggest benefit of open-source software is that it can quickly converge software development to a stable version, and its profit model is generally to make money through the peripheral products of the software, for example, provide technical support, certification, or provide a richer version of functions.

 

NosqlAdvantages and disadvantages

Advantages:

NosqlGenerally, it runs faster than relational databases. Relational databases are generally used in commercial transactions and therefore require high accuracy. Therefore, all data must meetAcid(Atomicity, consistency, isolation, durability) principles. To meetAcidThis leads to slow data in relational databases.

To improve performance, developers generally do not require their ownNosqlYesAcidPrinciple, but this will cause problems when developing highly accurate applications.

NosqlAnother reason for the high speed is that its data model is generally relatively simple (Kyle banker, 10genEngineer ).Kyle"This is a trade-off between speed and model complexity, but it is worthwhile to sacrifice a certain amount of complexity in exchange for speed ."

Disadvantages:

① Complexity and overhead

BecauseNosqlDatabase not usedSQLLanguage, so they need to use the query statement specified in the Manual for operations. It is fast to execute some simple tasks, but it takes a long time when the tasks become more complex.

② Reliability

Inherent support for relational databasesAcidConstraints,NosqlThe database is not. ThereforeNosqlDatabases cannot be supported naturallyAcidThe Reliability caused by constraints. If you wantNosqlDatabase SupportAcidConstraints, then additional programming is required.

③ Consistency

BecauseNosqlDatabases are not naturally supportedAcidConstraints, so it may not meet Data Consistency unless such support is provided in the Manual. Without consistency, you can make the data in the database more flexible and easier to expand. However, this may also become a problem in some specific applications, such as banking.

④ Unfamiliar with technology

Because many organizationsNosqlThe database is not familiar yet, so there is not enough background information to help them compare database products when selecting products.NosqlDatabases better meet their needs.

⑤ Limited ecological structure

Unlike commercial relational databases, many open-sourceNosqlApplications do not provide commercial support or management tools.

 

Outlook

In the next five years,NosqlWill focus onNosqlCompatibility and management tool development.AndNosqlThe technology will be applied to unstructured data with Scalability requirements on a large scale. HoweverNosqlThe market share is still small, because relational databases are more mature and have more investment from suppliers and users.

In the last one or two years,NosqlDatabases are mainly used for specific types of projects, such as distributed projects, projects with large data volumes, or projects that require good scalability. However, more and more different types of projects will be considered for use.NosqlDatabase.

NosqlDatabases do not replace relational databases, but they are the best choice for certain types of projects.In the future, when you select a database for your data, there will be other options than the relational database. You can select an appropriate database type based on your needs.

 

Author information:

Editor: Lee Garber, computer,

L.garber@computer.org

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.