扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章主要讲解了“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有哪些优缺点这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流