mycat应用场景: (1)数据库某张表数据量千万条,查询比较费劲,这时候可以考虑使用水平 分表;(2)数据库连接瓶颈。因为数据库连接都有上线的。垂直分库
navicat是图形化的数据库管理工具,在这个工具里,你可以创建数据库表,代替了繁琐的传统的用命令行的方式;
mysql是主流数据库服务器中的一种;
mycat核心功能是分表分库&数据库的读写分离,
当我们的应用只需要一台数据库服务器的时候我们并不需要Mycat,而如果你需要分库甚至分表,这时候应用要面对很多个数据库的时候,这个时候就需要对数据库层做一个抽象,来管理这些数据库。这时候它扮演的角色是数据库的中间件 ,这就是Mycat的核心作用。
一、什么是MyCat?(官方的枯燥解释)
MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。
MyCat发展到目前的版本,已经不是一个单纯的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流数据库,也支持MongoDB这种新型NoSQL方式的存储,未来还会支持更多类型的存储。而在最终用户看来,无论是那种存储方式,在MyCat里,都是一个传统的数据库表,支持标准的SQL语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度