MyCat路由规则分析(十五)

2017-05-20  本文已影响97人  john_zhong

自然月分片

流水账之类的表,常常会有“保存至少24个月的交易数据”、“业务的查询以月为单位”之类的需求或情况。在这种情况下,按自然月分片的话,按月对过期数据做数据清理时,不会对业务产生冲击。

该规则按(年,月)二元组进行分片,也就是说“2000-01”和“2001-01”是不同的分片;此外,它可以被设置成两种不同的工作模式:

  1. 带状模式

在这种模式下,以用户指定的开始时间所在自然月作为第一分片,此后每一个自然月作为一个分片,并且分片的增长不受限制。如果增删改查比开始时间早的记录,该规则在代码层面会返回负数的分片号,应该会因此导致路由失败。该规则不会自动为新增分片指定存储节点,以及,清理历史分片,这些工作需要用户自行实现。

  1. 环状模式

在这种模式下,分片数量是有限的,这个数量由用户指定。所有分片首尾相接行程成了一个逻辑上的环。但与软件开发技术中的环状缓存(ring buffer)概念不同,在越过最后一个分片而回到第一个分片时,该规则并不会主动地去覆盖或者清空第一个分片中的内容,同理,在从第一个分片退回到最后一个分片时也不会发生覆盖——这个清理机制(月切)需要用户自行实现。

上一篇下一篇

猜你喜欢

热点阅读