OBCP第七章 OB迁移、备份与恢复-迁移服务

OMS是OceanBase提供的数据迁移服务,支持在线迁移和实时同步数据到OceanBase,兼容多种数据源如MySQL、Kafka。它能确保业务不停服,提供毫秒级延迟的数据同步,并可用于数据灾备、实时数据仓库等多种场景。用户可以动态管理迁移任务,保证数据一致性并监测同步性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oceanbase迁移服务

OceanBase 迁移服务(OceanBase Migration Service,OMS)是 OceanBase 提供的一种支持同构或异构RDBMS与OceanBase之间进行数据交互的服务,具备在线迁移存量数据和实时同步增量数据的能力。

支持多种数据源:OMS支持MySQL、 Kafka等多种类型的数据终端与OceanBase 进行实时数据传输

在线迁移无感知:在不停服的情况下,可以通过OMS无缝迁移数据至OceanBase。应用切换至OceanBase数据库后,OceanBase数据库上所有的变更数据会实时同步至切换前的源端数据库

安全可靠高性能:OMS能够实时复制异构的IT基础结构之间大量数据的毫秒级延迟;可以应用于数据迁移、跨城异地数据灾备、应急系统、实时数据同步、容灾、数据库升级和移植等多个场景

实时同步助解耦:OMS支持OceanBase两种租户与自建Kafka、RocketMQ之间的数据实时同步,可以应用于实时数据仓库搭建、数据查询和报表分流等业务场景

OMS架构概览:

OceanBase迁移服务(OceanBase Migration Service,OMS)连接的两端分别是待迁移的源业务数据库和目标端OceanBase数据库。

下图为OMS的系统架构图:

OMS分层功能体系

服务接入层

主要包括客户端迁移服务的交互、各种类型数据源的管理、迁移任务的录入、OMS各个组件模块的运维和监控,以及告警设置等。

流程编排层

主要负责实现上层表结构同步、启动全量数据同步、增量数据同步、数据校检和数据订正,以及链路切换等任务的执行细节。

组件链路层

组件链路层包括以下模块:

负责全量数据的迁移和校检,并针对校检不一致的数据生成订正 SQL

脚本的 Light-Dataflow 模块。

负责数据库增量日志的读取、解析和存储的 Store 模块。

负责向目标端数据库并发写入的JDBCWriter模块。

负责向目标端消息队列增量写入的Connector模块。

负责组件状态监控的Supervisor模块。

OMS功能-数据迁移

迁移任务

迁移任务是 OMS 数据迁移功能的基本单元。OMS 在创建迁移任务时,可以指定的最大迁移范围是数据库级 别,最小迁移范围是表级别。迁移任务的生命周期包括结构迁移、全量数据迁移和增量迁移同步链路的全部流程管理

迁移类型

OMS支持Schema结构迁移、全量数据迁移以及增量数据迁移,同时支持数据校验功能

利用OMS实现平滑去O迁移方案

数据实时同步 + 快速切换 + 回滚预案

OMS功能-数据同步

功能特性:

支持OceanBase的两种租户(Oracle 和 MySQL)与自建 Kafka、RocketMQ 之间的实时数据同步

支持Sybase ASE和自建RocketMQ之间的实时数据同步

支持OB_MySQL/Oracle/MySQL和DataHub之间的实时数据同步

支持库、表和列三级对象名映射

同步对象的选择粒度为表、列,您可以根据需要选择同步的对象。OMS 可以实现对源端实例和目标实例的库名、表名或列名不同的两个对象之间进行数据同步。

支持消息队列处理工具作为数据同步的目标端。

支持OceanBase物理表和自建Kafka数据源之间的数据实时同步

支持数据过滤。

支持根据 DML 类型过滤投递消息,过滤需要同步的数据

完善的性能查询体系。

数据同步提供同步延迟、当前同步位点等数据,便于您查看同步链路的性能

动态管理数据同步任务。

支持在数据同步过程中动态增加同步数据表,并支持回拉位点重新投递增量数据

OMS功能总结

数据库不停服迁移

在传统的数据库停机迁移的方式进行数据迁移对业务影响较大

OMS不停服数据迁移功能不影响迁移过程中源数据库持续对外提供服务,能够最小化数据迁移对业务的影响

在完成结构迁移、全量数据迁移和增量数据迁移后,源数据库的全量和增量数据均已实时同步至目标数据库中,数据校验通过后,业务可以从源端切换至目标端

实时数据同步

OMS的数据同步功能支持实时同步OceanBase、Sybase等数据库的增量数据至自建的Kafka、RocketMQ等消息队列

OMS支持OceanBase物理表和自建的Kafka等数据源之间的数据实时同步,推荐用于云 BI、实时数据仓库搭建、数据查询和报表分流等多种业务场景

### OceanBase 存储引擎第二章:高级技术详解 OceanBase 数据库作为一款高性能、可扩展的分布式关系型数据库,在其存储引擎的设计上采用了多种先进的技术和优化策略。以下是关于 OceanBase 存储引擎高级技术的一些核心内容。 #### 1. 多副本一致性机制 OceanBase 使用 Paxos 协议来实现多副本之间的一致性[^1]。Paxos 协议能够确保在分布式环境中,即使部分节点发生故障,数据仍然保持一致性和可靠性。具体来说,OceanBase 的主可用性区(Primary Zone)负责管理分区组内的领导者选举以及写入操作的日志同步过程[^2]。 #### 2. 微块索引压缩 为了提高查询性能并减少磁盘 I/O 开销,OceanBase 实现了一种基于微块(Micro Block)的高效索引结构。这种索引不仅支持快速定位目标记录位置,还允许对每一块单独应用适合的数据压缩算法以节省空间占用率[^3]。此外,通过预读取相邻区块的方式进一步提升了随机访问效率。 #### 3. 分层存储体系 考虑到不同类型工作负载对于延迟敏感度差异较大这一事实,OceanBase 设计了一个分层次别的物理介质分配方案——热数据优先驻留在高速SSD设备之上;而冷数据则被逐步迁移到成本更低但速度较慢的传统HDD硬盘里去完成长期归档保存的目的.[^4] #### 4. 并发控制事务隔离级别 针对大规模并发场景下的锁争用问题,OB引入了MVCC(Multi-Version Concurrency Control)机制来降低传统两阶段锁定所带来的开销的同时维持较高的ACID属性保障水平.此同时它也提供了从READ UNCOMMITTED到SERIALIZABLE全范围可供选择的不同程度之间的平衡点让用户可以根据实际需求灵活调整自己的业务逻辑运行环境设置参数. ```sql BEGIN TRANSACTION ISOLATION LEVEL SERIALIZABLE; SELECT * FROM table_name WHERE condition FOR UPDATE; COMMIT; ``` 上述SQL语句展示了如何在一个串行化级别的事务中执行带更新意图的选择操作实例演示代码片段.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柯西极限存在准则

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值