我使用的是AWS RDS Aurora Postgres 12.9。
我有一个数据库在一个'初始状态';有了一些数据,我想在上面插入/更新很多数据,然后很容易地恢复到"初始状态"。
例如,该解决方案也可以适用于使用真实数据库的集成测试。
我正在恢复快照,但这需要太多时间。见https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html
期望:
- 我可以在恢复到"初始状态"后丢失所有更改。
- 我可能要重复这个过程几次。
- 当我花更少的时间恢复到"初始状态"时虽然比较好,但花几分钟也没关系。
- 许多人可能想要访问和操作其中的数据。
场景:
设置初始状态下的RDS数据库;1 -花几分钟在上面操作许多数据。2 -花点时间分析新状态。3 -恢复"初始状态";然后重复步骤1、2、3,不要等待太久。
谢谢。
您可以这样做,但这不是进行测试的正确方法。一般来说,像数据库这样的外部系统应该使用适配器进行集成,您可以将适配器存根以返回模拟响应(可能是您的"初始状态")。在共享对模拟的访问方面,通常不需要这样做:任何需要访问数据存储的人都可以运行与您相同的模拟设置,从而共享相同的状态,而无需共享实际的实例。
我将使用RDS "clone",参见https://aws.amazon.com/blogs/aws/amazon-aurora-fast-database-cloning/
这样,我可以在大约5分钟内得到一个克隆,准备在其上操作数据,而不会对原始实例产生副作用。