谈谈我对热点行的理解(上篇) - 有点小乐观的ben

本文探讨了数据库中热点行的概念,定义为频繁被增删改查操作的数据行,特别是在MySQL InnoDB中。热点行可能导致锁竞争和性能下降,尤其在高并发场景如电商平台的大商家账户交易中。通过业务经验和系统层面的监测可以识别热点行,并分析其对系统响应时间的影响,包括锁等待和事务执行时间的延长。作者计划在下篇中分享解决方案和缓解策略。
摘要由CSDN通过智能技术生成

前言

阅读本文需要对OLTP数据库里的行锁(文章所描述的是Mysql InnoDB)有基本的认识。
文章分为上下两篇,上篇讲述热点行的基础信息,下篇我将从多个维度讲述解决(延缓)所造成影响的方法思路。
由于笔者水平有限,欢迎各位大佬批评指正。

什么是热点行

定义

数据库中那些会被频繁执行增删改查操作的数据行称为热点行。当一个事务对一行数据进行更新时,会对目标数据行加锁,直到事务提交或回滚时才释放。同一时段内,对于同一个数据行,只有一个事务能够进行更新,其它事务需要等待。

结合业务场景举例

电商平台中,存在少数大商家(20%的商家占据了平台80%的销量-根据二八原则推测,同理20%商品占据了百分之80的销售额等),拿耐克旗舰店来说,在一个很普通的日子里,没有大促的情况下,账户每秒仍会有大量的资金入账.下图中id为1的耐克旗舰店账户就是热点行.

此例为清结算领域中的账户,当然最常见的场景还有各种库存业务.

如何判定是否热点行

  1. 业务人员凭借经验判定,比如特惠商品上架,秒杀活动,亦或者是大商家入驻平台。判定后人工手动标记。
  2. 系统层面做采集,每条s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值