ShardingSphere Hint 实用指南

背景

Apache ShardingSphere 基于用户的实际使用场景,为用户打造了多种实用功能,包括数据分片、读写分离等。在数据分片功能中,Apache ShardingSphere 提供了标准分片、复合分片等多种实用的分片策略,在各种分片策略中,用户又可以配置相关分片算法,从而解决数据分片的问题。在读写分离功能中,ShardingSphere 为用户提供了静态和动态的两种读写分离类型以及丰富的负载均衡算法以满足用户实际需求。 可以看到 ShardingSphere 的分片和读写分离功能已经非常丰富,不过用户的真实使用场景是千变万化的。以多租户场景为例,用户期望按照登录账号所属租户进行分片,但是租户信息却并不是存在于每条业务 SQL 中,这时从 SQL 中提取分片字段的算法将无法发挥作用。再以读写分离为例,大部分场景下用户都希望能够将查询操作路由到从库上执行,但是在某些实时性要求很高的场景下,用户希望将 SQL 强制路由到主库执行,这时读写分离就无法满足业务要求。 基于以上痛点 Apache ShardingSphere 为用户提供了 Hint 功能,用户可以结合实际业务场景,利用 SQL 外部的逻辑进行强制路由或者分片。目前 ShardingSphere 为用户提供了两种 Hint 方式,一种通过 Java API 手动编程,利用 HintManager 进行强制路由和分片,这种方式对采用 JDBC 编程的应用非常友好,只需要少量的代码编写,就能够轻松实现不依赖 SQL 的分片或者强制路由功能。另外一种方式对于不懂开发的 DBA 而言更加友好,ShardingSphere 基于分布式 SQL 提供的使用方式,利用 SQL HINT 和 DistSQL HINT, 为用户提供了无需编码就能实现的分片和强制路由功能。接下来,让我们一起了解下这两种使用方式。

老婆生日终极狂欢夜PLUS版!

❤️ 菜宝同志万岁万岁万万岁 ❤️

皇家御赐土味大礼包

✨ 御膳房神秘盲盒 ✨

🎁 皇家恩赐大奖 🎁

💌 钦定爱情圣旨

🎉🎂🍰🎈💐💃🕺🎊 生日快乐 🎉🎂🍰🎈💐💃🕺🎊