The nosql Revolution still needs to wait.

Source: Internet
Author: User

Author:IT expert network2009-07-14

Text Tag: open source database SQL Server open source storage database engine database

  [It168 technology]Recently, an explosive news came out in the database field. Some experts have proposed open-source nosql projects. Simply put, they want to overturn the original relational database model and design a database system without SQL statements. The author is opposed to this, or is not optimistic about its prospects in the near future.

  I. background of the nosql project.

Nosql supporters like this nosql project, mainly focusing on its performance advantages. Nosql supporters said that nosql technology can break the performance bottleneck of traditional relational databases. For example, the nosql architecture can save the time for converting web or Java applications and data into SQL-friendly formats, reduce the time for SQL statement parsing and optimization, and make the application faster.

Indeed, SQL-based relational databases have some performance bottlenecks. However, most of these are not caused by this SQL technology. It is because the relationship between tables, indexes of tables, and the deployment of tablespaces are not well designed during database design. Therefore, the performance of relational databases is not satisfactory, and it cannot be all blamed on such technology. Generally, optimizing the original database design can greatly improve the database performance. Therefore, the background of the nosql project is untenable.

 2. The nosql Revolution still needs to wait.

According to the current situation, I am not very optimistic about the prospects of the nosql project. Or, they are very pessimistic about their future. Nosql projects are hard to compete with traditional relational databases. It is even difficult to reach the height of the MySQL open-source database.

1. nosql is hard to achieve data integrity.

Since the beginning of the nosql project, I have also paid attention to it. However, I was not very impressed with this project. According to my understanding, many excellent and practical functions of relational databases cannot be implemented in nosql databases. For example, in any relational database, data integrity can be easily realized. For example, in Oracle databases, entity integrity (achieved through primary keys or non-null constraints) and referential integrity (achieved through primary keys and Foreign keys) can be easily realized), and user-defined integrity (implemented by constraints or triggers ). Data integrity can be achieved through these mechanisms. For example, you can set that the value of a column in a table is unique and cannot be null. In other words, if a foreign key is referenced in a table, this value must exist in another table. It must exist when deleted or updated.

Nosql supporters also acknowledge that the role of relational databases in data integrity is irreplaceable. However, they retorted that enterprises may not use such complex functions. I do not agree with this. Data integrity is basically required for any enterprise application. For example, most applications require at least one user authentication process. Therefore, the user name must be saved in the database during system implementation. Because this user name involves user authentication, the user name must be unique. In this case, the uniqueness constraint is required. In relational databases, you only need to set the user name to unique during table design. In nosql, code must be used for uniqueness. It was easy to implement, but now it is incredible to turn around and implement it. Since it is difficult to achieve data integrity in nosql projects, this data integrity is indispensable in enterprise applications. Therefore, I believe that nosql projects are hard to be popularized in enterprises. At least in a short time, the nosql Revolution still needs to wait.

2. Lack of strong technical support.

Nosql projects are open-source so far. Therefore, they lack formal support from suppliers and technicians. At this point, nosql projects, like most open-source projects, have to seek support from the community. However, nosql projects are much more difficult than other open-source projects. The nosql Project is a database system project. Or, it is the most basic device for some network applications. If an error occurs, the consequences are serious. Due to the lack of official support, the consequences of database operation errors are very serious. In addition, the user will not be able to complain. Therefore, the nosql project is basically at the research stage. If it is to be officially put into use in the enterprise, it will be accepted by the database administrator, at least its stability should be improved. In other words, when a problem occurs, the database administrator must be able to repair the operation fault in time. Due to the lack of strong technical support, database administrators are worried that the fault may not be quickly solved. Therefore, many administrators refuse to use nosql projects, even if they are open-source and free of charge. For example, oskarsson, the organizer of the nosql project, admitted that his company is not currently using nosql databases, and even has no such plans in the short term. Although they are currently using open-source database systems, they are still SQL-based relational databases. For example, the organizers of nosql projects do not dare to deploy this nosql database easily in enterprises. Who would dare to be the first hero to eat crabs? This is not a joke about your future.

3. It takes a long process for open-source databases to be accepted by users.

Suppose this nosql technology can be accepted by enterprise users, but it takes a long process from its appearance to its final acceptance by users. For example, MySQL, an open-source database system, has been around for many years. MySQL databases are based on mature relational database models. Many well-developed products are available for reference during development and design. At least the syntax of SQL statements can be used directly, instead of starting from scratch. Now nosql is a product from scratch, and all content needs to be redesigned. Without the support of technical personnel from suppliers, this process may be very long. Even if we move back to step 1, it will eventually become as popular as the MySQL database for small and medium-sized enterprises. However, due to its weak technology, it will show a lingering weakness in large database applications.

4. Relational databases are designed to reflect the actual situation.

In fact, relational databases have also been upgraded from non-relational databases. The reason why most databases are built on the relational database model shows the value of the existing relational database. I believe that the greatest value of relational databases lies in the ease of design. Because the relational model between its database objects (such as the three paradigm) is very helpful for database design, it reflects the actual business situation to a large extent. For example, when designing an ERP system, the relationship between the primary key and the foreign key can reflect the relationship between the product information table and the purchase order. This relationship is so realistic. Now nosql projects want to strip this relationship away, so when designing databases, it will inevitably increase a lot of trouble and increase the difficulty of databases. The most important thing is that the relationship between these database objects is not just a relationship. It is also a powerful principle that imposes constraints on all relational database administrators. This indicates that these rules must be enforced. So that the Oracle database administrator can quickly master the technology of the sqlserver database after a brief study. Because its internal principles are common. The Database Administrator only needs to learn its representation. This is like learning cars. You only need to take out your driver's license, so you can drive any brand of car. Because its database object relationships and running modes are fixed. However, due to the lack of such relationships in nosql projects, there may be great differences between different products based on nosql technology. This not only increases the difficulty of database design. In addition, more time and effort are required during maintenance.

In short, according to the current situation, the idea of my nosql project is opposed. At least in the near future, it is difficult to have a decent nosql product available. Oskarsson, the organizer of the nosql project, also admitted that the database revolution of the nosql project still needs to wait. In a short period of time, you may never have this opportunity to compete with relational databases.

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.