美文网首页
mycat读写分离与分库分表讲解

mycat读写分离与分库分表讲解

作者: 编程说书酱 | 来源:发表于2020-12-22 16:14 被阅读0次

    Mycat发展到目前,已经不是一个单纯的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流数据库,也支持MongoDB这种新型NoSQL方式的存储,未来还会支持更多类型的存储。而在最终用户看来,无论是那种存储方式,在Mycat里,都是一个传统的数据库表,支持标准的SQL语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度 。

    Mycat是什么

    Mycat是一个开源数据库中间件,是一个实现了MySQL协议的的数据库中间件服务器,我们可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问Mycat,而Mycat再使用用MySQL原生(Native)协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,包括SQL Server、Oracle、DB2、PostgreSQL等主流数据库,也支持MongoDB这种新型NoSQL方式的存储,未来还会支持更多类型的存储;

    一般地,Mycat主要用于代理MySQL数据库,虽然它也支持去访问其他类型的数据库;

    Mycat的默认端口是8066,一般地,我们可以使用常见的对象映射框架比如MyBatis操作Mycat。

    Mycat主要能做什么

    1、数据库的读写分离

    通过Mycat可以自动实现写数据时操作主数据库,读数据时操作从数据库,这样能有效地减轻数据库压力,也能减轻IO压力。

    实现读写分离,当主出现故障后,Mycat自动切换到另一个主上,进而提供高可用的数据库服务,当然我需要部署多主多从的模式

    观看教程:https://www.bilibili.com/video/BV1gK4y1b7iU

    2、数据库分库分表

    分库分表指的是对数据库数据的拆分,分为两种:水平拆分和垂直拆分

    水平切分(横向切分)

    根据表中数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库服务器上面 

    垂直切分(纵向切分)

    按照不同的表来切分到不同的数据库服务器之上

    结论

    性能有瓶颈了,可以读写分离

    数据库容量有瓶颈了,可以分库分表

    相关文章

      网友评论

          本文标题:mycat读写分离与分库分表讲解

          本文链接:https://www.haomeiwen.com/subject/cnysnktx.html