分库分表技术的使用,主要是数据库产生了瓶颈,如单库的并发访问或单表的查询都超出了阈值。通过分库分表技术来解决此类问题,但正因为使用此技术,会产生ACID一系列的问题,各类中间件解决此类问题各有各的优势。
分库分表的 21 条法则,hold 住!其前身是 sharding-jdbc 和 sharding-proxy 的两个独立项目,后来在 2018 年合并成了一个项目,并正式更名为 ShardingSphere。
从最开始 Sharding-JDBC 1.0 版本只有数据分片,到 Sharding-JDBC 2.0 版本开始支持数据库治理,再到 Sharding-JDBC 3.0版本又加分布式事务 ,如今已经迭代到了 Sharding-JDBC 4.0 版本。比如将订单表 t_order 拆分成 t_order_0 ··· t_order_9 等 10张表。
本文使用的 是 HAProxy+MyCAT+MySQL 架 构 , 如 果 使 用 Java 程 序 对 接 , 则 只 需 整 合HAProxy文中配置的地址即可,不需要理会MyCAT与MySQL的地址。
前言分库分表是解决单库单表性能瓶颈的有效手段,但也会引入新的复杂性和技术挑战。这篇文章跟大家一起聊聊,分库分表后带来的7个问题,以及相关的解决方案,希望对你会有所帮助。一、全局唯一 ID 问题1、问题描述在分库分表后,每张表的自增 ID 只在本表范围内唯一,但无法保证全局唯一。