Sharding-Proxy自定义分片策略(按年分库,按月、日、小时、分表)

本文介绍了如何在Sharding-Proxy中实现自定义分片策略,按照年份进行数据库分片,按月份、日期、小时、分钟进行表分片。详细步骤包括下载源码、配置启动Sharding-Proxy、代码和配置文件的结构说明。提供了配置规则和代码实现的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

版本说明

一、官方的说明

1.使用自定义分片算法

2.数据分片配置说明

二、正确的姿势

1.下载官方源码

2.配置启动sharding-proxy

3.代码、配置文件,结构说明


版本说明

组件 版本 备注
Sharding-Proxy源码 4.1.1
Mysql 8.x

一、官方的说明

1.使用自定义分片算法

你会发现如下的说明不能帮你什么🤣

当用户需要使用自定义的分片算法类时,无法再通过简单的inline表达式在yaml文件进行配置。可通过以下方式配置使用自定义分片算法。

  1. 实现ShardingAlgorithm接口定义的算法实现类。
  2. 将上述java文件打包成jar包。
  3. 将上述jar包拷贝至ShardingProxy解压后的conf/lib目录下。
  4. 将上述自定义算法实现类的java文件引用配置在yaml文件里tableRule的algorithmClassName属性上,具体可参考配置规则

2.数据分片配置说明

如下内容可能会有用一点,来源于:sharding-Jdbc配置说明   注意:仅我下面贴出来的有用,毕竟不是一个组件有些配置是不一样的。

dataSources: #数据源配置,可配置多个data_source_name
  <data_source_name>: #<!!数据库连接池实现类> `!!`表示实例化该类
    driverClassName: #数据库驱动类名
    url: #数据库url连接
    username: #数据库用户名
    password: #数据库密码
    # ... 数据库连接池的其它属性

shardingRule:
  tables: #数据分片规则配置,可配置多个logic_table_name
    <logic_table_name>: #逻辑表名称
      actualDataNodes: #由数据源名 + 表名组成,以小数点分隔。多个表以逗号分隔,支持inline表达式。缺省表示使用已知数据源与逻辑表名称生成数据节点,用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况

      databaseStrategy: #分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一
        standard: #用于单分片键的标准分片场景
          shardingColumn: #分片列名称
          preciseAlgorithmCla
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八方来财添好运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值