mysql 5.7有哪些优缺点

网友投稿 96 2023-12-27

mysql 5.7有哪些优缺点

这篇文章主要讲解了“mysql 5.7有哪些优缺点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql 5.7有哪些优缺点”吧!

原理

innodb的透明页IO压缩,利用punch hole和数据压缩来实现。在内存中是一个正常的页,只有在写到磁盘时,才进行压缩。调用函数os_file_io_complete进行punch hole操作,os_file_io_complete调用的是fallocate()操作系统函数,并且使用 FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE标签,回收磁盘上页的空闲block。具体方法是先将压缩后的内容写入到磁盘,此时磁盘上页仍然是16K,写完成后,调用fallocate函数回收磁盘页中空闲的block,该block以系统block_size为单位。

优点

1、内存中方便管理,只有正常页,不存在压缩后的页

2、更加简单灵活的使用压缩算法

3、代码上可以针对各种类型的页进行压缩

缺点

引用淘宝数据库内核月报中内容:

无法完美压缩:例如9KB的数据可能需要12kb来存储,取决于block size;

无法压缩Buffer pool, 这是和传统innodb压缩相比,以前的压缩方式可以在内存中只存放压缩页拷贝 (然而也有可能同时存在压缩和解压页),因此用户可能需要去购买iops更高的设备,而oracle正好也卖这些….

punch hole 可能产生的文件碎片化,底层的文件管理更加复杂;

对innodb文件做punch hole可能带来的后果是,使得每个文件的page变成一个独立的segment,文件系统需要单独的journal和metadata来管理。另外也有可能有性能问题:可能比non-sparse的写操作昂贵五倍 (这依赖于具体的内核);

删除一个拥有几百万个段管理对象的数据文件带来的开销会非常昂贵。

mariadb

mysql的innodb中仅支持2种压缩算法,而mariadb的XTRADB中可支持zlib、lz4、lzo、lzma、bzip2、snappy等5种算法。除了,zlib、lz4外,其他的需要-代码进行编译安装。

感谢各位的阅读,以上就是“mysql 5.7有哪些优缺点”的内容了,经过本文的学习后,相信大家对mysql 5.7有哪些优缺点这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:怎么解决数据库ERROR 2003问题
下一篇:MySQL压力测试中如何定制sysbench的Lua模板
相关文章

 发表评论

暂时没有评论,来抢沙发吧~