改进分布式数据库的备份和恢复能力

262 阅读3分钟

CockroachDB被设计为提供防弹的弹性。但即使是世界上最安全的船也需要携带救生衣。同样的原则也适用于你的数据,这就是为什么我们在CockroachDB中加入了大量的备份和恢复功能

将备份和恢复功能转移到CockroachDB的免费开源版本中

自从这篇博客发布以来,我们的备份恢复功能有了一个巨大的变化--我们将其转移到了开源版本。这一决定受到了CockroachDB用户群体的影响,他们帮助我们了解到现代数据密集型应用需要比我们的单机灾难恢复功能更多的支持。

作为背景,当我们决定创建两个版本的备份和恢复功能时(一个是核心版本,一个是企业版本),当时开源市场上的数据密集型应用并没有像现在这样大量涌现,需要跨机器支持。当然,现在的情况不再是这样了。我们很感谢社区与我们沟通他们的需求。你使这个决定变得简单。

在一个有弹性的分布式数据库中备份数据和恢复数据

备份和恢复功能的责任在一个被设计成可以在任何情况下生存的数据库中是不同的(以 "蟑螂 "命名)。例如,像小规模的节点故障这种孤立的问题不需要你采取行动。在像CockroachDB这样的弹性数据库中,备份是针对集群失去大部分节点的灾难恢复情况。

在CockroachDB中,分布式的备份和恢复功能帮助用户从编码事故中快速恢复,它们也为客户数据增加了更多的保护,并帮助应用程序保持符合行业特定数据法规(通过备份归档)的监管。你也可能想定期进行备份,以获得数据库的时间点快照。

  • 备份。CockroachDB的备份语句允许你为集群的模式和数据创建完整或增量的备份,这些备份在给定的时间点上是一致的。
  • 恢复。Restore语句从存储在AWS S3、谷歌云存储、NFS或HTTP存储等服务中的备份中恢复集群的模式和数据(你可以恢复完整的集群、数据库或表)。

CockroachDB备份和恢复教程

在这个视频教程中,高级产品经理Michael Wang介绍了备份和恢复的一些改进,旨在使这个过程更快、更容易、更安全。在这个教程中,迈克尔进入命令行演示了我们所做的一些改进,他还花时间解释了CockroachDB在幕后所做的工作,使开发者的体验更加完美。以下是教程中的一些亮点。

  • 更新的增量备份用户体验
  • 引入全集群备份/恢复
  • 通过时间约束迭代器提高速度
  • 增加了加密备份的安全性

正如我们上面提到的,这些备份和恢复功能从20.2版本开始变得开放源代码。所以你可以通过点击这里获得30天的免费试用,开始在CockroachDB上进行构建。如果你想了解其他CockroachDB的开源用户正在构建什么,你可以直接在我们的社区slack频道询问他们。