第1集 账号微服务里面的流量包业务模型梳理和需求讲解
简介: 账号微服务里面的流量包业务模型梳理和需求讲解
- 流量包业务模型梳理
-
数据量预估(尽量一次性扩容预估好,数据迁移成本大)
-
未来2年,短链平台累计5百万用户
- 一个用户10条记录/年,总量就是5千万条
- 单表不超过1千万数据,需要分5张表
- 进一步延伸,进行水平分表,比如 2张表、4张表、8张表、16张表
-
因为业务逻辑复杂,我们就不分那么多表,分2表操作即可
-
-
问题
- 分库分表怎么分?有哪些形式呢? 还会带来哪些问题?
- 比如 2张表、4张表、8张表、16张表 这样的思路?
- …更多问题
第2集【面试题】业务增长-数据库性能优化思路讲解
简介:【面试题】业务增长-数据库性能优化思路讲解
-
面试官:这边有个数据库-单表1千万数据,未来1年还会增长多500万,性能比较慢,说下你的优化思路
-
思路
- 千万不要一上来就说分库分表,这个是最忌讳的事项
- 一定要根据实际情况分析,两个角度思考
- 不分库分表
- 软优化
- 数据库参数调优
- 分析慢查询SQL语句,分析执行计划,进行sql改写和程序改写
- 优化数据库索引结构
- 优化数据表结构优化
- 引入NOSQL和程序架构调整
- 硬优化
- 提升系统硬件(更快的IO、更多的内存):带宽、CPU、硬盘
- 软优化
- 分库分表
- 根据业务情况而定,选择合适的分库分表策略(没有通用的策略)
- 外卖、物流、电商领域
- 先看只分表是否满足业务的需求和未来增长
- 数据库分表能够解决单表数据量很大的时,数据查询的效率问题,
- 无法给数据库的并发操作带来效率上的提高,分表的实质还是在一个数据库上进行的操作,受数据库IO性能的限制
- 如果单分表满足不了需求,再分库分表一起
- 根据业务情况而定,选择合适的分库分表策略(没有通用的策略)
- 不分库分表
-
结论
<