mycat分库分表技术原理简单介绍
mycat分库分表原理 一:介绍 1:mycat就是一个数据库中间件,数据库的代理,它屏蔽了物理数据库,应用连接mycat,然后mycat再连接物理数据库 2:它支持水平拆分(分库分表,通过分库达到分表),支持多种分片规则
3 : 它支持mysql、oracle、mongodb,sql server,并且支持数据库集群
4: MyCat技术原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户
二:mycat核心配置文件 server.xml - 配置连接mycat的用户名、密码、数据库名 schema.xml-配置schema、datanone、datahost rule.xml- 分片规则(简单理解为哪种数据插入到A库中,哪种数据插入到B库中)
ps:
分库分表技术 把原本存储在同一个库的数据分块存储到多个库上 把原本存储于一个表中的数据分块存储到多个表上 拆分的目的:分散单台设备负载 A:垂直拆分:根据业务把表存到不同的库 B:水平拆分:把一个表的数据分为多个库上 C:垂直水平拆分