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

OceanBase 学习笔记128:OceanBase数据库的集群架构有哪些基本概念?

757


欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/


集群

OceanBase 数据库集群由一个或多个 Region 组成,Region 由一个或多个 Zone 组成,Zone 由一个或多个 OBServer 组成,每个 OBServer 可有若干个 Unit,每个 Unit 可有若干个日志流 Logstream 的 Replica,每个 Logstream 可使用若干个 Tablet。

Region

Region 对应物理上的一个城市或地域,当 OceanBase 数据库集群由多个 Region 组成时,数据库的数据和服务能力就具备地域级容灾能力;当集群只有一个 Region 时,如果出现整个城市级别的故障,则会影响数据库的数据和服务能力。

Zone

Zone 一般情况(不考虑机房级容灾可部署一中心三副本)下对应一个有独立网络和供电容灾能力的数据中心,在一个 Region 内的多个 Zone 间 OceanBase 数据库集群拥有 Zone 故障时的容灾能力。

OBServer

运行 observer 进程的物理机。一台物理机上可以部署一个或者多个 OBServer(通常情况下一台物理机只部署一个 OBServer)。在 OceanBase 数据库内部,Server 由其 IP 地址和服务端口唯一标识。

Unit

租户在 OBServer 上的容器,描述租户在 OBServer 上的可用资源(CPU、MEMORY 等)。一个租户在一个 OBServer 只能同时存在一个 Unit。

Partition

分区(Partition)是用户创建的逻辑对象,是划分和管理表数据的一种机制。用户可以进行多种分区管理操作,包括:创建、删除、Truncate、分裂、合并、交换等。

Tablet

OceanBase 数据库 V4.0.0 版本引入了 Tablet 概念来表示实际的数据存储对象。它具备存储数据的能力,支持在机器之间迁移(transfer),是数据均衡的最小单位。Tablet 与分区一一对应,单分区表会创建一个Tablet,多分区表会为每个分区创建一个 Tablet。索引表的每个分区也会对应一个 Tablet,包括局部索引表和全局索引表。特别地,局部索引表的 Tablet 与主表 Tablet 会强制绑定,保证存储在一台机器上。

Logstream

日志流是由 OceanBase 数据库自动创建和管理的实体,它代表了一批数据的集合,包括若干 Tablet 和有序的 Redo 日志流。它通过 Paxos 协议实现了多副本日志同步,保证副本间数据的一致性,实现了数据的高可用。日志流副本支持在不同机器之间迁移(Migration)和复制(Replication),以达到机器管理和系统容灾的目的。

从数据存储的角度来看,日志流可以抽象为 Tablet 容器,支持添加和管理 Tablet 数据,允许 Tablet 在不同日志流之间转移(Transfer),以达到数据均衡和水平扩展的目的。

从事务的角度来看,日志流是事务的提交单位。事务修改在单个日志流内完成时可以采用一阶段原子提交;事务修改跨多个日志流时,采用 OceanBase 数据库优化的两阶段提交协议完成原子提交,日志流是分布式事务参与者。


欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/

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

评论