【求助】3000张不同的表,要做分库,有没有办法全局配置。

方便更快捷的说明问题,可以按需填写(可删除)

使用环境:

shardingsphere-5.0.0

场景、问题:

我有3000张不同的表(t1,t2 … t3000),他们都有一个公共字段 id , 现在想通过id取模,做分库,
现在需要配置3000多个表,手要断:

期望: 只配置:defaultDatabaseStrategy , 走默认策略实现。

已进行操作:

等待官方反馈

现状:

可运维性差

是使用的 ShardingSphere-Proxy 吗?

是的,5.0版本。

那就还是有办法保护手不断的,使用 DistSQL 替代配置文件,然后参照下面这篇文章,采用批量操作的方式创建分表规则。

1 个赞

为啥不直接适配 defaultDatabaseStrategy 能力, 提供一种不需要指定表 按特定字段 的 默认分库 规则。

因为 ShardingSphere 提供了通用的解决方案,要兼顾许多场景。
例如系统中有 10 张表分片了,需要用户配置 dataNodes,另外 5 张表未分片,在所有库中独一份,就不配置分片规则。
那么这种场景下,defaultDatabaseStrategy 应如何工作? 倘若允许分片表不配置,怎么和单表区分呢?
当 ShardingSphere 还无法完全猜测出用户的意图,那么就需要有一个配置来明确告知。

这些区分起来并没有很复杂(比如:可以加个全局标签),主要看业务场景,我觉得是有必要的。

可以的,ShardingSphere 支持扩展,您可以将想法描述得更细致一些,或直接提交 PR 来改进这一部分配置。

京ICP备2021015875号