elasticsearch 学习笔记之五 备份还原开源方案比较

一、背景

二、方案比较

 

方案

比较项

方案一

方案二

方案三

是否支持单个索引文档数据备份

支持(1个命令操作)

支持(1个命令操作)

支持

是否支持单个索引文档数据还原

支持(1个命令操作)

支持(1个命令操作)

支持

是否支持单个索引所有数据备份

支持(多个命令操作)

但是问题如下

1)       需要执行2个命令将index、data分别导出到不同文件

支持(1个命令操作)

默认导出index的settings\mapping\template 以及data数据,每个索引4个文件

支持

是否支持单个索引所有数据还原

半支持(多个命令操作)

但是问题如下:

1)       index中的mapping数据无法还原

2)       index 中的数据要还原必须先删除索引

3)       分别执行命令去还原index和data

半支持(1个命令操作)

但是问题如下:

1)       index中的mapping数据无法还原

2)       index 中的数据要还原必须先删除索引

支持

是否支持指定多个索引文档数据备份

支持(1个命令操作)

但是仅可以通过通配符的形式导出多个索引,如:iotrm_event* 表示导出iotrm_event开头的所有索引

支持(1个命令操作)

支持

是否支持指定多个索引文档数据还原

支持(1个命令操作)

但是仅可以通过通配符的形式导入多个索引的文档数据

支持(1个命令操作)

支持

是否支持多个索引所有数据备份

支持(多个命令操作)

但是问题如下

1)       仅可以通过通配符的形式使用1个命令导出多个索引

2)       需要执行2个命令将index、data分别导出到不同文件

3)       导出index的时候,是所有index导出到一个文件,data也是一样,无法以索引为单位分开存储

支持(1个命令操作)

支持

是否支持多个索引所有数据还原

半支持(多个命令操作)

1)       仅可以通过通配符的形式使用1个命令导入多个索引文档数据,也就是data文件数据一次性导入

2)       索引index数据都在一个文件中,但只能执行不同命令指定索引还原索引index数据

3)       索引index数据中的mapping数据无法还原

4)       索引index 中的数据要还原必须先删除索引

半支持(1个命令操作)

但是问题如下:

1)       index中的mapping数据无法还原

2)       index 中的数据要还原必须先删除索引

支持

是否支持所有索引文档数据备份

支持(1个命令操作)

支持(1个命令操作)

支持

是否支持所有索引文档数据还原

支持(1个命令操作)

支持(1个命令操作)

支持

是否支持所有索引所有数据备份

支持(需要多个命令操作)

但是问题如下

需要执行2个命令将index、data分别导出到不同文件

支持(1个命令操作)

支持

是否支持所有索引所有数据还原

半支持(需要多个命令操作)

1)       可以通过1个命令导入所有索引文档数据,也就是data文件数据一次性导入

2)       索引index数据都在一个文件中,但只能执行不同命令指定索引还原索引index数据

3)       索引index数据中的mapping数据无法还原

4)       索引index 中的数据要还原必须先删除索引

半支持(1个命令操作)

但是问题如下:

1)       index中的mapping数据无法还原

2)       index 中的数据要还原必须先删除索引

支持

文档数据还原是否支持重复还原

支持

支持

支持

是否支持压缩备份

支持

支持

不支持

资源消耗情况

 

 

主要消耗磁盘IO和CPU,磁盘IO最高吞吐量为93.4M/s

备份耗时

 

250万条数据备份耗时10分钟左右

1)       总共文档数据 2835861条 2.0G,第一次全量备份耗时4分钟左右;后续快照增量备份耗时1-2分钟左右

2)       1,1150,0000 条文档数据,16G,还原耗时10分钟左右

还原耗时

 

250万条数据还原耗时20分钟左右,出现过一次最长可达2小时

1)       2854993 条数据,还原耗时4分钟左右

2)       1,1150,0000 条文档数据,16G,还原耗时13分钟左右

posted @ 2025-07-01 16:34  夏之夜  阅读(27)  评论(0)    收藏  举报