解决某互联网金融客户千亿数据存储和扩容的问题 #
客户痛点 #
为了应对快速发展的业务和激增的海量数据,数据架构进行了数次演进,但随着产品升级迭代,早期的解决方案演变成为了眼前的问题,通过业务框架实现的数据分片方案导致业务代码复杂度增加、维护成本不断攀升,紧耦合的弊端原形毕露,应用每次升级都需要投入较多的精力对分片做相应调整,研发人员难以专注于业务本身。技术团队经权衡后开始考虑使用成熟的分库分表组件来承担这部分工作,让业务系统升级和架构调整不再复杂。
客户调研 #
基于自研框架分片和基于 DBPlusEngine 分片的对比如下:
基于自研框架分片 | 基于 DBPlusEngine 分片 | |
---|---|---|
性能 | 高 | 高 |
代码耦合度 | 高 | 低 |
业务入侵程度 | 高 | 低 |
升级难度 | 高 | 低 |
扩展性 | 一般 | 良好 |
DBPlusEngine 优势
- 产品成熟稳定
- 极致性能表现
- 处理海量数据
- 架构灵活扩展
客户改造与架构 #
SphereEx-DBPlusEngine 在主力客户互联网金融业务落地过程中对产品的功能和性能方面进行了更多的支持和提升,产品再一次经历典型案例的打磨。
升级 SQL 引擎
分布式主键
业务分片键值注入
SQL 解析结果缓存
JDBC 元数据信息缓存
Bind 表 & 广播表的使用
自动化执行引擎 & 流式归并
经两团队通力合作,客户的互联网金融业务与 SphereEx-DBPlusEngine 相结合的各项指标满足预期,性能与原生 JDBC 几乎一致。 改造后的架构