怎样建立nebula graph的冷热备份机制

目前我看到nebula有snapshot的功能,备份功能还在开发中。针对这种情况目前可以用什么方法来分别进行数据的冷热备份呢

能详细说下场景和需求吗?

目前有了足够的数据,然后我部署了三台机器用做集群,数据也已经部署在三台机器上,目前在撰写测试方案,需要写出如何设计数据库的冷热备份机制(防止数据丢失)来保证系统的高可用。并且这个机制是可以实现的

系统本身就可以设置三副本冗余来保证系统高可用,为什么还要通过备份来实现呢?

当一个副本出现故障时,其他两个可以进行选举推出leader,但是当剩下的两个副本中任一个再次发生故障,副本投票机制失灵,系统不可用,这个时候数据再进行读写不是就会有问题吗。备份是为了以防万一

集群间的异步复制功能正在开发中,备份功能如你所了解的,目前也在开发中。目前有用户的场景中是做了双写的,一个在线集群,一个离线集群,离线集群有时会用来做一些临时的查询。

双写功能举起怎么配置呢,有没有文档可以看

这个是在应用端实现的

如果容错要求这么高,是不是可以多增加几个副本以及机器?

  1. 如果是 raft 节点希望更高的容错,可以增加更多机器,比如 5 副本,那就可以最多挂掉 2 台机器。
  2. 如果是跨机房的高可用,希望有主备,当机房不可用时切换主备。按上面说的,目前还在开发异步复制中。

奥奥,好的

没有那么多机器 :joy:

机器多不了了,我想想如何再应用层加方案

嗯,异步复制和 backup 估计都得等一阵;建议可以在应用侧双写,手动备份。

1 个赞

好的,谢谢啦

关于备份还原,请教以下问题:

  1. 目前正在开发中的集群间的异步复制功能和备份功能具体指什么?预计什么时候会发布?
  2. 之后会不会考虑做不停机快照恢复?
  3. Nebula Operator部署的集群,支持快照恢复么?

答复:1 集群间数据复制是指两个集群之间属于主、备集群(热备,不对外提供服务),通过集群间数据复制保证两个集群之间数据一致性,当主集群出现问题时,可以切换到备份集群,提供多机房间的容灾能力。发布时间点大约在2月份左右,不过这个功能只在企业版对外提供。
答复:2 关于不停机快照恢复,可以提个issue,后续可以考虑做起来。
答复:3 这个支持的,只是目前需要人工操作介入

提在这里了哈:https://github.com/vesoft-inc/nebula/issues/3354

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。