Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

What is the storage and branching of MySQL databases

2025-02-24 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Database >

Share

Shulou(Shulou.com)05/31 Report--

Today, I will talk to you about the storage and branching of MySQL database, which may not be well understood by many people. In order to make you understand better, the editor has summarized the following contents for you. I hope you can get something according to this article.

In the process of MySQL's acquisition of Sun in 2008 and Oracle's acquisition of Sun in 2009, it is basically at a standstill. In the foreseeable future, MySQL will definitely be shelved by Oracle and gradually eliminated. With the departure of the corresponding creators and internal developers, MySQL has created different engines and branches, making it possible for MySQL to continue to carry forward.

[introduction to MySQL Storage engine]

[Falcon Storage engine]

Falcon storage engine was the storage engine that MySQL had high hopes for at that time, mainly to face the situation that Oracle acquired InnoBase company at that time, to replace a storage engine of InnoDB. The leading person of the Falcon engine is the master Jim Starkey, which started development in 2006 and released the Beta version in 2008. So far, it has not entered the mainstream. In mid-2008, Jim Starkey, the chief architect of Falcon, announced his resignation from MySQL and joined a startup company, NimbusDB, as CEO to design and develop relational / semantic databases running on cloud computing. According to the current development of the NoSQL market in 2010, he made the right choice, but the result was that Falcon fell into a situation where there was no leading staff, resulting in a poor performance and half-dead state.

Falcon engine is developed by MySQL AB company based on the products of Netfrastrucure company (Netfrastrucure company was acquired by MySQL AB). The original goal of Falcon is to be embedded in MySQL 6.0to replace InnoDB engine. Basically, many functional designs are designed according to the goal of InnoDB.

Falcon is developed for the contemporary hardware environment with multi-CPU, a large amount of memory and the database operation characteristics of typical Web applications. The main functions include multi-version concurrency control, perfect ACID support, B + tree index supporting prefix compression, data page compression (stored in compressed form on disk, stored in memory in uncompressed form), group commit and so on. There is nothing new in terms of functionality, which generally implements the functions that a transactional storage engine must have (many advanced features such as multiple tablespaces, partitions, etc.), but there are many unique features in its architecture.

Through some test results on the Internet, the performance of Falcon is still very poor, and the write speed of MyISAM is also a problem with the optimization of 1-10-1-20 Select. Adding an index makes it possible to scan the whole table. So, after all, I feel that Falcon is a terrible engine.

Falcon feature: http://dev.mysql.com/doc/falcon/en/se-falcon-features.html

Falcon test: http://blog.gslin.org/archives/2008/02/12/1425/

Falcon manual: http://dev.mysql.com/doc/falcon/en/

Data base

[SolidDB Storage engine]

