做的比较好的法律实务培训网站,网站排名降级的原因有哪些,淘宝客怎么做直播网站吗,友情链接检测方法文章目录 为什么需要分库为什么需要分表 什么时候需要分库分表只需要分库只需要分表 分库分表解决方案垂直分库水平分库垂直分表水平分表 分库分表常用算法范围算法hash分片查表分片 分库分表模式客户端模式代理模式 今天跟着训练营学习了分库分表#xff0c;整理了学习笔记。… 文章目录 为什么需要分库为什么需要分表 什么时候需要分库分表只需要分库只需要分表 分库分表解决方案垂直分库水平分库垂直分表水平分表 分库分表常用算法范围算法hash分片查表分片 分库分表模式客户端模式代理模式 今天跟着训练营学习了分库分表整理了学习笔记。 为什么需要分库
单机的数据库连接数是有限的在高并发的场景下同时操作一个数据库容易将连接耗尽使后序的数据库访问无法正常进行。 同时也是容量问题单机容量毕竟使有限的当存储量不断增加数据库的容量无法全部承载。用多个库在存储增加数据库的实列。
为什么需要分表
当一张表的数据库很大的时候查询会变得很慢虽然底层基于b树速度还是很快的。分表可以减少每个表中的数据量提高查询的效率。 提升写入性能分表分散写入压力。 减轻锁的竞争大表容易出现锁的竞争导致性能下降。
什么时候需要分库分表
只需要分库
连接数不够需要进行分库。
微服务场景业务拆分进行微服务拆分的时候根据业务边界将各个业务的数据从数据库中拆分出来。 比如电商微服务系统将订单、物流、商品、会员等分别存储到独立数据库中。
只需要分表
数据量太大了单表超过了500万行或者单表数据量超过了2GB就推荐分表了。单表数据库多并发量不高查询和存储性能遇到了瓶颈。
分库分表解决方案
垂直分库
专库专用根据不同的业务将数据放在不同的数据库中去。
水平分库
将单表数据库切分到多个数据库服务器上去每个库结构一样。来实现水平拓展。
垂直分表
垂直分表使对业务中字段较多的大表进行的一种优化策略比如用户表分为两个一个是用户的基本信息还有一个是用户的详细信息。拆分后的小标只包含部分字段两个表之间通过主键和外键关联。
水平分表
将一个表数据分到多个表中去。
分库分表常用算法
范围算法
根据时间、地点等信息进行分库分表。
hash分片 查表分片 分库分表模式
客户端模式
小公司使用
代理模式