暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

蚂蚁用OceanBase后为什么还要分库分表?

原创 MQ4096 2020-01-10
3987

问题描述

蚂蚁用OceanBase后为什么还要分库分表?

专家解答

OceanBase作为分布式数据库,自身是有水平拆分能力,具体就是通过分区的方式。蚂蚁业务在早期使用ORACLE的时候就做了很多垂直拆分和水平拆分的设计。其中水平拆分就是使用分库分表中间件加ORACLE。分库分表将一个业务数据拆分到N个ORACLE实例里,每个ORACLE实例只有部分数据,当出现性能问题或者故障的时候,可以将影响面控制在很低的比例下。此后去ORACLE的时候,基本就是从ORACLE平迁到OceanBase上,应用层沿用了之前的分库分表架构。

分库分表还有另外一个重要作用就是很方便应用自身实现数据库的快速弹性Failover,而不依赖数据库自身的Failover技术。ORACLE一次主备切换时间在几分钟到十几分钟,OceanBase节点故障切换时间在十几秒到几十秒,这些时间对核心交易业务来说都是难以承受的。应用在分库分表中间件基础上实现的FO设计可以做到几秒内就切换数据源。此外,蚂蚁的异地多活单元化设计也依赖分库分表中间件的能力。

有关应用的数据库Failover方案详情可以参考《支付宝去O的关键技术之一——数据库弹性路由》

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论