11.3 国产大数据库技术 11.3.1 阿里巴巴OceanBase 11.3.2 云创存储数据立方(DataCube)
11.3 国产大数据库技术 阿里巴巴OceanBase 11.3 国产大数据库技术 阿里巴巴OceanBase OceanBase主要是为了解决淘宝网的大规模数据而产生的,是一个支持海量数据的高性能分布式数据库系统,达到管理数千亿条记录的规模,支持在数百TB数据上跨行跨表事务并支持SQL操作。 到目前为止, OceanBase支持了收藏夹、直通车报表、天猫评价等OLTP和OLAP在线业务,线上数据量已经超过千亿条记录。
11.3 国产大数据库技术 阿里巴巴OceanBase 系统架构 PootServer/ PootServer/ UpdataServer 11.3 国产大数据库技术 阿里巴巴OceanBase 系统架构 PootServer/ UpdataServer (主) PootServer/ UpdataServer (备) ChunkServer/ MergeServer ChunkServer/ MergeServer ChunkServer/ MergeServer ChunkServer/ MergeServer
11.3 国产大数据库技术 阿里巴巴OceanBase 客户端 RootServer UpdateServer ChunkServer 11.3 国产大数据库技术 阿里巴巴OceanBase 基于MySQL数据库开发的应用程序、工具能够直接迁移到OceanBase 客户端 RootServer 配置服务器,一般是单台服务器。记录commit log并通常采用双机热备 UpdateServer 存储OceanBase系统的增量更新数据。 保存基准数据的服务器,通常是多台,同一份基准数据通常保存3份并存储在不同的ChunkServer上 ChunkServer 接收并解析用户的SQL请求经过词法分析、语法分析、查询优化等一系列操作后转发给相应的ChunkServer或者UpdateServer MergeServer
11.3 国产大数据库技术 阿里巴巴OceanBase 数据查询流程 Mysql客户端,JDBC/ODBC等 SQL 请求 读事务 写事务 11.3 国产大数据库技术 阿里巴巴OceanBase 数据查询流程 Mysql客户端,JDBC/ODBC等 MergsServer Mysql协议 MS-SQL ChunkServer CS-SQL UPS-SQL SQL 请求 读事务 写事务 读取修改增量
11.3 国产大数据库技术 阿里巴巴OceanBase 系统特点及优势 主体数据在一段时间内保持相对稳定 11.3 国产大数据库技术 阿里巴巴OceanBase 系统特点及优势 主体数据在一段时间内保持相对稳定 以内存保存增删改记录极大地提高了系统写事务的性能 扩充UpdateServer内存即增加了内存中容纳的修改量 动态数据服务器UpdateServer写commit log并采取双机(甚至多机)热备 OceanBase按主键的范围查询对应着连续的磁盘读
11.3 国产大数据库技术 阿里巴巴OceanBase 11.3 国产大数据库技术 阿里巴巴OceanBase UpdateServer 类似于DBMS中的DB角色,提供跨行跨表事务和很短的查询修改的响应时间以及良好的一致性 ChunkServer 具有数据多副本、中等规模数据粒度、自动负载平衡、宕机恢复、机器plug and play等特点,系统容量及性能随时扩展 MergeServer 结合ChunkServer和UpdateServer,获得最新数据,实现数据一致性 RootServer 类似于云计算中的主控机(如GFS master),进行机器故障检测、负载平衡计算、负载迁移调度等
11.3 国产大数据库技术 阿里巴巴OceanBase 可靠性与可用性 11.3 国产大数据库技术 阿里巴巴OceanBase 可靠性与可用性 OceanBase在ChunkServer中保存了基准数据的多个副本。 OceanBase在UpdateServer中保存了增量数据的多个副本。 ChunkServer的多个副本可以同时提供服务。 UpdateServer主备之间为热备,同一时刻只有一台机器为主UpdateServer提供写服务。 OceanBase存储多个副本并没有带来太多的成本。 在OceanBase系统中,用户的读/写请求,即读/写事务,都发给MergeServer。
11.3 国产大数据库技术 阿里巴巴OceanBase 1 2 3 4 只读事务执行流程如下: 11.3 国产大数据库技术 阿里巴巴OceanBase 只读事务执行流程如下: MergeServer解析SQL语句,词法分析、语法分析、预处理,最后生成逻辑执行计划和物理执行计划。 1 MergeServer将请求拆分后同时发给多台ChunkServer并发执行,每台ChunkServer将读取的部分结果返回MergeServer 2 如果SQL请求涉及多张表格,MergeServer还需要执行联表、嵌套查询等操作。 3 MergeServer将最终结果返回给客户端。 4
11.3 国产大数据库技术 11.3.1 阿里巴巴OceanBase 11.3.2 云创存储数据立方(DataCube)
11.3 国产大数据库技术 云创存储数据立方(DataCube) 11.3 国产大数据库技术 云创存储数据立方(DataCube) 数据立方(DataCube)的结构分为用户接口、索引、SQL解析器、作业生成器、元数据管理、并行计算架构、分布式文件系统等部分,如图所示。 索 引 SHELL JDBC SQL解析器 Job Builder Metadata 并行计算框架 分布式文件系统
11.3 国产大数据库技术 云创存储数据立方(DataCube) Zookeeper Master (备) NameNode (主) 11.3 国产大数据库技术 云创存储数据立方(DataCube) Zookeeper Master (备) NameNode (主) Slave DataNode …… 日志 心跳
11.3 国产大数据库技术 云创存储数据立方(DataCube) 实时性 计算的数据本地性 数据平衡性
11.3 国产大数据库技术 云创存储数据立方(DataCube) Master Slave0 Slave1 …… SlaveN Job 11.3 国产大数据库技术 云创存储数据立方(DataCube) Master Slave0 Slave1 …… SlaveN Job Task0 Task1 TaskN Intermediate Data Result Set0 Result Set1 Result SetN 并行计算架构上作业执行过程
11.3 国产大数据库技术 云创存储数据立方(DataCube) 1 SlaveX Slave0 Slave1 …… SlaveN 2 11.3 国产大数据库技术 云创存储数据立方(DataCube) 1 SlaveX Data Set Data Set Data Set Slave0 Slave1 …… SlaveN 2 SlaveX Data Subset 1 Data Subset 2 Data Subset N Slave0 Slave1 …… SlaveN 3 SlaveX Data Set Data Set Slave0 Slave1 …… SlaveN 并行计算架构的3种分发方式
11.3 国产大数据库技术 云创存储数据立方(DataCube) Master Slave0 Slave1 …… SlaveN Job 11.3 国产大数据库技术 云创存储数据立方(DataCube) Master Slave0 Slave1 …… SlaveN Job Task0 Task1 TaskN Small Table Result Set0 Result Set1 Result SetN 小表与大表的join实例
11.3 国产大数据库技术 云创存储数据立方(DataCube) 分布式索引 11.3 国产大数据库技术 云创存储数据立方(DataCube) 分布式索引 MapReduce对每个查询都是直接从分布式文件系统中读入原始数据文件,I/O代价远高于数据库,相对于MapReduce架构以及在其之上的SQL解析器Hive,数据立方引入了一种高效的分布式索引机制,不同于并行数据库的 Shared-nothing和Shared-disk架构,数据立方的数据文件与索引文件都存放在分布式文件系统之上。
11.3 国产大数据库技术 云创存储数据立方(DataCube) B+树索引
11.3 国产大数据库技术 云创存储数据立方(DataCube) 数据立方大数据一体机 处理海量数据的高效分布式软/硬件集合的云处理平台 11.3 国产大数据库技术 云创存储数据立方(DataCube) 数据立方大数据一体机 处理海量数据的高效分布式软/硬件集合的云处理平台 从TB乃至PB级的数据挖掘 海量信息的快捷高效处理 100Gbps以上量级的数据流实时索引 秒级响应客户请求 秒级完成数据处理、查询和分析工作 对入口数据进行实时索引 对数据进行分析、清理、分割 支持数据深度挖掘和商业智能分析