mysql 数据表格切分_MYSQL数据切分(分库分表),读写分离和主从复制

前言

对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。

数据切分:可以降低单台机器的负载,同时最大限度的降低了宕机造成的损失;

负载均衡策略:可以降低单台机器的访问负载,降低宕机的可能性;

集群方案:解决了数据库宕机带来的单点数据库不能访问的问题;

读写分离策略:最大限度了提高了应用中读取数据的速度和并发量;

这里主要谈及数据切分和其相关数据库优化(主从复制,读写分离)的概念

数据切分

其主要目的是为突破单节点数据库服务器的 I/O 能力限制,解决数据库扩展性问题。

切分后遇到很多问题(例如:跨库join,父子表join, 分布式事务等),这也是需要考虑的。

数据库分表

垂直划分和水平划分

垂直切分---分模块使用字段不同的而划分不同字段结构的表;水平切分---分同一个模块下的多个结构相同的子表

1、垂直划分

把不同功能,不同使用频率的数据列分别放到不同的表中,但是如果同一个模块的数据量太大就会存在性能瓶颈

例如:把常用的字段放一个表,不常用的放一个表

把字段比较大的比如text的字段拆出来放一个表里面

使用的话是根据具体业务来拆,查询时使用多表联查,可以再配合redis存储

2、水平划分

垂直切分解决不了大表的瓶颈,如果同一个功能中表的数据量过大,就要对该表进行切分,为水平切分

例如:用户表user分

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值