In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-19 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >
Share
Shulou(Shulou.com)05/31 Report--
What are the branches of MySQL database? I believe many inexperienced people are at a loss about this. Therefore, this paper summarizes the causes and solutions of the problem. Through this article, I hope you can solve this problem.
MySQL is one of the most popular free and open source programs in history. It is the database backbone of thousands of websites, and it (and Linux) can be used as a strong proof of the exponential growth of Internet over the past decade.
So, if MySQL is really so important, why are more and more core MySQL modifying the code and then distributing the code on their own? For a long time, there was no trusted branch of MySQL in the developer's own production environment. But that quickly changed. Several branches have attracted a lot of attention.
Why branch?
Why do I need to branch MySQL? This is a very reasonable question. Thousands of websites rely on MySQL, and to many people, it seems to be a good solution. However, this is often the case, and it is suitable for many people but not for everyone. This makes some developers want to develop better solutions according to their own needs. What could be better than turning a good solution into a perfect solution?
Below we will describe more details of how these branches seek to change. Some branches think that MySQL has become too bloated, providing a lot of power that users will never be interested in, at the expense of performance simplicity. If people are particularly satisfied with the more streamlined MySQL 4, why add extra complexity to MySQL 5? For this branch, a better MySQL branch would be simpler, faster, and therefore provide less functionality, but this will make these features work extremely quickly, keeping in mind the target audience, in this case, the high availability site.
For other branches, MySQL does not provide enough new features, or it is too slow to add new features. They may think that MySQL is not keeping pace with the target market for high-availability websites, which run on multicore processors with a lot of memory. As those familiar with MySQL know, MySQL provides two storage engines: MyISAM and InnoDB. This branch believes that neither of these storage engines provides what they need, so they have created a new storage engine that fits their goals well.
In addition, the highest goal of some branches is to become an alternative to MySQL, where you can easily access their branches without changing any code. This branch uses the same code and interface as MySQL, thus making the transition very easy. However, another branch claims that it is not compatible with MySQL and needs to change the code. Each branch has a different level of maturity, with some branches claiming to be ready for production, while others claim to be far from reaching this highest goal.
Finally, it is still uncertain how MySQL will evolve under Oracle. Oracle acquired both Sun and MySQL, and now Oracle controls the MySQL product itself and leads the development community to develop new finished products. Because Oracle already has a commercial database, people worry that they may not have enough resources to keep MySQL in the lead. As a result, many branches are the result of these potential concerns that MySQL, as the leading free and open source database, may offer too little functionality, too slow release cycles, and more expensive support.
XtraDB
XtraDB is a stand-alone product, but it is still considered a branch of MySQL. XtraDB is actually a storage engine for MySQL-based databases. XtraDB is considered to be an additional storage engine for standard MyISAM and InnoDB that have become part of MySQL. MySQL 4 and 5 install each table using the default MyISAM storage engine. InnoDB is also a relatively new storage engine choice, and database administrators and developers can choose the storage engine type on a per-table basis when setting up the database. The main difference between the two storage engines is that MyISAM does not provide transaction support, while InnoDB provides transaction support. Other differences are many subtle performance differences, and InnoDB provides many minor performance improvements compared to MyISAM, and provides higher reliability and security when dealing with potential data loss. It seems that InnoDB is a more suitable storage engine for future improvements, so since version 5.5, MySQL has changed the default storage engine from MyISAM to InnoDB.
Based on these advantages, the InnoDB storage engine itself splits into a branch, an updated storage engine called XtraDB. How new is this storage engine? It was first released by Percona three years ago, so it is relatively new. It is designed specifically for modern high-availability websites running on modern servers. It is designed to run on servers with a dozen or more cores and large memory (32GB and more). Any company can purchase these types of servers from a server management company, so the database should be designed to make full use of these servers.
The XtraDB branch has another goal, which is to become a simple alternative to the InnoDB storage engine, so that users can easily switch their storage engines without changing any existing application code. XtraDB must be backward compatible with InnoDB to provide all the new features and improvements they want to add. They have achieved this goal.
How fast is the XtraDB? A performance test I found shows that it can handle 2.7x transactions per minute compared to the built-in MySQL 5.1 InnoDB engine. (see Resources). Speed is obviously a factor that cannot be ignored, especially when considering alternatives.
Percona
XtraDB offers some significant improvements over the built-in MySQL storage engine, but it is not a stand-alone product and cannot be easily incorporated into an existing MySQL installation. Therefore, if you want to use this new engine, you must use the product that provides it.
Percona Server is one such product, released by Percona, a leading MySQL consulting firm. Percona Server is a stand-alone database product that provides users with the ability to swap out their MySQL installation and swap in Percona Server products. By doing so, you can leverage the XtraDB storage engine. Percona Server claims to be fully compatible with MySQL, so in theory, you don't need to change any code in the software. This is indeed a big advantage for controlling quality when you are looking for rapid performance improvements. Therefore, a good reason to adopt Percona Server is to use the XtraDB engine to minimize code changes.
In addition, they are the original authors of the XtraDB storage engine. Percona uses this code as open source code, so you can find it in other products, but the original creator of the engine is the same person who wrote this product, so you can use this information as much as you like.
Here is a statement from Percona Server, which comes from their own website:
Scalability: handle more transactions; scale on powerful servers
Performance: Percona Server with XtraDB is very fast
Reliability: avoid damage and provide crash safe (crash-safe) replication
Management: online backup, online table import / export
Diagnostics: advanced analysis and detection
Flexibility: variable page size, improved buffer pool management
The Percona team's final statement is that "Percona Server is the closest version of the official MySQL Enterprise release released by Oracle", thus distinguishing it from other branches that have made a lot of changes to the basic core MySQL code. One drawback of Percona Server is that they manage the code themselves and do not accept contributions from external developers, ensuring that they have control over the functionality included in the product in this way.
MariaDB
Another product that provides a XtraDB storage engine is the MariaDB product. It is very similar to Percona products, but provides more underlying code changes in an attempt to provide more performance improvements than standard MySQL. MariaDB directly leverages the XtraDB engine from Percona, and because they use exactly the same engine, there is no significant difference each time the storage engine is used.
In addition, MariaDB provides the standard storage engines provided by MySQL, namely MyISAM and InnoDB. So, in fact, it can be thought of as an extension set of MySQL, which provides not only all the features provided by MySQL, but also other features. MariaDB also claims to be an alternative to MySQL, so when switching from MySQL to MariaDB, you don't need to change any basic code to install it.
Last but not least, the primary creator of MariaDB is Monty Widenius, which is also the original creator of MySQL. Monty set up a company called Monty Program to manage the development of MariaDB, which employs developers to write and improve MariaDB products. This is both a good thing and a bad thing: the upside is that they are leaders in Maria features and bug fixes, but the company is not profit-oriented, but product-driven, which can cause problems because companies that are not profitable may not last long.
Drizzle
The last product introduced in this article is Drizzle. Unlike the two products introduced earlier, Drizzle is so different from MySQL that it even claims that they are not alternatives to MySQL. They expect to make some major changes to MySQL and want to provide an excellent solution to the high availability problem, even if it means changing all aspects of MySQL that we are used to.
When you read the questions provided on the company's FAQ page, you will find that Drizzle further emphasizes its basic goals. They are not satisfied with some of the changes made to the MySQL code since the MySQL 4.1 release, claiming that many developers do not want to spend extra money. They admit that their products are not even compatible with SQL relational databases. This is really very different from MySQL.
Why should we consider this product when there is such a big change in the habit of MySQL? To be exact, for the same reason as above, Drizzle is a major change to the MySQL engine, which removes some underperforming and unnecessary features, rewrites a lot of code, optimizes them, and even changes the language from C to clocked codes to get the code you need. In addition, Drizzle did not end the modification, and the product was designed with its target market in mind, that is, multicore servers with a lot of content, 64-bit machines running Linux, servers used in cloud computing, servers hosting websites, and servers that receive tens of thousands of hits per minute. This is a quite specific market. Is it too specific? Keep in mind that these types of companies are currently investing in their databases, and if they can install Drizzle instead of MySQL, their server costs will be halved, saving a lot of money!
So, should everyone use Drizzle? Wait, as Drizzle has repeatedly pointed out, it is not compatible with MySQL. Therefore, if you are using the MySQL platform today, you will need to rewrite a lot of code to make Drizzle work properly in your environment.
Although it takes extra work to get it running, it's not as fast and easy to use as Percona or MariaDB. I introduce Drizzle because although it may not be your choice at the moment, it is likely to be the choice of some people in a few years' time. Because the goal of this article is to increase your awareness of the tools to be used in the future, this is a good opportunity to introduce you to this product. Many leading DB experts believe that Drizzle will be the choice for high availability database installation over the next five years.
Drizzle is a completely open source product that openly accepts contributions from developers. It doesn't have a company that supports its development like MariaDB, nor does it have a large number of external developers contributing to it like Percona. Drizzle has a lot of room to grow and provides some new features, but you may need to rewrite most of your MySQL code.
Contrast picture
The following is an overview of the three MySQL branch products introduced in this article.
Concluding remarks
This article introduces three new branches of MySQL products designed to solve some of the problems they encounter when using MySQL. All three branches are free and open source products. When using it, you need to weigh their pros and cons against the features already provided by MySQL. I believe that for most people reading this article, MySQL will still be the first choice to meet the database needs. I doubt that most of the readers reading this article are the owners of websites with 1000000 hits per hour. I want to emphasize again that MySQL is still an excellent product and a database that is very suitable for most use cases.
However, for those who think their website needs higher availability, scalability, and performance than MySQL can provide today, any of these three products may provide you with the solution you need. Further, if you think your site is going to be a profitable site, consider using one of the three products to solve problems before they arise.
Finally, the root cause of these MySQL branches is that some creators want to change some of the basic functions of MySQL because they can't wait until MySQL does the work on its own. In addition, the current state of Oracle threatens the future of MySQL, and many developers (including the original developers of MySQL) are worried about the future of the product, and whether Oracle will invest in maintaining the product's leading database status. These concerns seem reasonable to me, so we should keep these products in mind as we move into the future.
After reading the above, have you mastered the methods of MySQL database branch? If you want to learn more skills or want to know more about it, you are welcome to follow the industry information channel, thank you for reading!
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.