OceanBase PG = Partition Group(分区组)


1️⃣ 基本定义

  • PG = Partition Group(分区组)
  • 一个 PG 里面包含 若干个副本(Replica),负责存储某一部分表的数据。
  • OceanBase 将数据按 Tenant → Table → Partition → PG → Replica 的层级管理。

2️⃣ 层级关系

层级说明
Tenant租户,相当于一个数据库实例
Table表,属于某个 Tenant
Partition表的分片(如果表分区)
PG分区组,每个 PG 存放一个或多个分区的数据副本
Replica副本,一个 PG 可以有多个副本(通常 3 个)分布在不同节点上

所以 PG 是 数据分片的副本集合,是 OceanBase 数据一致性与高可用的最小管理单元。


3️⃣ PG 的特点

  1. 高可用

    • 一个 PG 通常有 3 个副本(leader + follower + learner)。
    • Leader 负责读写请求,Follower 提供备份和读取。
  2. 分布式存储

    • 不同 PG 的副本分布在不同的 observer 节点上。
    • 一个大表可能跨多个 PG,每个 PG 存储表的一部分数据。
  3. 数据迁移 / 负载均衡单位

    • OB 调度节点做扩容/迁移时,都是以 PG 为单位搬迁数据。
    • PG 的迁移不会影响其他 PG 的正常读写。

4️⃣ 在 PG 模式与 PG + PostgreSQL 模式的区别

  • OB 有 MySQL 模式PostgreSQL 模式
  • PostgreSQL 模式下,你会看到 PG 概念更加明显,因为每个 PG 就是一个逻辑 分片 + 副本集合
  • MySQL 模式下,表也会有 PG,但对使用者来说是透明的(你直接访问表即可,PG 在后台管理)。

5️⃣ 简单示意图

Tenant (mysqlt1)
 └─ Table (user_info)
     ├─ Partition 1
     │   └─ PG 101
     │       ├─ Leader Replica -> Node1
     │       ├─ Follower Replica -> Node2
     │       └─ Follower Replica -> Node3
     └─ Partition 2
         └─ PG 102
             ├─ Leader Replica -> Node2
             ├─ Follower Replica -> Node3
             └─ Follower Replica -> Node1

每个 PG 有自己独立的 Leader/Follower,读写请求会路由到 Leader。


总结

  • PG = Partition Group = 分区组 + 副本集合
  • PG 是 OB 的最小管理和调度单位
  • PG 决定数据的高可用、分布式存储和负载均衡策略

下面给你画一张OceanBase PG(Partition Group)架构的完整示意图,包括 Tenant → Table → Partition → PG → Replica 的关系,清晰直观。


🧩 OceanBase PG 架构示意图(ASCII 图)

┌──────────────────────────────────────────────────────────────┐
│                        Tenant: mysqlt1                       │
│     (每个租户都有独立的资源 + 数据 + 事务管理)                │
└──────────────────────────────────────────────────────────────┘
                         │
                         ▼
┌──────────────────────────────────────────────────────────────┐
│                       Table: order_info                      │
│         (表可能有 0/1/N 个 Partition,视分区策略而定)        │
└──────────────────────────────────────────────────────────────┘
                         │
                         ▼
       ┌──────────────────────────┬──────────────────────────┐
       │      Partition 0         │      Partition 1         │
       │  (非分区表则只有1个)      │   (范围/哈希分区)        │
       └──────────────────────────┴──────────────────────────┘
                         │                    │
                         ▼                    ▼
            ┌──────────────────┐   ┌──────────────────┐
            │  PG 1001         │   │  PG 1002         │
            │(分区组/最小管理单元)│   │(分区组/最小管理单元)│
            └──────────────────┘   └──────────────────┘
                 │   │   │               │   │   │
                 ▼   ▼   ▼               ▼   ▼   ▼
     ┌────────────┬────────────┬────────────┐   (副本)
     │  Leader     │  Follower  │  Follower  │
     │ Node1       │  Node2     │  Node3     │
     └────────────┴────────────┴────────────┘

📌 图示说明

✔ 1. Tenant(租户)

OceanBase 多租户架构,每个租户相当于一个“独立的数据库实例”
不同租户之间数据隔离、资源隔离。


✔ 2. Table(表)

一个租户下可以有多张表。


✔ 3. Partition(表分区)

表可能:

  • 不分区 → 1 个分区
  • Range / List / Hash 分区 → N 个分区

✔ 4. PG = Partition Group(分区组)

PG 是 OB 最核心的概念,是最小的数据调度、复制、高可用单元。

每个 PG 下包含多个副本(通常为 3):

  • 1 个 Leader(负责事务提交、读写)
  • 2 个 Follower(副本 + 提供只读能力)

OceanBase 的数据迁移、均衡、备份、恢复都以 PG 为粒度 进行。


✔ 5. Replica(副本)

PG 会在多个节点(observer)上放置多个副本:

副本类型功能
Leader处理写入、强一致读取
Follower接收日志同步,用于 HA、高可用
学习者副本(可选)备份或归档使用

📌 更直观的全流程示意(分布式)

Tenant
  ↓
Table
  ↓
Partition(s)
  ↓
