实习的时候,在一个项目当中,项目经理要求把原先的MySQL数据连接基于mycat来进行改造 。当时就在想MyCat是什么东西?为什么要用它呢?

*一、什么是MyCat:
MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。

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

二、那么为什么要用到MyCat呢?

例如操作系统是对各类计算机硬件的抽象。那么我们什么时候需要抽象?假如只有一种硬件的时候,我们需要开发一个操作系统吗?
再比如一个项目只需要一个人完成的时候不需要leader,但是当需要几十人完成时,就应该有一个管理者,发挥沟通协调等作用,而这个管理者对于他的上层来说就是对项目组的抽象。
同样的,当我们的应用只需要一台数据库服务器的时候我们并不需要Mycat,而如果你需要分库甚至分表,这时候应用要面对很多个数据库的时候,这个时候就需要对数据库层做一个抽象,来管理这些数据库,而最上面的应用只需要面对一个数据库层的抽象或者说数据库中间件就好了,这就是Mycat的核心作用。
所以可以这样理解:数据库是对底层存储文件的抽象,而Mycat是对数据库的抽象。

————————————————

原文链接:https://blog.csdn.net/nxw_tsp/article/details/56277430

读写分离数据库之MyCat相关推荐

  1. mysql读写分离 保持数据一致性_读写分离数据库如何保持数据一致性

    数据库读写分离主要解决高并发时,提高系统的吞吐量.因为大部分场景下都是读多写少.下图是数据库读写分离模型. 每次请求打到这个系统后: 读请求,直接读从库 写请求,先写入主库,然后主库将数据同步到其他从 ...

  2. Mycat 读写分离 数据库分库分表 中间件 安装部署,及简单使用

    MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服 ...

  3. MyCat实战--读写分离/数据分片/mycat集群/haproxy负载均衡

    目录 简介 优势 关键特性 读写分离 安装mycat 配置mycat server.xml schema.xml rule.xml 启动mycat 停止mycat 连接mycat 测试 数据分片 配置 ...

  4. Mysql数据库安装,基本命令,主从复制,读写分离,数据库的冷热备和数据库的还原,慢查询日志打开

    文章目录 1. 安装Mysql数据库 使用二进制安装Mysql数据库 使用yum安装Mysql 2.mysql的常用命令 3.慢查询开启 4.mysql数据库的冷备 5.数据库热备使用Xtraback ...

  5. MyCat:开源分布式数据库中间件之数据库分片和读写分离配置

    mycat权威文档指南下载 1.   MyCAT介绍 1.1. 什么是MyCAT? 简单的说,MyCAT就是: 一个彻底开源的,面向企业应用开发的"大数据库集群" 支持事务.ACI ...

  6. 定时任务-Quartz、Mycat简单入门、Linux下安装MySQL、Linux下安装MyCAT、Mycat的数据库分片、Mycat读写分离

    表现层:页面 后台管理系统.商城门户.搜索系统.订单系统.商品详情系统.购物车系统 中间件:dubbo 系统之间的通信,服务的统计,rpc协议远程过程调用 同步通信 服务层:实现具体的业务逻辑 商品服 ...

  7. Mycat简单实现读写分离与分库分表

    Mycat数据库读写分离 环境: 客户端1.13↓mycat中间件1.11↙ ↘ master主机1.12 slave主机1.10 一.master主机(1.12)配置 两台主机必须时间同步,可以部署 ...

  8. 学会数据库读写分离、分表分库

    https://www.cnblogs.com/joylee/p/7513038.html 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优 ...

  9. 利用Mycat中间件实现RDS MySQL的分库分表及读写分离功能

    https://aws.amazon.com/cn/blogs/china/mycat-rds-mysql/ 随着移动互联网的兴起和大数据的蓬勃发展,系统的数据量正呈几何倍数增长,系统的压力也越来越大 ...

最新文章

  1. 法国电子与计算机信息学校排名,法国电气与电子工程专业大学排名(2020年上交大)_快飞留学...
  2. Python计算训练数据集(测试集)中某个分类变量阴性(阳性)标签样本的不同水平(level)或者分类值的统计个数以及比例
  3. 新浪微博授权失败:applications over the unaudited use restrictions
  4. python汉诺塔用循环结构实现_Python基于递归算法实现的汉诺塔与Fibonacci数列
  5. 5004. boost 源码编译vs2019
  6. CISCO路由AAA的Easy ×××
  7. Hierarchical Softmax、CBOW词带模型抽象化及其公式推理以及python代码实现包括注释
  8. 【code vs】 2780 ZZWYYQWZHZ
  9. 运行Arcgis和SWAT模型遇到Error Number 91和Error Number -2147467259报错怎么办?
  10. 手机还能做电路仿真啊!电子电路兴趣爱好者福音!
  11. Mixly米思齐——超声波测距控制LED灯
  12. MDClub 轻量级网论坛源码
  13. 怎么打开和修改dll文件的?如何调用和编辑?
  14. 2020新版小桔灯作文能力阶梯序列作文课件教案教材全套
  15. 子网掩码是什么,IP段的24是什么写法(CIDR写法,斜杠记法斜线记法)
  16. linux内核启动过程和启动第一个应用程序
  17. 路由器的pptp服务器未响应,sstp无法启动_路由器没有pptp
  18. 数据结构与算法05----图
  19. 华为 MPLS LDP MP-BGP
  20. 团队建设与高效管理--3(九型人格)

热门文章

  1. .NET混淆器 Dotfuscator使用教程七:加强保护之改进重命名混淆
  2. “我的父老乡亲”公益征文活动 ——讲述平凡故事,记录小的伟大
  3. Linux IPC POSIX 消息队列
  4. Swift:如何优雅地使用 print()(三)
  5. 实时监控Cat之旅~配置Cat集群需要注意的问题
  6. java.util.date转化成java.sql.date
  7. 离散数学 第二章 谓词逻辑 2-1 谓词的概念与表示
  8. 不管工作压力太大了,还是工作压力太小了;都容易引起开发人员的辞职风波...
  9. Navicat Monitor v1.7的新功能说明
  10. Qt的Oracle数据库QOCI驱动问题