ShardingSphere——分片及策略:
https://blog.csdn.net/weixin_38910645/article/details/107538848

Sharding-JDBC:可理解为增强版的JDBC驱动,完全兼容JDBC和各种ORM框架。

Sharding-Proxy:定位为数据库代理端,提供封装了数据库二进制协议的服务端版本,用于完成对异构语言的支持。

Sharding-Sidecar:定位为Kubernetes或Mesos的云原生数据库代理

Sharding-Sphere 配置文件支持properties,yml,Spring XML,JavaBean 多种配置方式。

配置信息包括:

1,Datasource 名称
2,每个Datasource的连接信息
3,分库策略
4,分表策略(单个表,多个表策略,主键策略)
5,读写分离配置
6,数据治理配置

分片策略:
一,分片键 用于分片的数据库字段,是将数据库(或者表)拆分的关键字段。(原始表-分片表)
二,分片算法 通过分片算法将数据分片。

1,行表达策略 InlineShardingStrategy 提供对SQL语句中的=和IN的分片操作支持,只支持单分片键。
2,标准策略 StandardShardingStrategy 只支持单分片键,提供PreciseShardingAlgorithm和RangeShardingAlgorithm两个分片算法。
PreciseShardingAlgorithm是必选的,用于处理=和IN的分片。RangeShardingAlgorithm是可选的,用于处理BETWEEN AND, >, <, >=, <=分片,如果不配置RangeShardingAlgorithm,SQL中的BETWEEN AND将按照全库路由处理。

3,复合策略(Complex)
ComplexShardingStrategy支持多分片键,由于多分片键之间的关系复杂,因此并未进行过多的封装,而是直接将分片键值组合以及分片操作符透传至分片算法,完全由应用开发者实现,提供最大的灵活度。

4,Hint强制路由(Hint - 英文为暗示的意思)
有些SQL语句比较复杂比如说有 INSERT INTO … SELECT … FROM,这个时候sqlparser并不支持的时候。这种情况下,可以通过sharding-jdbc的Hint分片策略来实现各种sharding-jdbc不支持的语法的限制。
因为Hint分片策略是绕过SQL解析的,所以对于这些比较复杂的需要分片的查询,采用Hint分片策略性能可能会更好。
hint策略需要实现org.apache.shardingsphere.api.sharding.hint.HintShardingAlgorithm接口。

不支持CASE WHEN、HAVING、UNION (ALL) 类似语法。

连接器,分析器,优化器,执行器,

连接器,SQL解析,查询优化,SQL路由,SQL改写,执行

