背景

当用户使用数据分片对海量数据进行水平拆分时,虽然能够有效解决数据库性能瓶颈,但业务上也因此带来了一些新的问题。 例如以下场景:跨节点关联查询、子查询、分页、排序、聚合查询。在进行业务实现时需要注意查询 SQL 的使用范围,尽量避免跨数据库实例查询,这使得业务层面的功能受到了数据库的限制。

挑战

用户业务查询 SQL 往往是复杂多变的,通过业务 SQL 改造接入 ShardingSphere 成本较大。 将业务端原有的查询,转换为分布式查询并在分布式查询场景下进行相应的 SQL 优化,能够在跨数据库实例的情况下完成:关联查询、子查询、分页、排序、聚合查询。 在业务实现上能够让研发人员不必再关心 SQL 的使用范围,能够专注于业务功能开发,减少业务层面的功能限制。

目标

实现跨数据库实例查询的分布式 SQL,是 Apache ShardingSphere 联邦查询的主要设计目标。

应用场景

当需要进行跨数据库关联查询,子查询,以及聚合查询。不需要改动 SQL,通过配置开启联邦查询即可完成分布式查询语句的执行。

相关参考