5.高性能数据库集群

5.高性能数据库集群

1.高性能数据库集群:读写分离

读写分离的原理:
    读写分离的基本原理是将数据库读写操作分散到不同的节点上
读写分离的基本实现是:
    数据库服务器搭建主从集群 一主一从 一主多从都可以
    数据库主机负责读写操作 从机只负责读操作
    数据库主机通过复制将数据同步到从机 每台数据库服务器都存储了所有的业务数据
    业务服务器将写操作发送给数据库主机 将读操作发送给数据库从机
存在问题:主从复制延迟 
    (例如:用户刚刚完成注册后 马上登陆,业务服务器会提示他还没有注册 而用户刚刚才注册)
    解决主从复制延迟的方法有以下几个:
        1.写操作后的读操作指定发送给数据库主服务器
        2.读从机失败后再读一次主机
        3.关键业务读写操作全部指向主机 非关键业务采用读写分离
分配机制:将读写操作区分开来 然后访问不同的数据库服务器一般有两种方式:
    程序代码封装和中间件封装
    程序代码封装:程序代码封装指的是在代码中抽象一个数据访问层("中间层封装")
        实现读写操作分离和数据库服务器连接的管理,
    中间件封装:中间件封装指的是独立一套系统出来 
        实现读写操作分离和数据库服务器连接的管理

2.高性能数据库集群:分库分表

业务分库:业务分库指的是按照业务模块将数据分散到不同的数据库服务器
实行业务分库后存在的问题:
    1.join操作问题:
        业务分库后 原本在同一个数据库中的表分散到不同的数据库中
        导致无法使用SQL的join查询。
    2.事务问题:
        原本在同一个数据库中不同的表可以在同一事务中修改
        业务分库后 表被分散到不同的数据库中 无法通过事务统一修改。
        虽然一些数据库厂商提供了一些分布式事务的解决方案(例如:MySQL的XA)
       但是性能实在太低 与高性能存储的目标是相违背的 
   3.成本问题
分表方式:垂直分表 水平分表
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值