The solidDB storage engine is developed by Solid Information Technology (http://www.soliddb.com)), which is a transactional storage engine implemented using MVCC. It supports both pessimistic and optimistic concurrency control, which is not currently supported by other storage engines. The MySQL version of solibDB includes full support for foreign keys. It is similar to InnoDB in many ways, such as using cluster indexes. SolidDB also includes an online backup feature with no additional overhead.

SolidDB was acquired by IBM in 2008, mainly for integration as part of the IBM database consolidation solution, and currently exists as a front-end data cache. IBM acquired solidDB mainly because Oracle acquired TimesTen, Solid Information Technology's main competitor, in June 2005, in order to gain a foothold in the in-memory database market, so it acquired solidDB.

SolidDB product is a complete package, including solidDB storage engine, MyISAM storage engine and MySQL server. The combination of solidDB and MySQL appeared in late 2006. But the underlying technology and code have been perfected by the company for 15 years. Solid guarantees and supports the entire product. It is based on the GPL protocol and provides a commercial version similar to the MySQL server.

In terms of performance, SolidDB for MySQL open source database has once again been proved to fully meet the system performance and scalability requirements of high-throughput, mission-critical applications.

But in terms of the acquisition of solidDB by IBM and the acquisition of Oracle by MySQL, basically solidDB for MySQL is an engine that can no longer be used by MySQL, so it is also a miserable MySQL engine.

Official website: http://www.ibm.com/software/data/soliddb/

[XtraDB Storage engine]

XtraDB storage engine is a product improved and enhanced by percona for innodb storage engine. The first version was released at the end of 2008. XtraDB is compatible with all the features of innodb and has been enhanced in IO performance, lock performance, memory management and so on.

Percona is a MySQL technology consulting company. They have a famous technology blog called Mysql Performance Blog in the field of MySQL. At the same time, they have written a famous MySQL book called High Performance MySQL, which has also been published in Chinese. Their company also has a famous MySQL backup tool called XtraBackup.

The design goal of XtraDB is also to replace InnoDB as the goal, it is based on InnoDB to do the development, XtraDB 100% compatible with InnoDB, it is generally considered that XtraDB is an upgrade or alternative version of InnoDB. In terms of performance, XtraDB is currently very high and stable in most cases, so it is worth trying to use. Similarly, XtraDB is also a storage engine that feels very promising in the future, which is worth looking forward to.

Performance test: http://www.mysqlperformanceblog.com/2009/07/14/performance-improvements-in-percona-5-0-83-and-xtradb/

Usage: http://www.ningoo.net/html/2009/xtradb_storage_engine.html

Engine introduction: http://www.percona.com/docs/wiki/percona-xtradb:start

Engine: http://www.percona.com/percona-builds/Percona-XtraDB/

The company's official website: http://www.percona.com

Performance blog: http://www.mysqlperformanceblog.com

[Maria Storage engine]

Maria was developed by Monty (Michael Widenius), founder of MySQL and author of MyISAM, and named Maria because his third child is called Maria. Maria is a branch of MySQL that Monty began to develop in MySQL. After Sun acquired MySQL, because of some disagreements with Sun against the MySQL team, then left Sun in early 2009 to set up Monty Program Ab company specifically for Maria engine development, while developing a branch of MySQL called MariaDB.

Maria is a MySQL storage engine that uses it to extend MyISAM so that files are not corrupted in the event of an exception exit. The main purpose of Maria is to provide failure recovery after a crash as a better MyISAM. The longer-term goal is to become a full-featured transactional storage engine, supporting ACID, rollback, multi-version concurrency control, row-level locking, group commit, and optionally not supporting transactions, eventually replacing MyISAM as the default storage engine for MySQL.

At present, there is a version of Maria engine for MySQL 5.1. it is basically a MyISAM with crash recovery function, which uses table-level locks, but it can make read and write non-conflicting, that is, read operations can be performed while any type of update operation is carried out, but multiple write operations cannot be concurrent.

Characteristics of Maria:

1. Multi-version concurrency control, ACID support

two。 Enhanced backups can be made by copying logs

3. Efficient disk storage

The Maria engine was developed to replace MyISAM's storage engine, and as far as I know about some of the companies that are using it, it's working well, so you can give it a try. Maria is also a promising storage engine under the leadership of the founder of MySQL, which is worth looking forward to.

Maria download: http://askmonty.org/wiki/MariaDB:Download

Maria manual: http://askmonty.org/wiki/Maria

[PrimeBase XT (PBXT) Storage engine]

PBXT is a MySQL plug-in engine developed by PrimeBase, its function is similar to InnoDB, it is a transactional storage engine, and its design is very unique. One of its distinctive features is how to use transaction logs and data files to prevent "write-ahead" logs, which can greatly reduce the overhead of transaction commits. This architecture gives PBXT a lot of room to improve write concurrency, and tests show that it is faster than InnoDB under certain operations. PBXT also uses MVCC and supports foreign key constraints, but it does not use cluster indexes.

The main features are as follows:

MVCC: multi-version concurrency control, so that read operations are not locked

Transactional: support startup, COMMIT and ROLLBACK and recovery

ACID standard: atomicity, consistency, isolation, persistence (changes committed once cannot be lost)

Row-level locking: update the maximum amount of concurrency allowed to use row-level locks

Deadlock detection: notify immediately if the client process has fallen into a deadlock

Referential integrity: support for foreign keys.

Write once: PBXT avoids dual write usage logs for schemas.

The stream of BLOB: in combination with BLOB Streaming engine. (http://www.blobstreaming.org/)

According to the test results of some people, with the increase of the number of threads, the performance of TPS of PBXT storage engine is relatively stable, and its performance is similar to that of innodb. In the long run, its goal is to replace InnoDB as a storage engine. And at present, the branch of MariaDB already uses PBXT as a built-in storage engine, so it is also an engine to try.

[introduction to MySQL Branch]

[MariaDB]

MariaDB is a branch version of MySQL using Maria storage engine. It is a free and open source database server developed by Monty Program Ab Company, which was founded by Michael Widenius (Monty), the author of MySQL. Basically, the history of MariaDB is the same as the history of the Maria storage engine I mentioned above. MariaDB is designed to replace MySQL Server. Monty is the sponsor of the Open Source Database Alliance (Open Database Alliance), so MariaDB is also a member of the Open Source Database Alliance.

MariaDB's transaction-based Maria storage engine replaces MySQL's MyISAM storage engine, which uses Percona's XtraDB engine to replace I.

After reading the above, do you have any further understanding of MySQL database storage and branching? If you want to know more knowledge or related content, please follow the industry information channel, thank you for your support.

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.

Share To

Database

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report