![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分库分表
一颗小陨石
除非我不想赢,不然没人能让我输
展开
-
Mycat(三)——几种分片规则 分库 一致性hash的原理及使用
Mycat分片规则 取模 在前面演示分表的时候,使用了取模的方式实现。 取模的话是根据节点个数进行,会有一些弊端,如: hash不均匀,生成的分布式id未必是连续的id,因此大概率可能会有很多id被hash到同一个节点; 扩容需要rehash。假如有3个节点,一个id被id%3 hash到了第一个节点,如果进行扩容,增加一个实例,那么再对这个id进行hash,id%4,可能就到了另外一个节点,这样的话就无法查询到这个id的数据信息。 分库 这里使用两组主从实例。 master-01——slave01 m原创 2020-08-09 10:18:11 · 1954 阅读 · 1 评论 -
Mycat(二)——分布式ID生成策略
当我们分表分库后,就不可以使用数据库的自增id了,否则肯定会出现id一样的数据。 因此就需要使用分布式ID生成策略进行id的生成。 mycat序列号(文件) 在mycat中提供了全局序列号: 在sequence_conf.properties文件中: # 表示使用过的历史分段(一般无特殊需要可不配置) GLOBAL_SEQ.HISIDS= # 最小ID值 GLOBAL_SEQ.MINID=1001 # 最大ID值 GLOBAL_SEQ.MAXID=1000000000 # 当前ID值。 GLOBAL_S原创 2020-08-08 22:47:58 · 657 阅读 · 0 评论 -
Mycat(一)——基本概念和使用
在介绍mycat前,先看一下数据库拆分的几种常见的方式: 数据库拆分 就是指通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果 垂直拆分 优点 ◆ 数据库的拆分简单明了,拆分规则明确; ◆ 应用程序模块清晰明确,整合容易; ◆ 数据维护方便易行,容易定位; 缺点 ◆ 部分表关联无法在数据库级别完成,需要在程序中完成,存在跨库join的问题,对于这类的表,就需要去做平衡,是数据库让步业务,共用一个数据源,还是分成多个库,业务之间通过接口来做调用原创 2020-08-08 22:42:12 · 496 阅读 · 0 评论