DBA 入门教程(三)|如何完成一次高质量的 OceanBase 数据迁移

在教程直播前两期,我们介绍了 OceanBase 的安装部署和开发使用入门 ,戳链接快速了解文字版。

实战第一章:OceanBase 数据库概述

实战第二章:如何部署 OceanBase 社区版章节介绍

实战第三章:如何使用 OceanBase 社区版

先来一波前情回顾:

  • ceanBase 以集群形态部署运行,提供服务的是租户。租户拥有资源,是集群资源的子集。租户之间资源隔离(CPU 和内存),数据访问完全隔离。OceanBase 的租户按需分配,立即申请,后期可以根据业务压力在线调整(弹性伸缩)。

  • OceanBase 社区版的租户兼容 MySQL,可以使用 MySQL 客户端工具连接,差别只是在用户名格式上。OceanBase 的租户用户名完整的格式包含:集群名、租户名和用户名(租户里的用户)。客户端建议连接 OBProxy 来间接访问 OceanBase 集群。OceanBase 租户也支持开源的客户端 DBeaver(地址:dbeaver.io)、官方客户端ODC (全称 OceanBase Developer Center)等。

  • OceanBase 官方客户端ODC 功能包含连接、数据库对象管理、数据查询、数据库导出和导入等。

  • OceanBase 租户的调优主要通过调整租户变量(variables)进行。部分变量可以在 OceanBase 集群内部租户 sys 里通过参数(parameter) 调整(带上 tenant=‘租户名’) 实现。

  • OceanBase 租户的独特的分布式能力包含分区表、复制表和表分组技术。分区表是水平拆分常用方案,业务只需要指定拆分策略,数据拆分对业务透明,SQL 和事务对业务也完全透明。表分组可以减少关系密切的业务表之间的跨节点请求和事务,复制表能将业务配置表全同步到租户所有节点上,消除配置表跟分区表之间的跨节点查询。

直播课后,我们学习群内也是互动热烈!

感兴趣的小伙伴可以扫描下方二维码进入交流群:

image

12月9日晚 19:30,我们也推出了 OceanBase 社区版教程直播第三期,为大家详细介绍、一次聊透 OceanBase 的数据迁移。

学习本次课程,你将了解 OceanBase 的常用数据迁移工具、方案及其优缺点,同时打通 MySQL 到 OceanBase 的数据生态。

众所周知,数据迁移是绝大多数 DBA、研发、数据从业者的必备技能之一,具有广泛的应用场景,例如数据库逻辑升级、机房搬迁切换、数据库选型替换等。而用户在选择使用OceanBase时,碰到的第一类问题往往就是数据迁移,例如:

  • 如何实现 MySQL 与 OceanBase 之间的数据迁移?

  • 大数据量迁移到 OceanBase 时,如何提升迁移速度?

  • OceanBase 如何实现数据平滑迁移,不停机中止业务?

  • OceanBase 增量迁移如何做到最高效(延迟最少)?

  • 如何实现 OceanBase 与 MySQL 的数据双向实时同步?让数据可以自由流动到其他上下游系统?

如何实现数据迁移?怎么实现优秀的数据迁移?在保证数据稳定准确的前提下,我们总结了优秀的数据迁移的三个特点:

第一,操作简单。 用户无需投入过多的学习成本,而 OceanBase 的数据迁移兼容多种市面上常见的数据库数据迁移组件:MySQLDUMP,DBCAT,DataX,OBDUMPER,OBLOADER 等。而 OceanBase 也根据以上不同的迁移组件为用户提供详细的迁移方案,方案简单易懂,学习成本低,用户可根据自身情况选择。

**第二,平滑迁移。**对用户而言,时间就是金钱,如果由于数据迁移,导致业务暂停或者影响业务服务,是很难被用户接受的。OceanBase 在实现数据迁移的过程中,充分考虑了平滑迁移的问题,立足将业务的影响降到最低。

第三,迁移速度快。 迁移速度也是用户关注的一项重要指标,OceanBase 针对多种不同组件的迁移方案,都对其迁移性能做了分析和调优,罗列迁移过程中的源端、目标端、迁移组件的相关优化点,指导用户完成高效迁移。

为此,我们的教程团队根据用户的实际经验、场景,提供了多种解决方案:

  • 如何使用 MySQLDUMP 和 MySQL 客户端离线迁移数据到 OceanBase。MySQLDUMP 的脚本需要做一些微调;

  • 如何使用 DataX 将所有传统关系型数据库(Oracle/MySQL/SQL Server/DB2)、非关系型数据库(Hadoop/HBase/MongoDB)、NewSQL(分布式MySQL)跟 OceanBase 进行双向全量数据迁移。简单易懂,学习成本低,支持并行;

  • 如何使用 Canal 将 MySQL 的数据增量实时同步到 OceanBase 。开源产品的方案,企业也可以参考 Canal 自己定制 MySQL 的增量数据同步方案;

  • 如何使用 OBDUMPER 和 OBLOADER 导出和导入 OceanBase 数据。120 亿某客户订单业务单表数据导出为多个 csv 文件耗时 1 小时,多个 csv 文件分到多台机器并行导入到 OceanBase 只要 2小时。