实习的时候,在一个项目当中,项目经理要求把原先的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是对数据库的抽象。*

MyCat是什么?为什么要用MyCat?相关推荐

  1. Mycat源码篇 : 起步,Mycat源码阅读调试环境搭建

    在研究mycat源码之前必须先把环境搭建好.这篇文章的目标就是搭建mycat源码调试环境.环境主要包括: git jdk maven eclipse mysql 这里假设你知道上面的知识点.我们搭建的 ...

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

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

  3. 数据库中间件MyCat学习总结(1)——MyCat入门简介

    为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代.如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷. MyCat的目标就是:低成本 ...

  4. 什么是MyCat?为什么要用到MyCat呢?

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

  5. Mycat安全_监控平台简介---MyCat分布式数据库集群架构工作笔记0035

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 mycat-web监控平台,可以对mycat的整体运行情况等等,做实时监控. 引入zookeepe ...

  6. Mycat安全_SQL拦截白名单---MyCat分布式数据库集群架构工作笔记0033

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 这个sql拦截,意思就是mycat,有个防火墙的概念,可以针对某个用户, 设置,只有在白名单中的i ...

  7. Mycat安全权限配置user_配置mycat用户只读数据---MyCat分布式数据库集群架构工作笔记0031

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 咱们先总结一下,mycat可以,实现读写分离 我们做了读写分离对吧,然后 mycat还可以实现数据 ...

  8. java集群_「Java知识」MyCat的图文视频讲解,MyCat分片集群分表分库策略

    在一个项目当中,项目经理要求把原先的MySQL数据连接基于mycat来进行改造 .当时就在想MyCat是什么东西?为什么要用它呢? 蚂蚁课堂带你学Java 一.什么是MyCat: MyCat是一个开源 ...

  9. mycat 分布式mysql_MySQL 部署分布式架构 MyCAT (五)

    分片(水平拆分) 4.全局表 业务使用场景: 如果你的业务中有些数据类似于数据字典,比如配置文件的配置, 常用业务的配置或者数据量不大很少变动的表,这些表往往不是特别大, 而且大部分的业务场景都会用到 ...

  10. MyCat启动报错,运行./mycat console报错 Unrecognized VM option 'AggressiveOpts'

    一. 问题背景 在linux搭建mycat,安装在/usr/local文件夹下 描述:在使用./mycat console启动的时候出现Unrecognized VM option 'Aggressi ...

最新文章

  1. malloc、calloc、realloc的区别
  2. python爬虫原理-python爬虫从入门到放弃(二)之爬虫的原理
  3. 如何通过OpenFace实现人脸识别框架
  4. easyui(一) 初始easyui
  5. 可变形卷积神经网络 | Deformable Network
  6. java application_applet_Java程序可以分为JavaApplication和JavaApplet两类。()
  7. 《众妙之门——移动交互体验设计》—— 1.2 物物互联
  8. other|使用php调用aws sns服务发送短信通知
  9. yuv420转rgba
  10. Java Review(三十三、异常处理----补充:断言、日志、调试)
  11. ICO走进华盛顿:国会探讨加密货币,有什么可以期待?
  12. python中temp的用法_请问Python里temp是什么意思?
  13. 自动化测试处理银行密码输入框
  14. Shiro高版本默认密钥的漏洞利用
  15. Linux之core dumped出错原因及位置分析
  16. mysql忘记密码win10_win10 mysql8.0.12 忘记root密码如何重置密码
  17. 电商 关注 取消关注 人数+-
  18. iOS 屏幕尺寸、分辨率、适配
  19. 今日分享-ios蓝牙
  20. 苹果手机进水屏幕乱跳怎么办

热门文章

  1. GDOI2017狗带记
  2. qt中sendevent_Qt Event Dispatcher学习
  3. 三道经典的逻辑推理面试题:病狗、三盏灯、买鸡
  4. 走进“开源SDR实验室” 一起玩转GNU Radio:选择器Selector
  5. 三大模块推动畜牧业绿色发展,HaaS构建智慧养鹿综合解决方案
  6. php 支付宝证书 单笔转账到账户
  7. 【flink 报错】Heartbeat of TaskManager is timed out
  8. 程序员只能吃“青春饭”?IT行业年龄焦虑如何破局?
  9. BlackHat2017热点之数据取证与事件响应
  10. 记录一下融云即时通讯IM