前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >千亿级海量数据库OceanBase

千亿级海量数据库OceanBase

作者头像
凹谷
发布2020-04-11 20:41:05
2.1K0
发布2020-04-11 20:41:05
举报
文章被收录于专栏:大数据与微服务架构

读书是获得知识最便宜的手段。

OceanBase是阿里集团研发的可扩展性关系型数据库,实现了数千亿条记录、数百TB数据上的跨行跨表事务。

OceanBase的目标是支持数百TB的数据量以及数十万TPS、数百万QPS的访问量。

一、OceanBase系统架构:

1、客户端:使用OceanBase的方式与MySQL完全相同,支持JDBC、C客户端访问,基于MySQL数据库开发的应用可以直接迁移至OceanBase。

2、RootServer:管理集群中的所有服务器,子表数据分布及副本管理,RootServer一般一主一备,主备之间强制数据同步。

主要功能:集群管理、数据分布以及副本管理。RootServer主备之间可通过Linux HA实现高可用,主备之间共享VIP。

3、UpdateServer:存储OceanBase系统的增量更新数据,一般为一主一备,主备之间可采用不同的同步模式。

主要功能:集群中唯一能够接受写入的模块,UpdateServer更新操作首先写入内存表,当内存表超过一定值时,可以生成快照文件并转存为SSD中。

4、ChunkServer:存储OceanBase系统的基线数据,一般存储两份到三份,可配置。

主要功能:存储多个子表,提供读取服务,执行定期合并以及数据分发。

5、MergeServer:接收并解析用户的SQL请求,经过词法分析、语法分析、查询优化等一系列操作后转发给相应的ChunkServer或者UpdateServer,如果请求的数据分布来多台ChunkServer上,还需要对多台ChunkServer返回的数据进行合并。客户端可直接访问MergeServer。

主要功能:协议解析、SQL解析、请求转发、结果合并、多表操作等,MergeServer先解析客户端请求的MySQL协议,提取用户发送的SQL语句,接着进行词法分析和语法分析,生成SQL语句的逻辑查询计划和物理查询计划,最后根据物理计划调用内部各种操作,请求各子表数据转发给对应的ChunkServer,如果是写操作,还会转发给UpdateServer。

二、OceanBase读写事务流程

用户读写请求都发给MergeServer,MergeServer解析这些读写事务的内容,如:词法和语法分析、schema检查等,对于只读事务,由MergeServer发给相应的ChunkServer分别执行再合并每个ChunkServer的执行结果,对于读写事务,由MergeServer预处理后,发给UpdateServer执行。

三、OceanBase扩展

OceanBase融合了分布式存储系统和关系型数据库这两种技术,UpdateServer相当于一个高性能内存数据库,底层采用关系型数据库技术实现,ChunkServer相当于一个分布式文件存储系统,类似Google GFS。

四、存储介质对比

类别

每秒读写(IOPS)次数

每GB价格(元)

随机读取

随机写入

内存

千万级

150

友好

友好

SSD盘

35000

20

友好

写入放大问题

SAS磁盘

180

3

磁盘寻道

磁盘寻道

SATA磁盘

90

0.5

磁盘寻道

磁盘寻道

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据与微服务架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
TDSQL MySQL 版
TDSQL MySQL 版(TDSQL for MySQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档