MongoDB 备份:通过设置 TTL 使集合中的数据过期
MongoDB Backups: Expire Data from Collections by Setting TTL
我已经阅读了MongoDB关于Expire Data from Collections by Setting TTL的官方指南。我已经设置好一切,一切都像发条一样运行。
我启用 TTL 的原因之一是因为产品的要求之一是自动删除特定的集合。嗯,TLL 处理得很好。但是,我不知道数据过期是否也会在 MongoDB 备份上持续存在。数据也应该从备份中自动删除。万一备份泄露或恢复,过期的数据不应该存在。
备份包含备份时数据库中存在的数据。
备份完成后,它只是一堆未被触及的数据。自备份以来已删除的文档仍在备份中(可以说这是备份的开始点)。
如果要使备份中的数据过期,通常的解决方案是删除超过特定时间的备份。
如@D.SM所述,数据未从备份中删除。一种解决方案可能是加密您的数据,例如Client-Side Field Level Encryption
每天为您的数据使用一个新的加密密钥。当您的数据到期时,从您的密码存储中删除相应的加密密钥。这样一来,即使有人从旧备份中恢复了数据,您的数据也将无法使用。
我已经阅读了MongoDB关于Expire Data from Collections by Setting TTL的官方指南。我已经设置好一切,一切都像发条一样运行。
我启用 TTL 的原因之一是因为产品的要求之一是自动删除特定的集合。嗯,TLL 处理得很好。但是,我不知道数据过期是否也会在 MongoDB 备份上持续存在。数据也应该从备份中自动删除。万一备份泄露或恢复,过期的数据不应该存在。
备份包含备份时数据库中存在的数据。
备份完成后,它只是一堆未被触及的数据。自备份以来已删除的文档仍在备份中(可以说这是备份的开始点)。
如果要使备份中的数据过期,通常的解决方案是删除超过特定时间的备份。
如@D.SM所述,数据未从备份中删除。一种解决方案可能是加密您的数据,例如Client-Side Field Level Encryption
每天为您的数据使用一个新的加密密钥。当您的数据到期时,从您的密码存储中删除相应的加密密钥。这样一来,即使有人从旧备份中恢复了数据,您的数据也将无法使用。