请问下, 两三天前删除过一波数据,为什么面板里的表格大小没减少,现在总共才12行数据?
而且通过getRange(INF_MIN~INF_MAX)接口遍历到了以前我删除的行,这是什么情况?
本问题来自阿里云开发者社区的【11大垂直技术领域开发者社群】。https://developer.aliyun.com/article/706511 点击链接欢迎加入感兴趣的技术领域群。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在阿里云的表格存储(Table Store,原OTS)中,如果遇到删除数据后表大小未减少,并且通过范围查询还能访问到已删除数据的情况,这可能是由以下几个原因造成的:
数据删除标记:在表格存储中,删除数据实际上是一个软删除操作,即数据不会立即从存储中物理移除,而是被标记为“已删除”。这样做是为了提高大规模数据处理时的性能和效率。这些被标记为删除的数据,在一段时间内(默认保留时间可配置)仍然可以被读取到,直到被清理任务清除。
数据清理周期:即使数据被标记为删除,它依然会占用存储空间,直到系统自动执行数据清理。这个清理过程不是即时的,通常有一个延迟,具体取决于你的实例设置和数据量。你可以通过管理控制台或者API设置数据的保留周期(TTL,Time To Live),超过这个周期的数据会被彻底清理。
读取模式:在某些情况下,如果使用了特定的读取模式(如Flashback
或时间戳读取),可能会导致能够读取到已经被删除但尚未过期的数据。
针对你的情况,有以下建议:
确认数据保留周期:检查你的表是否设置了合理的TTL值,以及当前时间距离数据删除的时间是否已经超过了设定的TTL。如果没有设置或设置得过长,那么数据可能还在保留期内。
等待数据清理:如果确认数据确实应该已被删除(根据TTL),则可能需要等待一段时间,让系统自动完成数据清理工作。
硬删除考虑:如果你希望立即释放空间且不再访问这些数据,目前表格存储不直接支持硬删除以立即回收空间,但你可以考虑创建新的表来存放新数据,而旧表在数据生命周期结束后自然会被清理。
技术支持咨询:如果问题依旧存在或者需要更详细的帮助,可以通过阿里云官方的技术支持渠道进一步咨询,获取专业的帮助和指导。
记得,对于重要操作和设置变更,最好先在测试环境中验证,确保不影响现有业务。