2.4.?处理大型数据库

2.4.1. 压缩转储
2.4.2. 分割转储
2.4.3. 自定义转储
2.4.4. 并行转储

一些操作系统有最大文件大小限制,这在创建大型ux_dump输出文件时可能会出现问题。幸运的是,ux_dump可以写入标准输出,因此可以使用标准Linux工具解决这个潜在问题。有如下几种方法:

2.4.1.?压缩转储

使用压缩程序,例如gzip:

ux_dump dbname | gzip > filename.gz

恢复:

gunzip -c filename.gz | uxsql dbname

或者:

cat filename.gz | gunzip | uxsql dbname

2.4.2.?分割转储

split命令允许将输出分割成较小的文件以便能够适应底层文件系统的尺寸要求。例如让每一块的大小为1兆字节:

ux_dump dbname | split -b 1m - filename

恢复:

cat filename* | uxsql dbname

2.4.3.?自定义转储

如果UXDB所在的系统上安装了zlib压缩库,自定义转储格式将在写出数据到输出文件时对其压缩。这种方式的优势是输出文件中的表可以被有选择地恢复。下面的命令使用自定义转储格式来转储一个数据库:

ux_dump -Fc dbname > filename

自定义格式的转储输出不是uxsql的脚本,只能通过ux_restore恢复:

ux_restore -d dbname filename

对于非常大型的数据库,需要将split配合压缩转储或自定义转储两种方法之一进行使用。

2.4.4.?并行转储

为了加快转储大型数据库的速度,可以使用ux_dump的并行模式。它将同时转储多个表。-j参数控制并行度。并行转储只支持“目录”归档格式。

ux_dump -j num -F d -f out.dir dbname

ux_restore -j以并行方式恢复转储。它只能适合于“自定义”归档或者“目录”归档,不论归档是否由ux_dump -j创建。

XML 地图 | Sitemap 地图