首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mariabackup,Xrtrabackup,那些如何处理InnodDB页面压缩的,意思是:稀疏文件?

Mariabackup,Xrtrabackup,那些如何处理InnodDB页面压缩的,意思是:稀疏文件?
EN

Database Administration用户
提问于 2023-01-26 06:15:27
回答 1查看 78关注 0票数 0

InnoDB引擎在使用页面压缩时,严重依赖于文件系统稀疏文件支持。InnoDB页面压缩

它提出了这样一个问题:如何处理InooDB中的稀疏文件

  • --backup
  • --prepare
  • --copy-back

行动?

假设我们总共有100 G InnoDB表(ls报告100 G,du报告0.5G)。提出以下问题:

  • 当我使用mariabackup/xtrabackup进行--backup时,备份本身会在目标dir中稀疏吗?
  • 当我使用mariabackup/xtrabackup进行--prepare时,结果会是稀疏的吗?
  • 当我用mariabackup/xtrabackup进行--copy-back时,结果是稀疏的
  • 假设mariabackup/xtrabackup不处理稀疏文件。(悲剧)。我可以用cp --sparse=always而不是mariabackup --copy-back ...来纠正这种行为吗?或者这不是那么简单.
EN

回答 1

Database Administration用户

回答已采纳

发布于 2023-01-26 14:17:07

mariabackup识别页面压缩文件,每当它复制页面时,它

  1. 计算页的压缩大小,即没有尾随零的页大小。
  2. 将页面的压缩部分复制到目标文件。
  3. 将文件指针(即lseek)向前推进到目标文件中页面的末尾,也就是说,它“跳过”将是二进制零的内容。

这个逻辑封装在这一功能中,它适用于--backup--copy-back (每当mbstream“解包”流时)。

人们可以认识到,这是一种相同的技术--在文件末尾写东西,这是Unixes多年来为获得稀疏文件而使用的技术。

令人惊讶的是,对于旧的Unix有效的东西,现在并不需要对所有的文件系统起作用,显然,这个逻辑似乎破坏了XFS

当然,您可以自己“稀疏”文件,使用任何在文件中穿孔的工具。

PS。mariabackup的--prepare相当于启动服务器进行崩溃恢复,因此每当-准备写入数据文件时,它使用通常的服务器逻辑,穿孔。

PPS。mariabackup --backup --stream确实会将二进制零写入stdout,因此建议使用任何通用压缩工具(gzip,7zip)来将这些零从流中删除。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/322605

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档