[译文] MySQL Shell 转储和加载和压缩
MySQL Shell 是与 MySQL 一起使用的流行工具,它在 Oracle 云基础设施 (OCI) 中完美地集成了 MySQL 数据库服务 (MDS) 的所有内容。
对于任何逻辑转储和数据加载,尤其是将数据转储到 MDS,MySQL Shell Utility 是推荐的解决方案。
MySQL Shell Dump & Load 速度更快、并行且与 OCI 兼容(块存储、MDS 授权、自动主键创建等)
这篇文章是关于压缩的。
默认情况下,MySQL Shell Dump 使用zstd压缩。
Zstd 是 Zstandard 的缩写,是一种快速无损压缩算法,针对 zlib 级别压缩率的实时压缩场景。
可以使用压缩选项指定用于 MySQL Shell Dump Utility 的压缩算法。
接受的值为:
- none
- zstd (default)
- gzip
如果您打算使用压缩和多线程(并行),建议为 MySQL Shell 准备一个强大的实例。
为了比较压缩算法和旧的mysqldump,我使用了一个 8 核的服务器(Intel® Xeon® Platinum 8167M CPU @ 2.00GHz - OCI 上的 VM.Standard2.4)。数据是一张47GB InnoDB Data的单表!
转储数据
MySQL Shell 的默认并行度是使用 4 个线程。
如果您有大型数据集要转储和加载,我建议您拥有一台具有更多内核的机器,并使用线程选项指定更多线程,例如:
JS util.dumpSchemas(["ontime"], "/home/opc/dump_zstd",{"threads": 32})