重温 ShardingSphere 分布策略的更多相关文章

  1. Java中HashMap的hash分布策略的简单解释

    趴源码是看到一段不可思议的代码,网上的解释似乎不大令人满意,因此稍微花点时间解读了一下,如有错误请指正 HashMap的桶是这样搞的 // 片段1 static final int hash(Obje ...

  2. Cassandra使用的各种策略

    1. 背景介绍 Cassandra 使用分布式哈希表(DHT)来确定存储某一个数据对象的节点.在 DHT 里面,负责存储的节点以及数据对象都被分配一个 token.token 只能在一定的范围内取值, ...

  3. greenplum分布键的hash值计算分析

    greenplum 数据分布策略 greenplum 是一个 MPP 架构的数据库,由一个 master 和多个 segment 组成(还可选配置一个 standby master),其数据会根据设置 ...

  4. KV存储系统

    现在的KV存储系统都是分布式的,首先介绍Zookeeper——针对大型分布式系统的高可靠的协调系统. 开发分布式系统是件很困难的事情,其中的困难主要体现在分布式系统的“部分失败”.“部分失败”是指信息 ...

  5. 《连载 | 物联网框架ServerSuperIO教程》2.服务实例的配置参数说明

    1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍  <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制 一.综述 SuperIO(SIO)定位 ...

  6. xmemcached的使用

    转载 http://www.voidcn.com/blog/u010408365/article/p-4972896.html xmemcached主要特性 高性能 XMemcached同样是基于ja ...

  7. MySql学习(五) —— 数据库优化理论篇(一)

    一.数据库管理系统 数据库管理系统(Database Management System, DBMS) 衡量是否是数据库的标准: ACID:是指在数据库管理系统(DBMS)中事务所具有的四个特性: 1 ...

  8. 《企业应用架构模式》(POEAA)读书笔记

    原文地址:<企业应用架构模式>(POEAA)读书笔记作者:邹齐龙(技术-5013 什么是架构 Rolph Johnson认为:架构是一种主观上的东西,是专家级的项目开发人员对系统设计的一些 ...

  9. php版的redis操作库predis操作大全

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/146.html predis是php连接redis的操作库,由于它完全使用 ...

  10. Jedis下的ShardedJedis(分布式)使用方法(一)

    原来项目中有用到Redis用作缓存服务,刚开始时只用一台Redis就能够满足服务,随着项目的慢慢进行,发现一台满足不了现有的项目需求,因为Redis操作都是原子性这样的特性,造成有时同时读写缓存造成查 ...

随机推荐

  1. MogDB/openGauss 自定义snmptrapd告警信息

    MogDB/openGauss 自定义 snmptrapd 告警信息 在实际使用中,默认的报警规则信息并不能很好的满足 snmp 服务端的需求,需要定制化报警信息,这里以添加 ip 为例,看似一个简单 ...

  2. 知识图谱增强的KG-RAG框架

    昨天我们聊到KG在RAG中如何发挥作用,今天我们来看一个具体的例子. 我们找到一篇论文: https://arxiv.org/abs/2311.17330 ,论文的研究人员开发了一种名为知识图谱增强的 ...

  3. linux下升级openssh参考[不建议采用此法安装]

    本人不见一采用这种方法安装,只是当遇到问题时候有一定的参考意义,所以贴了上来.建议使用yum方式安装,详见在下另一篇博文: http://blog.csdn.net/lqzixi/article/de ...

  4. css添加属性,让浏览器检查无法选中元素

    1.表现 浏览器直接选中元素的时候,仅能直接选中整个body,想要找到具体元素,需要自己手动寻找,没太大实际作用,仅仅让不懂的人不能简简单单的直接定位元素然后修改里面的内容 pointer-event ...

  5. 力扣1107(MySQL)-每日新用户统计(中等)

    题目: Traffic 表: 该表没有主键,它可能有重复的行.activity 列是 ENUM 类型,可能取 ('login', 'logout', 'jobs', 'groups', 'homepa ...

  6. 深度解读《深度探索C++对象模型》之C++虚函数实现分析(一)

    接下来我将持续更新"深度解读<深度探索C++对象模型>"系列,敬请期待,欢迎关注!也可以关注公众号:iShare爱分享,自动获得推文和全部的文章列表. 假如有这样的一段 ...

  7. 基于 eBPF 的 Kubernetes 可观测实践

    简介: 阿里云可观测团队构建了 kubernetes 统一监控,无侵入式地提供多语言.应用性能黄金指标,支持多种协议,结合 Kubernetes 管控层与网络系统层监控,提供全栈一体式的可观测体验.通 ...

  8. Java异步非阻塞编程的几种方式

    简介: Java异步非阻塞编程的几种方式 一. 从一个同步的Http调用说起 一个很简单的业务逻辑,其他后端服务提供了一个接口,我们需要通过接口调用,获取到响应的数据. 逆地理接口:通过经纬度获取这个 ...

  9. 5分钟入门Lindorm SearchIndex

    ​简介:SearchIndex是Lindorm宽表的二级索引,主要用来帮助业务实现快速的检索分析.本篇文章介绍如何通过简单的SQL接口操作SearchIndex. 一.引言 云原生多模数据库Lindo ...

  10. Hologres揭秘:深度解析高效率分布式查询引擎

    简介: 从阿里集团诞生到云上商业化,随着业务的发展和技术的演进,Hologres也在持续不断优化核心技术竞争力,为了让大家更加了解Hologres,我们计划持续推出Hologers底层技术原理揭秘系列 ...