电商数据库设计及优化学习笔记汇总

一、背景

这是我学习高性能可扩展的MySQL设计及架构优化的学习笔记,学习过程中还有很多不懂的地方,特别是负载均衡的问题,先跟着老师的节奏记下来。
课程设计电商常用的功能模块的数据库设计,常见问题的数据库解决方案。
项目背景:设计一个电商数据库,完成正常购物。

二、准备工作

MySQL实例,推荐使用最新的版本。
MySQL图形客户端程序,我用的是Navicat 12
Linux命令和shell脚本的基础知识

三、操作

根据业务需求,整个系统可以分为四个模块:
用户模块:完成用户注册和登录验证
商品模块:前后台商品管理和浏览
订单模块:订单及购物车的生成和管理
仓配模块:仓库库存和物流的管理
1、数据库设计规范
我把这一块的笔记整理在这里
2、用户模型设计
数据库的设计范式
设计范式是数据库设计的规范,如第一范式、第二范式、第三范式等,数据库设计最低要满足第三范式的要求。
第三范式(3NF)
定义:一个表中的列和其他列之间既不包括部分函数依赖关系,也不包含传递函数依赖关系,那么这个表的设计就符合第三范式。
这里其实前半句是第二范式的要求,第三范式是在第二范式基础上再增加了要求的。
如果表不符合第三范式的要求时的修改方法:
*拆分原用户表以符合第三范式
*尽量做到冷热数据分离,减小表的宽度
可以分成用户登录表(登录名,密码,状态)、用户地址表(省,市,区。。。),用户信息表(姓名,联系方式,积分,级别。。。)
分区表-常用分区介绍和增删分区
用户实体模块设计
商品实体模块设计
订单和仓配实体模块设计
3、常见业务处理
介绍了几种常见业务的处理方法,包含了删除重复数据、优化分页查询、分区间查询和使用慢查询日志捕获问题等等。
整理在这里

4、数据库备份和恢复
这节学了数据库备份与恢复,学到了常用的数据库备份工具的基本用法,还有数据库全备啊增量备份啊全备恢复啊之类的内容,笔记在这里
5、读写分离和负载均衡
这部分学习了解决读写分离和负载均衡的思路,前面其它部分,特别是数据库结构设计,我还是掌握了挺多的,这里就厉害了,我基本上都没看懂~但是也先记下来

四、小结

从分析业务模块,到设计架构,处理业务,优化数据库,整个数据库设计和维护的流程,学到很多在实践中很实用的东西,但是这几天的学习是远远不够的,所以不管懂的还是不懂的,能记的笔记都先记下来,以后对这些内容有更深的认识了再来更新,有不懂的再来复习。

猜你喜欢

转载自blog.csdn.net/qq_40916110/article/details/80784647