在这篇文章中,我们将学习如何在Azure Cosmos DB中对配置了连续备份策略的账户进行时间点恢复。
绪论
在上一篇文章《Azure Cosmos DB的连续备份》中,我们了解了Azure Cosmos DB中连续备份的概念。我们还了解了在这篇文章的草稿中,我们可以使用这个功能的用例和限制。在备份了数据之后,明显的需求是恢复数据。执行连续备份的需求是为了能够对数据恢复的时间或事件进行细化控制。而不是只选择对整个数据进行备份的时间间隔,这并不提供选择引起恢复操作需要的特定事件的能力,连续备份提供了选择需要恢复的确切事件的便利。
时间点还原
在我们开始下面的练习之前,假定已经有一个Azure账户,其中有一个具有连续备份策略的Azure Cosmos DB实例,并且对这个账户有管理权限。导航到账户主页,从左侧窗格中,点击数据资源管理器菜单选项,如下图所示。它将打开该账户的数据探索页面。如果你已经创建了一个全新的账户,默认情况下,你不会有任何数据在里面。数据资源管理器页面将提供创建样本数据的选项。为了执行时间点还原,我们需要一些数据来创建一些事件,这样我们就可以通过执行时间点还原来进行修改和恢复。让我们在这个账户中创建一些样本数据。通过点击下图所示的瓦片,点击从样本开始选项。这一步将导致创建一个新的数据库,以及一个包含样本数据的容器。
一旦样本数据创建过程完成,我们应该能够看到一个名为Sample DB的数据库和一个名为Person的容器。一旦我们点击这个容器并打开项目选项,我们就可以查看其中的数据,如下图所示。样本数据的创建会在Azure Cosmos DB账户中生成并标记一个事件。
从左边的窗格中,我们可以选择时间点还原选项,这将为我们提供执行实际还原选项的机会。当我们点击这个选项时,它将打开一个页面,如下图所示。
执行时间点还原的第一步是选择还原点。由于许多操作是在一个账户中的不同数据库和容器上进行的,因此可能很难确定确切的事件。我们可以选择感兴趣的还原点所发生的时间范围。如果我们不知道确切的时间,我们可以点击页面上的链接来探索事件反馈,这将列出所有可用的恢复点,如弹出窗口所示。在事件反馈中,我们可以选择我们想要探索事件反馈的数据库,它将列出所有最近的事件。我们刚刚创建了一个新的样本数据库和一个容器,所以这里也是可用的。我们可以选择事件之前和之后的时间。
通常,时间点恢复是由数据事件驱动的,比如恢复历史版本的数据或恢复意外损坏的稳定状态下的数据。我们可以通过删除容器及其数据来模拟这种情况,我们将尝试使用Azure Cosmos DB的时间点恢复选项来恢复。点击容器的省略号,会打开一个菜单,如下图所示。在菜单选项中,单击 "删除容器"按钮,删除该容器及其数据。这将在Azure Cosmos DB事件反馈中产生一个内部事件。
返回到时间点恢复选项,并选择事件,其中显示容器创建后1秒。这将选择还原点的确切时间。现在,我们需要选择创建新的恢复账户的位置。然后我们需要选择我们需要恢复的数据库或容器。我们感兴趣的是恢复容器,所以我们将从Sample DB数据库中选择Personals容器。
为将要创建的目标还原账户提供一个新的名字,然后点击提交按钮。这将启动时间点还原过程。新账户的恢复可能需要几分钟的时间。
一旦新账户被创建,你将能够探索数据,发现被删除的容器在同一个数据库中被恢复,但在一个新账户中。数据不会在现有账户中被恢复。
如果我们返回到之前删除Person容器的账户,并在时间点恢复选项中探索事件源,我们将能够找到我们删除容器时创建的事件,如下图所示。
这样,我们就可以使用Azure Cosmos DB中的时间点恢复选项,从具有连续备份策略的Cosmos DB账户中恢复数据。
总结
在这篇文章中,我们了解了时间点还原的使用情况。我们学习了如何使用Azure Cosmos DB中的时间点还原选项,并使用事件源中的特定事件来还原数据。