手机:17359299796
全国免费客服电话 17359299796 邮箱:A3669372910@163.com
手机:17359299796
电话:17359299796
地址:福建省漳州市龙文区朝阳北路1号办公楼205室
发布时间:2023-07-12 16:17:40 人气:
IC698PSA350 GE
按同一日期区分冷热数据是不可能的,而且会出现交易代码和冷热分离逻辑代码一起操作同一块数据,也就是并发问题。定期扫描数据库这种方法还会创建一个新的服务来定期扫描数据库。通常我们会使用任务调度平台来实现它,或者通过第三方的开源库/组件来实现。当然,如果你愿意,也可以通过编写操作系统计时任务来实现。这种方法的优点是与交易代码分离,可以根据日期和时间差不同冷、热数据的缺点是不能实时处理。根据以上三种方法的描述,工单系统适合采用定期扫描数据库进行冷热分离的方法。如何区分冷热数据目前已经有一种分离冷热数据的方法解决方案解决了,所以在本节中,我们来看看如何区分冷热。冷热分离的基本流程如下:识别冷热数据,将冷数据插入冷库;删除热存储中的冷数据。结束这三个基本原则在这个过程中,我们需要考虑以下几点:在前三个过程中,我们不能100%确定不会出现问题,所以我们必须使用代码来保证数据的最终一致性,达到事实一致性,我们可以在工单表中添加一个新的列是否冷数据(是,否,默认值:否)。
首先,冷热数据分离服务将所有发现的冷数据标记为冷数据,然后将冷数据迁移到冷存储中,迁移完成后从热存储中删除相应的数据。假定在移动或删除数据时如果发生异常,那么我们需要在事务代码中添加重定位和删除数据的重试机制(这里通常使用主流的重试库,如Polly inNET、Java中的quava-retry等)。如果重试几次后仍然不成功,则代码可以停止执行数据冷热分离并发出警告,或跳过不成功的数据,继续执行后续的数据迁移。在删除和跳过不成功的情况下,很有可能在下次分离冷热数据时,将重复的数据插入冷库。
相关推荐