IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    再谈sharding database的一些概念

    小荷发表于 2016-11-30 13:44:42
    love 0

    在继『Oracle sharding database的一些概念』和『sharding database的一些概念的补充』之后,我觉得还是有些概念需要谈一下。

    1.shard prune(分片裁剪):
    这个概念类似分区裁剪(partition prune),是指根据sql语句会到对应的分片上去。
    但是并不是所有的sql语句都会用到分片裁剪的功能。需要基于shardcat db的statement-level routing,也就是代理路由;因为需要在shardcat上做sql语句的解析。
    1.1 当分片方式不是system-managed了,而是user-defined的分片方式,或者是Composite混合型的分片方式的时候,如果此时语句中包含基于shard key的range或者list的条件,如等于,in-list,like,范围等,这时就能触发分片裁剪。
    1.2 当分片方式是一致性hash时,如果此时语句中包含基于shard的等于,或者in-list的时候,就可以触发分片裁剪。

    2. cross shard join:
    12.2只支持基于shard key的cross shard join。

    3. cross shard DML
    12.2.0.2不支持cross shard dml。

    其实这3点的限制,oracle都是为了最大程度上避免跨分片操作。



沪ICP备19023445号-2号
友情链接