OceanBase
官方介绍
OceanBase是一款阿里巴巴自主研发的高性能、分布式的关系型数据库,支持完整的ACID特性。
它高度兼容MySQL协议与语法,让用户能够以最小的迁移成本使用高性能、可扩展、持续可用的分布式数据库服务,同时对用户数据提供金融级可靠性的保障。
产品定位
- 定位金融领域的数据库
- 目前提供云数据库服务(类似RDS)
发展历程
- 2010 开始设计
- 2011 淘宝收藏夹
- 2015 双11全量
OB特点与实践经验
- 号称0丢失,认为是去Oracle最为关键的地方
- 多数派写,paxos
- 不可用时间为35秒,及Fail Over时间为35秒
- 成本低于Oracle
- 第一个用于金融业务的非商业数据库
- 金融数据库特点:
- 高可用
- IDC容灾
- 数据强一致
- ACID
- 复杂SQL
- 高性能
- 可扩展
- 可灰度切流
- 去O最佳实践
- 中间件来兼容Oracle的SQL
- 具备类似SQL审核的功能
- 故障模拟器,模拟常见故障,做好预案
- 数据一致性
- 上下业务关联对账
- 小时级别对账 ODPS
- 应急方案:切流到Oracle
- 性能优化
- 业务
- 按需加载,减少SQL
- 热点数据模型优化
- OB
- UPS并发提交
- 链路获取策略
- Memcpy优化
- 响应时间,ms级别
- 双11
- 各种预案
- 各种演练
架构分析
以下都为网络引用
- 从上面可以看出,OceanBase融合了分布式存储系统和关系数据库这两种技术。
- 通过分布式存储技术将基准数据分布到多台ChunkServer,实现数据复制、负载均衡、服务器故障检测与自动容错,等等;
- UpdateServer相当于一个高性能的内存数据库,底层采用关系数据库技术实现。
- OceanBase相当于GFS + MemSQL,ChunkServer的实现类似GFS,UpdateServer的实现类似MemSQL,目标是成为可扩展的、支持每秒百万级跨行跨表事务操作的分布式数据库。
- OceanBase最大的亮点在于把写集中到一个单点UpdateServer,这样的好处是可以让一致性和可用性兼得,实现跨行跨表事务,坏处是UpdateServer单点性能有可能成为瓶颈,因此它的配置要非常非高(大内存+SSD+存储Cache)。
网友评论