关于 Apache ShardingSphere 5.x 的分片算法 API 设计的公开讨论

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/thread.html/r0328a5ed6774b3dee10bca00bc83377abc3aad01bca82c6dc3bc18e8%40%3Cdev.shardingsphere.apache.org%3E

【关于 Apache ShardingSphere 5.x 的分片算法 API 设计的公开讨论】


    推荐阅读