mysql 第二十篇文章~mycat 分片规则的初步讲解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 第二十篇文章~mycat 分片规则的初步讲解相关的知识,希望对你有一定的参考价值。

 

一 简介:今天咱们来聊聊分片规则的初步理解

二 前沿:mycat的分片规则是十分丰富的,此外还可以根据java进行扩展

三 文件:rule.xml

四 具体分片规则: 

  <tableRule name="rule1">
  <tableRule name="rule2">
  <tableRule name="sharding-by-intfile">
  <tableRule name="auto-sharding-long">
  <tableRule name="mod-long">
  <tableRule name="sharding-by-murmur">
  <tableRule name="crc32slot">
  <tableRule name="sharding-by-month">
  <tableRule name="latest-month-calldate">
  <tableRule name="auto-sharding-rang-mod">
  <tableRule name="jch">

五 我们需要了解的:

    1 我咨询过很多mycat线上的师兄,mycat自带的分片规则已经完全满足各种业务需求

    2 了解以上所有的分片规则,并和研发探讨分片适用场景是十分必要的

    3 一些分片规则是需要相关的文本设置规则的,这点要尤其注意  

    4 分片规则和 表类型(分片表+ER模型分片)相配合实现业务需求

六 分片规则构成

    1 table rule name schema中要与这里设置一样
    2 columns 此处为分片字段,被分片表必须要有这个字段
    3 algorithm 分片函数名称
    4 function name 分片函数名称 与上面对应
    5 mapFile 很多分片函数需要一个文件制定规则 此处是文件名
    6 type 默认值为 0,0 表示 Integer,非零表示 String
    7 defaultNode 小于 0 表示不设置默认节点,大于等于 0 表示设置默认节点
    默认节点的作用:枚举分片时,如果碰到不识别的枚举值,就让它路由到默认节点 如果不配置默认节点(defaultNode 值小于 0 表示不配置默认节点),碰到不识别的枚举值就会报错,like this:can’t find datanode 

    8  <property name="count">2</property> 类似这种会设置默认节点,如果实际的配置节点数小于此处,会加载配置文件失败,要尤其注意

    9  一些分片函数的特殊属性 

后面我会对每一个分片规则进行测试


















以上是关于mysql 第二十篇文章~mycat 分片规则的初步讲解的主要内容,如果未能解决你的问题,请参考以下文章

mysql 第二十七篇文章~相关分片功能的测试七

MyCat 介绍分片规则调优的内容收集

干货地带 | Mycat水平拆分之十种分片规则

Mycat 分片策略

数据库分库分表,分片配置轻松入门!

MySQL(19) Mycat分片(分库分表)配置