In May last year, I first introduced MariaDB 10.0 on my blog. At that time, we received a lot of feedback. After summing up the comments, we once again explained MariaDB 10.0 in a more in-depth manner. at the beginning of the New Year, with the release of MariaDB 10.0 Alpha version, it is time to talk about MariaDB 10.0, especially its differences with MySQL 5.6, this is also a frequently asked question for me and many people in the MariaDB project.
First of all, I want to elaborate on why we didn't take MySQL 5.6 directly as the basis for secondary development. We can refer to MariaDB 5.6 as a product. we did not share the details of this reason with anyone.
1. The file structure of the MySQL5.6 code library has been changed. For example, a single code file has been divided into multiple files, or some code has been reclassified into different files. Therefore, it is a very time-consuming process to combine MariaDB with the current file structure. In fact, I really don't quite understand why MySQL needs to change the existing file structure.
2. mairaDB 5.5 already has a lot of code different from MySQL 5.5, and many new features are integrated into MariaDB 5.5, these features are available only in MySQL 5.6. Therefore, after comparing the versions of MySQL and MariaDB with the same functions and completing the design and QA review, we can clearly conclude that MariaDB will be a better product. In most cases, when selecting MariaDB, people will consider more functional preferences.
3. Therefore, there is no need to test the new MySQL code after modifying the bug code. Let's think about it. When such a function needs to be added to a piece of code, and this function originally comes from this piece of code, testing is an extremely important process to ensure the normal operation of this function.
Like the second and 3.1 mentioned above, Stewart Smith wrote in Percona about Mysql's final security patch regression testing and QA how to test the MariaDB project, and the importance of the test cases stored on the Percona server for regression testing. Reference: wrote yesterday about the latest security fix in MySQL introducing a regression
MariaDB is not just a substitute for Mysql. Its main purpose is to innovate and improve Mysql technology. Mysql5.6 is not a suitable basic innovation platform, so we have done the following:
1. Because we have introduced some new features (such as multi-source replication, Cassandra integration, and engine independent statistics system), we need to create a new version. Generally, when you introduce new features, you need to create a new version.
2. the next version called "MariaDB5.6" is inaccurate because it is not based on Mysql5.6. Instead, we decided to change the version to 10.0.
3. MariaDB introduces Mysql5.6 as an alternative solution, which requires many more features. We have taken the first step and are moving towards merging or rebuilding Mysql5.6.
First, mariadb 10.0 is a major database version, such as the combined innodb and combined performance architecture, and a new global execution transaction id. In summer, mariadb 10 may be treated as a GA open database. (Note)
Through a tiered approach, our ultimate goal is to aggregate or re-implement all the features of mysql5.6. All features of the implementation will be compatible with their mysql version. So far, maria 10 will be fully compatible with MySQL. In addition to the top frame, it contains the unique features of many additional mariadb databases.
It is easy to re-implement the function. From the perspective of us or users, MySQL 5.6 lacks this function, so we can implement it again. The re-implementation decision is not due to "I want to do this" or to the impact of "self-developed syndrome. Every question is carefully and extensively discussed. You can join the mail list to participate in these discussions and let us hear your voice, the Mail List is https://launchpad.net /~ On the maria-developers website
Maria-developers@lists.launchpad.net.
We have other options. The answer is Yes. We can use the latest version of MySQL 5.6 as the basis for MariaDB 5.6, and then perform repair and repair on it. However, we need to realize that MariaDB is not an additional patch. Although MairaDB is built on the basis of MySQL, many of our engineers are working hard and their credit should not be underestimated. We have to mention that our full-time MariaDB engineers and QA staff have been working hard on MySQL technology to better serve MairaDB.
Of course, there is another way to go, that is, it is no longer dependent on MySQL and is no longer compatible with MySQL. In this way, we will be called an independent individual. However, we do not quite adopt such a solution. Because we benefit from the functions of MySQL and many MariaDB users, MariaDB can also have these features.
MariaDB 5.5 has already laid a ground for MairaDB, And we will naturally take the opportunity. Now, there will be more downloads every week, more branches are based on MariaDB, and more importantly, more and more large application cases are using MariaDB.
During the MariaDB project, we have been striving to make MariaDB a substitute for MySQL, and there will also be more achievable innovations, we have always been very careful about balancing our investment. Of course, without a new version, MariaDB will never be a real product.
Join MariaDB and SkySQL to get more updated messages about MariaDB. We are also looking forward to hearing your suggestions and comments. For the route schedule and reservation information, see here.
MariaDB 10.0 and MySQL 5.6