day02
2015.03-2015.05 网上购物系统
项目描述: 用户进入系统后,可以进行产品的浏览与查询。用户想要购物必须进行登录,如果用户没有注册,提醒用户注册,注册成功后进行系统可进行购物。
职责描述: 参与该系统购物模块设计。独立开发了购物车模块。完成对该系统部分的测试工作,并完善了该项目的相关文档资料
2008.05-2008.10 小型OA系统
项目描述:系统平台:windowsxp 数据库: Oracle
职责描述:本人主要完成了给角色指定相应的模块 用户登录的权限的控制,独立开发了管理员管理模块和权限管理模块,包括设计,编码,模块单元测试,实现了对权限管理子模块的增,删,查。
1聚簇索引:
自增主键VS随机主键
数据和索引存储在一起
2二级索引:
数据不和索引方在 一起;叶子中放的是pk主键值;通过pk去查
一次查询需要走两遍索引;回表
主键大小会影响所有索引的大小,
3联合索引:
最左匹配原则
原因:一个索引只能创建一个树;
4:所用优化分析;
(1)锁
索引文件大小;
(2)主键选择
自增主键
随机主键
业务主键----雪花算法去成自己业务相关的主键
联合主键:影响索引大小;
(3)联合索引使用
按索引区分度排序
覆盖索引;不用回表了就;
索引下推;了解一下就行,更新了
(4)字符串索引:
不支持的%开头的模糊查询;----倒排索引ES;
设置合理长度
5索引失效问题
写的索引没有,蜕变成全局查找;
隐士类型转变 ----int转变为string类型
索引列包含计算(有计算式子)
数据范围影响;索引区分度低(给性别加了索引)、条件超出索引范围
6设计实践:
(1)性别用boolen类型,等等,tinyint等减少存储占用;
(2)库表设计
分表:
单表不超过1KW
分表方式: (1)取模
(2)冷热库
分库:
(1)按业务垂直分库:运维多做;
(2)按水平查分多个库;0-67 和68-127分表放在两个类库中;
分库分表:
垂直拆分:宽表拆分成窄表,
水平拆分:读写均匀;冷热库拆分;
7:分表实践项目:
(1)用户库分表;
存储均匀:访问均匀;à取模;à建立映射;利于处理不是针对于主键索引的查找;
(2)商品库分表:
商品维度大;
基因注入法:public的参量;就不用建立映射了;
(3)系统消息库分表:
时效性强;
冷热数据拆分;
例如:保存有效期30天,对于三个表;、
写的时候,就
(4)分表分少了怎么办:
Day03
day03
企业级数据库Sharding Sphere 分库分表应用设计实战:
Sharding JDBC:
- 异构语言;java
Sharding Proxy;
2阿里巴巴Seata应用设计实战:
1XA规范:资源管理器–事务参与者
事务管理器;
2TCC:Try-Confirm-Cancel
- 尝试预留资源
- s
- ss
3SAGA模型:
- 补偿接口;加时;幂等;
事务消息:
-
简化了分布式事务模型
-
对业务友好;
行锁:
数据库冗余部署:
- 一主一从
- delay Slave
- 级联部署延迟从做备份;
- DELETE FROM Ti;