数据量大读写缓慢-->冷热分离

        以订单数据为例子,可以在一定维度的处理下将订单数据分别存在冷库和热库。 以状态和时间等字段可以定时将数据从热库取出插入冷库中,并将热裤中的冷数据删除。

        实现思路:

                一致性:同时修改多个数据库,保证数据的一致性:给待搬的数据增加标识,通过标识找出待搬的数据,保存数据在冷数据库中的时候,添加判断保持幂等性,从热数据中删除对应的数据。

                数据量:数据量大,一次性处理不完,怎么批处理。每次搬50条数据, 按增加的数据标识查询热数据库中的前50条数据,插入冷数据库中,删除热数据库中对应的数据后,循环查询热数据库中的前50条数据,插入冷数据库中,删除人数据库中的数据。。。

                并发性:数据量到分到多个地方并行处理,怎么办。数据量大,每天定时处理的数据单线层处理来不及。启动多线程, 某个线程宣布某个数据在操作,通过获取锁的原子性,一致性。如果线程异常退出,没有释放锁,导致其他想成无法处理数据,可以设置超时时间(评估处理数据的合理时间)

                如何使用冷热数据:

                                

历史数据迁移问题:

                所有历史数据都增加标识。迁移时候会自动执行历史数据。 

备注:学习笔记。教程来源哔站:架构02.查询分离:表数据量大查询缓慢如何优化?_哔哩哔哩_bilibili

  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值