欢迎投稿

今日深度:

MariaDB 10.3.8 InnoDB版本是多少?,mariadbinnodb

MariaDB 10.3.8 InnoDB版本是多少?,mariadbinnodb


 

自MariaDB 10.2 版本发布后MariaDB默认的存储引擎由XtraDB转为默认的InnoDB,
在10.2版本基本和MySQL官方的版本保持一致。
在MariaDB官方的发布中做了如下说明:
InnoDB is now the default storage engine. Until MariaDB 10.1, MariaDB 
used the XtraDB storage engine as default. XtraDB in 10.2 is not up to date 
with the latest features of InnoDB and cannot be used. As the InnoDB on disk 
format is identical to XtraDB's this will not cause any problems when upgrading
 to MariaDB 10.2.
InnoDB是MariaDB10.2的默认引擎,在10.1及之前XtraDB则是默认的存储引擎。在10.2版本
中XtraDB没有紧跟InnoDB并且不可用。并且InnoDB的物理文件格式对xtraDB是可以识别的,
对于升级到MariaDB 10.2毫无问题。
官方也给了解释:
Keeping InnoDB (or XtraDB) up to date with MySQL (Percona) is a complex task. 
It took us more than half a year to migrate from InnoDB-5.6 to InnoDB-5.7 in 10.2.
Doing it again for XtraDB would probably have required only slightly less than this.
For us to embark on such project, it must bring significant benefits to our users.

XtraDB had many great improvements over InnoDB in 5.1 and 5.5. But over time, MySQL 
has implemented almost all of them. InnoDB has caught up and XtraDB is only marginally better. 
Not enough to justify a multi-month merge that would delay 10.2-GA for everyone.

In particular, the only real improvement that XtraDB 5.7 seems to have is for a 
write-intensive 
I/O-bound workload, where innodb_thread_concurrency control is disabled.

With a proper innodb_thread_concurrency, XtraDB is only marginally better. We 
didn't want to delay 10.2-GA by up to half a year for the sake of those few users 
who have write-intensive I/O-bound InnoDB workload and don't know how to configure innodb_thread_concurrency.

Note, we still consider incorporating XtraDB optimizations, but as patches, rather 
than XtraDB as a whole, which no longer has numerous all-over-the-code improvements.
在MariaDB 10.2版本中InnoDB的版本和MySQL的版本命名规则一致:
在MariaDB 10.3.7版本的ReleaseNote中有一句:
Remove InnoDB 5.7 version number from MariaDB 10.3 onwards
自MariaDB10.3 版本起移除 InnoDB 5.7的版本号,官方的解释是:
 Because the InnoDB implementation in MariaDB has diverged from MySQL, it is
 not meaningful to report a MySQL version number for InnoDB any more.Some examples:

MariaDB 10.1 (which is based on MySQL 5.6) included encryption and variable-size 
page compression before MySQL 5.7 introduced them
MariaDB 10.2 (based on MySQL 5.7) introduced persistent AUTO_INCREMENT  in a GA 
release before MySQL 8.0
MariaDB 10.3 (based on MySQL 5.7) introduced instant ADD COLUMN  before MySQL.
All of these features use a different implementation and file format. Also, some 
features were never merged from MySQL 5.7, and thus MariaDB is not affected by 
related bugs. Examples include CREATE TABLESPACE and the reimplementation of the partitioning engine.
虽然MariaDB中实现的InnoDB是从MySQL中派生的,显示MySQL官方的版本号已经毫无意义。比如:
 MariaDB 10.1中包含的加密算法和叶压缩大小早于MySQL5.7的实现;
 MariaDB 10.2中auto_increment持久化的功能早于MySQL8.0;
 MariaDB 10.3中介绍的instant ADD COLUMN功能早于MySQL。
这些功能的对于MySQL官方来说使用不同的实现方式和文件格式,并且有一些功能永远不会被合并
到MySQL5.7版本,尽管MariaDB不受相关bug的影响,比如CREATE TABLESPACE和分区引擎的重新实现。

