MyCat是什么?为什么要用MyCat?
来源:互联网 发布:天刀相见欢染色数据 编辑:程序博客网 时间:2024/05/21 14:04
实习的时候,在一个项目当中,项目经理要求把原先的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?
- MyCat是什么?为什么要用MyCat?
- MyCat是什么?
- MyCat是什么?
- mycat
- mycat
- MyCat
- MyCAT
- mycat
- mycat
- mycat
- mycat
- Mycat
- mycat
- Mycat
- 为什么要有Mycat---Mycat的前世今生
- mycat分表分库的原理是什么?
- mycat是什么鬼?垂直切分?水平切分?
- 解决背景透明,内容字体不透明
- js中使用el表达式和java脚本
- 搭建springmvc项目遇到的问题
- Hibernate报错:On release of batch it still contained JDBC statements
- 微信小程序 随机字符串产生函数 时间戳产生函数
- MyCat是什么?为什么要用MyCat?
- [Codeforces688D]Remainders Game(扩展中国剩余定理)
- 浅说信息安全
- 不同系统环境下CMakeLists的配置
- EventBus使用详解(一)——初步使用EventBus
- 设置blender界面语言为中文以及字体大小设置之方法
- maven的settings.xml配置详情
- 【javaWeb】前后端传递数据交互的两种方式
- strpos 查找某字符串中是否存在指定的字符