码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2017-11-08 17:55:48      阅读:320      评论:0      收藏:0      [点我收藏+]

标签:文件名   规则   his   cti   algo   设置   sch   研发   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 分片规则的初步讲解

标签:文件名   规则   his   cti   algo   设置   sch   研发   mycat   

原文地址:http://www.cnblogs.com/danhuangpai/p/7804312.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!