Mycat-了解阶段

分片Mycat是一个开源的分布式数据库系统,是一个实现了MYSQL协议的server,前端用户可以把他当成一个数据库代理,用MYSQL客户端和命令行访问,而其后端可以用MYSQL原生协议与多个MYSQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信。其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MYSQL服务器里或其他数据库里。

Mycat的前身是Cobar

现在Mycat已经不仅仅支持mysql还支持postgresql,mongodb,

Mycat本身不存储数据,所以数据可靠性和事务安全是由mysql保证的。

Mycat的原理是拦截,将不同节点的SQL语句拦截下来,然后做特定的分析,如分片分析、路由分析、读写分离分析、缓存分析,然后将SQL语句发往真实的数据库中,并将结果做适当的处理再返回给用户。

一个规则的定义是分片字段+分片函数

为什么 不用集群,而是要用分布式,因为原本要专注于处理业务,

分片集群、数据源切换、事务处理、数据聚合等在集群中需要单独处理,如果是专注于处理业务,那么处理集群就会占用很多时间。

所以使用数据库中间件,应用只需要集中与业务处理,大量的通用的数据聚合,事务,数据源切换都由中间
件来处理,中间件的性能与处理能力将直接决定应用的读写性能,所以一款好的数据库中间件至关重要。

表分组:即数据量大的表在一个数据分片上,只不过把大表分成了多个小表,或是子表与父表;

全局表:对于改动不大的表,通过在每个分片上都冗余存放该表,解决JOIN

分片节点:不一定在不同的机器上,同一个机器也可以有不同的分片

节点主机:真正的机器节点

在分布式环境下,主键失效,使用全局序列号保证一致性

多租户技术或称多重租赁技术,是一种软件架构技术,它是在探讨与实现如何于多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。

在云计算时代,多租户技术在共用的数据中心以单一系统架构与服务提供多数客户端相同甚至可定制化的服务,并且仍然可以保障客户的数据隔离。

独立数据库:一个用户一个数据库,安全且隔离性也高,出现故障可快速恢复,但是增大了数据库的安装数量,成本就会增加。

共享数据库,隔离数据架构:多个用户公用一个数据库,隔离性不高,恢复困难

共享数据库,共享隔离架构:共享程度最大,隔离性最低,成本最低,数据备份和恢复较难

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值