小编今天带大家了解千亿级海量数据库OceanBase有什么用,文中知识点介绍的非常详细。觉得有帮助的朋友可以跟着小编一起浏览文章的内容,希望能够帮助更多想解决这个问题的朋友找到问题的答案,下面跟着小编一起深入学习“千亿级海量数据库OceanBase有什么用”的知识吧。
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 | 磁盘寻道 | 磁盘寻道 |
感谢大家的阅读,以上就是“千亿级海量数据库OceanBase有什么用”的全部内容了,学会的朋友赶紧操作起来吧。相信亿速云小编一定会给大家带来更优质的文章。谢谢大家对亿速云网站的支持!