┌───────────┐
│    PG     │  <--- OceanBase 的最小调度单元
└───────────┘
  ↓   ↓   ↓
Replica Leader/Follower 分布三个不同 observer 节点

📌 为什么 OB 要引入 PG?

PG 解决分布式数据库的 3 个核心问题:

高可用
用副本 + Leader 机制实现。

负载均衡
以 PG 为单位迁移,避免一次性搬迁大表。

弹性扩容
只需把 PG 迁移到新节点即可。


如果你愿意,我还能:

✅ 画 PG 迁移流程图
✅ 画 事务在 PG Leader 上执行的流程图
✅ 画 备份(Backup Set)与 PG 之间的关系图

基于TROPOMI高光谱遥感仪器获取的大气成分观测资料,本研究聚焦于大气污染物一氧化氮(NO₂)的空间分布与浓度定量反演问题。NO₂作为影响空气质量的关键指标,其精确监测对环境保护与大气科学研究具有显著价值。当前,利用卫星遥感数据结合先进算法实现NO₂浓度的高精度反演已成为该领域的重要研究方向。 本研究构建了一套以深度学习为核心的技术框架,整合了来自TROPOMI仪器的光谱辐射信息、观测几何参数以及辅助气象数据,形成多维度特征数据集。该数据集充分融合了不同来源的观测信息,为深入解析大气中NO₂的时空变化规律提供了数据基础,有助于提升反演模型的准确性与环境预测的可靠性。 在模型架构方面,项目设计了一种多分支神经网络,用于分别处理光谱特征与气象特征等多模态数据。各分支通过独立学习提取代表性特征,并在深层网络中进行特征融合,从而综合利用不同数据的互补信息,显著提高了NO₂浓度反演的整体精度。这种多源信息融合策略有效增强了模型对复杂大气环境的表征能力。 研究过程涵盖了系统的数据处理流程。前期预处理包括辐射定标、噪声抑制及数据标准化等步骤,以保障输入特征的质量与一致性;后期处理则涉及模型输出的物理量转换与结果验证,确保反演结果符合实际大气浓度范围,提升数据的实用价值。 此外,本研究进一步对不同功能区域(如城市建成区、工业带、郊区及自然背景区)的NO₂浓度分布进行了对比分析,揭示了人类活动与污染物空间格局的关联性。相关结论可为区域环境规划、污染管控政策的制定提供科学依据,助力大气环境治理与公共健康保护。 综上所述,本研究通过融合TROPOMI高光谱数据与多模态特征深度学习技术,发展了一套高效、准确的大气NO₂浓度遥感反演方法,不仅提升了卫星大气监测的技术水平,也为环境管理与决策支持提供了重要的技术工具。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
### 查询 OceanBase 备集群中 v$partition 表 role 为 3 的含义及作用 在 OceanBase 数据库中,`v$partition` 是一个系统视图,用于展示分区表的详细信息。根据提供的参考内容以及 OceanBase 的设计规范,`role` 字段表示分区副本的角色类型。当 `role` 等于 3 时,表示该分区副本是一个 **日志副本**(Log Replica)[^1]。 #### 日志副本的作用 日志副本主要用于分布式数据库的高可用性和容灾场景。其主要功能包括以下几点: - **数据同步**:日志副本会实时接收主副本(Leader)的日志更新,并将其持久化到本地存储中。 - **读取支持**:尽管日志副本不参与主副本的数据写入操作,但在某些特定场景下,它可以提供只读查询支持,从而分担主副本的查询压力[^3]。 - **故障恢复**:当主副本发生故障时,日志副本可以作为候选者参与选举,以快速恢复服务。 #### 查询相关 SQL 示例 为了获取备集群中 `v$partition` 表 `role=3` 的相关信息,可以使用以下 SQL 查询语句: ```sql SELECT table_id, partition_id, svr_ip, svr_port, role, member_list, status FROM v$partition WHERE role = 3; ``` 上述查询返回的结果中,各字段的含义如下: - `table_id`:表示分区所属的表 ID。 - `partition_id`:表示分区的唯一标识。 - `svr_ip` 和 `svr_port`:表示该分区副本所在的服务器 IP 和端口。 - `role`:表示分区副本的角色类型,其中 `3` 表示日志副本。 - `member_list`:表示该分区副本所属的成员列表。 - `status`:表示分区副本的状态,例如正常、异常等[^4]。 #### 配置与监控建议 在分布式数据库环境中,日志副本的健康状态对系统的稳定运行至关重要。因此,建议增加对日志副本的低频监控配置。例如,可以通过设置参数 `partition_table_check_interval` 来定期检查分区表中不存在的副本,并及时告警[^5]。 此外,还需关注主副本与日志副本之间的同步延迟。如果延迟过高,可能会影响系统的整体性能和一致性。可以通过以下 SQL 查询同步延迟: ```sql SELECT partition_id, delay_time FROM __all_virtual_clog_stat WHERE role = 3; ``` #### 注意事项 在实际运维过程中,需确保备集群的时钟同步性,避免因时间偏差导致的日志副本同步失败问题。同时,合理配置日志副本的数量和分布策略,以提升系统的可用性和容灾能力[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值