分库分表落地解决方案

简介: 随着系统不断的运行,当数据库的数据开始超过千万、上亿时,mysql数据库将承受更大的压力。数据是企业生存的根本,数据库的健康状况将直接决了定企业的竞争力。 解决思路 为了更好的缓解数据库压力,使得系统更高效的运行,落地的解决方案有:1、分库(也叫垂直拆分,即:每个模块对应一个单独的数据库)。2、分表(也叫水平拆分,即:一张表的数据拆分存储到多张表里)。 引入的新问题 1、数

随着系统不断的运行,当数据库的数据开始超过千万、上亿时,mysql数据库将承受更大的压力。数据是企业生存的根本,数据库的健康状况将直接决了定企业的竞争力。

解决思路

为了更好的缓解数据库压力,使得系统更高效的运行,落地的解决方案有:1、分库(也叫垂直拆分,即:每个模块对应一个单独的数据库)。2、分表(也叫水平拆分,即:一张表的数据拆分存储到多张表里)。

引入的新问题

1、数据库分离的同时,也引入了分布式事物的问题。2、表的水平拆分的同时,也带来了很多的挑战,比如:分页查询、表数据的后续扩展、数据的存储和检索策略。

落地解决方案

1、分布式事物的解决方案也有很多,比如:TCC、MQ事物消息等。这里提出方案的是事物补偿,且仅有事务补偿没有回滚。具体做的时候需要注意:将执行一个操作所涉及到的所有校验条件全部提到服务编排层的最前面(包括试算)。若所有的校验条件都通过了,则认为后续执行的业务逻辑一定是通过的。如果执行报错,那么,通过消息队列做三次补偿,补偿仍然失败,手工介入处理。

2、RPC调用、事物补偿引入了并发场景下的接口幂等性问题,这里给出三种解决方案是:a.乐观锁,ID和版本号,update version … where version

3、分表的同时带来了数据的存储和检索问题,这里给的解决方案是:a.根据业务组ID(全局分配唯一)取模运算,比如:10张表,那么,就是取10的模来决定存储的表编号,并存入路由表。业务组的ID是指一个更大的管理单位,比如:某个商户的ID、企业的ID。b.增加路由表,根据业务组ID查找路由表,找到表编号。c.对于没有业务组关联的信息,例如:用户信息,也是直接采用取模的计算方式。对于一些特殊场景的userId,也可以存储到路由表里,检索的时候,优先检索路由表。这里有两个重要的概念第一个是按照业务组ID为单位操作,第二个是根据路由表来查找表编号。

目录
相关文章
|
4月前
|
运维 容灾 中间件
核心系统转型问题之实现异地多活单元化能力如何解决
核心系统转型问题之实现异地多活单元化能力如何解决
|
4月前
|
运维 Cloud Native 容灾
核心系统转型问题之单元化架构对于自研可控场景该如何支持
核心系统转型问题之单元化架构对于自研可控场景该如何支持
|
4月前
|
运维 Cloud Native 容灾
核心系统转型问题之云原生分布式核心,业务敏捷该如何实现
核心系统转型问题之云原生分布式核心,业务敏捷该如何实现
|
4月前
|
运维 Cloud Native
核心系统转型问题之提升云原生分布式转型的效率如何解决
核心系统转型问题之提升云原生分布式转型的效率如何解决
|
4月前
|
运维 监控 Cloud Native
核心系统转型问题之开展核心云原生分布式转型如何解决
核心系统转型问题之开展核心云原生分布式转型如何解决
|
4月前
|
Cloud Native 项目管理
核心系统转型问题之确保云原生分布式转型不成为“新瓶装旧酒”如何解决
核心系统转型问题之确保云原生分布式转型不成为“新瓶装旧酒”如何解决
|
7月前
|
Cloud Native OLAP OLTP
如何看待云原生数据库一体化的技术趋势?
【4月更文挑战第12天】如何看待云原生数据库一体化的技术趋势?
|
运维 容灾 安全
解决方案架构师郭援非:OceanBase助力金融ECIF“大机下移”分布式
随着“以客户为中心”逐渐成为金融业的战略重心,整合企业各系统分散客户信息的ECIF(Enterprise Customer Information Facility,企业级客户整合系统)应运而生。 ECIF 通过整合企业现有业务系统中的所有客户信息,实时保留客户的最新信息,为各应用系统以联机交易的方式提供实时的、完整的、共享的、一致的客户信息,建立起企业级的客户信息识别系统,在全企业范围内为客户信息的使用和管理提供服务,已成为金融业“以客户为中心”的战略性基础系统。
520 0
解决方案架构师郭援非:OceanBase助力金融ECIF“大机下移”分布式
|
Cloud Native 容灾 安全
《生来创新-金融级云原生》——1 金融企业拥抱云原生的问题与冲突 ——1.6问题 6:云原生架构对业务连续性如何保证?
《生来创新-金融级云原生》——1 金融企业拥抱云原生的问题与冲突 ——1.6问题 6:云原生架构对业务连续性如何保证?
128 0
|
7月前
|
SQL 监控 测试技术
某金融客户核心系统OceanBase数据库性能优化实践
部分金融行业客户的传统核心使用OceanBase替换国外商业数据库的过程中,需要针对业务模型和数据模型进行重构,数据库压测提出了针对单交易耗时和TPS的硬性指标,以下内容是OceanBase数据库调优过程中的一些具体优化实践。
647 0
某金融客户核心系统OceanBase数据库性能优化实践