交易系统热点账户问题(三)

一、概述

本篇着重介绍一下从数据库设计层面的热点账户的经验与实践,修改余额方式及业务层面见交易系统热点账户问题(一)交易系统热点账户问题(二)

二、问题分析

热点账户的性能问题,除了修改余额方式的优化跟结合业务场景的优化,还有一方面可从DB资源上优化。

打个比方(数据不准确,只是想说明数据库资源也会是一个可优化的地方):

如果一个实体机数据库,对单条数据的更新tps可达到1000/s,那对10条不同的数据更新tps也就9500/s,对100条更新的tps就70000/s。因为数据库这个资源是共享的,而我们真正的业务场景不会是只有一个账户。

因此总结了一下,存在共享资源的部分:

1.数据库内存及CPU

2.数据库连接

3.表空间(单表数据量)

三、一些方案及实践

1.数据库内存及CPU

常用方案:分库

2.数据库连接

常用方案:

(1)通过压测设置适当的数据库最大连接

(2)读写分离

(3)加机器

3.表空间

常用方案:分表

分库分表方案:

分表一般按照账号进行hash分表,把与账户相关的都进行通规则的分表,例如账户信息表,账户余额表,账户变动历史表,账户冻结解冻表等等。这样查询操作该账户的相关信息都会在一个分库里,一个分表里,是对于连表查询,事务操作必须的。

四、其他

数据的冷热分离,账户的“冷数据”为账户、账户主体、开户时间、账户类型。“热数据”为账户余额、累计金额之类。将两类数据分别建表存储,也可提高tps,也降低扩展对交易的影响。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值