
多数据库安装、mycat部署安装、数据库之读写分离主从复制、数据库之双主多重、数据库分库分表。
数据库集群的方式有多种,前面的介绍的一种是主从复制,读写分离,这一种方式在一般的系统已经够用了,但是对系统可用性要求很高的系统,这样是会有缺陷的,原因是:主只有一个,万一主挂了呢?那系统的所有读 *** 作都将被中断,系统不能提供写服务,当重挂了,系统不同提高读服务,所以无论那一台数据库挂了,系统都会受到影响。对于高可用的系统,那是不行的,比如:电商系统等等。
Mycat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。
数据库系统(databasesystems),是由数据库及其管理软件组成的系统。主要包括 *** 作系统、各种宿主语言、实用程序以及数据库管理系统。数据库系统DBS(DataBaseSystem,简称DBS)通常由软件、数据库和数据管理员组成。其软件主要包括 *** 作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任。
Mycat和MySQL的区别:可以把上层看作是对下层的抽象,例如 *** 作系统是对各类计算机硬件的抽象。那么我们什么时候需要抽象?假如只有一种硬件的时候,我们需要开发一个 *** 作系统吗?
再比如一个项目只需要一个人完成的时候不需要leader,但是当需要几十人完成时,就应该有一个管理者,发挥沟通协调等作用,而这个管理者对于他的上层来说就是对项目组的抽象。
同样的,当我们的应用只需要一台数据库服务器的时候我们并不需要Mycat,而如果你需要分库甚至分表,这时候应用要面对很多个数据库的时候,这个时候就需要对数据库层做一个抽象,来管理这些数据库,而最上面的应用只需要面对一个数据库层的抽象或者说数据库中间件就好了,这就是Mycat的核心作用。
所以可以这样理解:数据库是对底层存储文件的抽象,而Mycat是对数据库的抽象。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)