Apache ShardingSphere 的 5.x 版本正在开发中,其中 API 的设计是重中之重。目前大部分 API 都已定型,对于用户使用最广泛的分片算法 API,目前也已经做了较大幅度的更新。5.x 是 Apache ShardingSphere 向可插拔架构转型的重大变革版本,为了让 API 设计的更加合理,现征集社区的想法,公开讨论。
目前有 2 个主要问题需要讨论:
问题 1
Apache ShardingSphere 添加了一种新的自动分片的表类型。自动分片表可以根据分片算法自动分配实际的 DataNode,用户无需再关注数据库中真实的物理表的具体分布情况。
自动表分片算法的配置与之前的标准分片算法类似。在目前的 API 设计中,分片算法 API 增加了一个新接口 ShardingAutoTableAlgorithm,它能够被原始的 StandardShardingAlgorithm 接口所继承。
Apache ShardingSphere 4.x 版本中的算法类型为 Standard、Complex、Hint 和 None,Apache ShardingSphere 是否需要添加一种全新的分片算法来将它们完全分开?如果需要,什么名字比较合适?
问题 2
Apache ShardingSphere 使用 SPI 引入了所有的算法。与 4.x 版本的方式不同,用户无法再使用类名的方式来配置定制化的分片算法。
Apache ShardingSphere 是否需要添加提供让用户配置类名的内置算法类型?如果提供,该新算法类型将与当前的 INLINE 类型类似。
期待社区的同学一起参与讨论,Apache ShardingSphere 5.x API 的设计需要更多人的参与和决策。
讨论邮件地址
https://lists.apache.org/thre…