10.5.2 数据过期与批量删除

很多业务只需要存储一段时间,比如三个月或者半年的数据,更早之前的数据可以被丢弃或者转移到历史库从而节省存储成本。OceanBase支持数据自动过期功能。

OceanBase线上每个表格都包含创建时间(gmt_create)和修改时间(gmt_modified)列。使用者可以设置自动过期规则,比如只保留创建时间或修改时间不晚于某个时间点的数据行,读取操作会根据规则过滤这些失效的数据行,每日合并时这些数据行会被物理删除。

批量删除需求来源于OLAP业务。这些业务往往每天导入一批数据,由于业务逻辑复杂,上游系统很可能出错,导致某一天导入的数据出现问题,需要将这部分出错的数据删除掉。由于导入的数据量很大,一条一条删除其中的每行数据是不现实的。因此,OceanBase实现了批量删除功能,具体做法和数据自动过期功能类似,使用者可以增加一个删除规则,比如删除创建时间在某个时间段的数据行,以后所有的读操作都会自动过滤这些出错的数据行,每日合并时这些出错的数据行会被物理删除。