ShardingSphere

ShardingJDBC

ShardingJDBC有哪些主要的功能?

  • 数据分片

  • 读写分离

  • 分布式主键

  • 分布式事务

  • 数据库治理

    • 配置动态化

    • 编排治理

    • 数据脱敏

    • 可视化链路追踪

ShardingJDBC中的基本概念

  • 表概念:

    • 逻辑表:t_order表本身不存在,但是有t_order_n多张真实表

    • 真实表:真实存在的物理表,比如 t_order_0 ... 1 ...

    • 数据节点:在分片后,由数据源和数据表组成,比如 order_db.t_order_1

    • 绑定表:分片规则一致的关系表,比如表t_ordert_order_item 均使用 order_id 分片,他们就是绑定表,如果配置了绑定表,那么数据绑定表的数据一定会在一个库中,可以直接从一个库中查询

    • 广播表:没有必要做分片的表,比如字典表、省份信息。广播表会在每个节点存储一份,存储内容和结构完全相同。

    • 单表:所有分片数据源中只存在唯一一张表,适合数据量不大不需要分片的操作场景。

  • 分片键:用于分片的数据库字段,是表水平拆分的关键字段

  • 分片算法:用于分片的数据库字段,是表水平拆分的关键字段

  • 分片策略 = 分片键+分片算法:

    • 不分片策略

    • 标准分片策略

    • 复合分片策略

    • 行表达式分片策略

    • Hint分片策略

最后更新于