MariaDB [(none)]> show variables like '%version%';
+---------------------------------+------------------------------------------+
| Variable_name                   | Value                                    |
+---------------------------------+------------------------------------------+
| innodb_version                  | 5.7.21                                   |
| protocol_version                | 10                                       |
| slave_type_conversions          |                                          |
| system_versioning_alter_history | ERROR                                    |
| system_versioning_asof          | DEFAULT                                  |
| version                         | 10.3.6-MariaDB-log                       |
| version_comment                 | MariaDB Server                           |
| version_compile_machine         | x86_64                                   |
| version_compile_os              | Linux                                    |
| version_malloc_library          | system                                   |
| version_source_revision         | 560743198604caf677c543db9719cef871df09ce |
| version_ssl_library             | YaSSL 2.4.4                              |
| wsrep_patch_version             | wsrep_25.23                              |
+---------------------------------+------------------------------------------+
13 rows in set (0.003 sec)

MariaDB [(none)]> show variables like '%version%';
+---------------------------------+------------------------------------------+
| Variable_name                   | Value                                    |
+---------------------------------+------------------------------------------+
| innodb_version                  | 10.3.7                                   |
| protocol_version                | 10                                       |
| slave_type_conversions          |                                          |
| system_versioning_alter_history | ERROR                                    |
| system_versioning_asof          | DEFAULT                                  |
| version                         | 10.3.7-MariaDB-log                       |
| version_comment                 | MariaDB Server                           |
| version_compile_machine         | x86_64                                   |
| version_compile_os              | Linux                                    |
| version_malloc_library          | system                                   |
| version_source_revision         | 4a49f7f88cfa82ae6eb8e7b5a528e91416b33b52 |
| version_ssl_library             | YaSSL 2.4.4                              |
| wsrep_patch_version             | wsrep_25.23                              |
+---------------------------------+------------------------------------------+
13 rows in set (0.00 sec)

MariaDB [(none)]> show variables like '%version%';
+---------------------------------+------------------------------------------+
| Variable_name                   | Value                                    |
+---------------------------------+------------------------------------------+
| innodb_version                  | 10.3.8                                   |
| protocol_version                | 10                                       |
| slave_type_conversions          |                                          |
| spider_version                  | 3.3.13                                   |
| system_versioning_alter_history | ERROR                                    |
| system_versioning_asof          | DEFAULT                                  |
| version                         | 10.3.8-MariaDB-log                       |
| version_comment                 | MariaDB Server                           |
| version_compile_machine         | x86_64                                   |
| version_compile_os              | Linux                                    |
| version_malloc_library          | system                                   |
| version_source_revision         | eaab98f7022732b26b4ea590e1bb44308e253be8 |
| version_ssl_library             | YaSSL 2.4.4                              |
| wsrep_patch_version             | wsrep_25.23                              |
+---------------------------------+------------------------------------------+
14 rows in set (0.002 sec)

我们看到MariaDB 10.3.6(RC)采用的还是MySQL官方的InnoDB版本为5.7.21;此后MariaDB中的版本号修改
为何MariaDB一样的版本号。

通过上述官方的解释中的MariaDB 10.3 (based on MySQL 5.7)可以看出MariaDB中的InnoDB 基本还是MySQL5.7,按照MySQL截止
到今天(20180722)发布的把版本为5.7.22,基本可以等同认为MariaDB的InnoDB
version是5.7.22.
不过由于MariaDB经过几年的独立发展加入了不少自己独有的功能,有不少的地方和MySQL已经不兼容,加之
而知都在2018年发布GA版本.因此很多人还是认为MariaDB 10.3(10.3.6 GA发布于2018-05-25) 和 
MySQL 8.0(8.0.11 GA发布于2018-04-19) 还是比较接近的,常把二者拿来比较。
对我个人我还是乐于将MariaDB 的InnoDB version看做是MySQL5.7版本,毕竟MySQL8.0对InnoDB也
改进不少。

参考:
https://mariadb.com/kb/en/library/changes-improvements-in-mariadb-102/
https://mariadb.com/kb/en/library/why-does-mariadb-102-use-innodb-instead-of-xtradb/
https://mariadb.com/kb/en/library/mariadb-1037-release-notes/
https://jira.mariadb.org/browse/MDEV-16172
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/
https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html

 

www.htsjk.Com true http://www.htsjk.com/mariadb/26454.html NewsArticle MariaDB 10.3.8 InnoDB版本是多少?,mariadbinnodb   自MariaDB 10.2 版本发布后MariaDB默认的存储引擎由XtraDB转为默认的InnoDB,在10.2版本基本和MySQL官方的版本保持一致。在MariaDB官方的发布中做了...
相关文章
    暂无相关文章
评论暂时关闭