从入门到精通带你快速掌握学习OceanBase开源版实践方法和步骤
本文将介绍关于使用OceanBase分布式数据库的安装部署实践,协助社区用户快速上手,同时希望可以帮助正在探索OceanBase的企业和个人用户快速实现 OceanBase 选型与落地。
作者:马顺华
从事运维管理工作多年,目前就职于六棱镜(杭州)科技有限公司,熟悉运维自动化、OceanBase部署运维、MySQL 运维以及各种云平台技术和产品。并已获得OceanBase认证OBCA、OBCP证书。

背景:
1、当使用 K8S、Docker容器化编排技术受到限制,假若Oracle、MySql数据存储等数据库软件不再向我们提供正常的服务?
2、我们在做项目工程中,若是没有这些数据库技术去提供正常的服务,如何能够去及时地采取补救的措施,使得业务能够平滑过渡,做到让用户无感知体验?
3、在现有业务系统产品上的适配,推进国产化数据库进程,包括自创自主可控等领域,都值得作为技术人的我们去深思......
一、为什么选择 OceanBase?
“当下,5G、物联网、人工智能、云计算都是时下最热点的话题,而“新基建”项目有效运行需要一系列的配套保障,数据库作为IT基础设施必然也是新基建中非常重要的一环。“分布式+云”无疑是数据库未来发展的关键趋势。”实践证明,OceanBase正在成为企业核心系统升级的首选。“企业选择OceanBase集群部署,不仅在数据上从具备抵御机房故障提升到具备容灾的能力,同时内置的多租户隔离的能力。对于有着数据关系数多,有着大并发量的企业,OceanBase非常友好的支持了大数据集群的读写场景,经过多次高并发测试,运行稳定,吞吐量高,性能优异,很好的满足企业当前业务数据量的不断增长的管理与使用需求,让企业大数据系统多平台架构上变的异常简单。”
1、业务挑战
- 对于大数据库每天写入量万级的写入量的企业,同时需要支持数百每秒的写入峰值。且写入时间随着数据量增大,并发增多,耗时很长,频繁超时、任务异常中断等性能瓶颈,同时数据出仓入仓转存也变得缓慢、效率低下,对数据库的性能提出了挑战。
- 企业对数据库系统的可用性要求非常高。传统数据库为了保证高可用方案。在故障场景下恢复时间会比较长,同时也引入了大量的复杂度。
- 成本和性能,对于传统数据库而言,分为设备成本和数据库产品成本。对于多用户且数据量庞大用户收费方式会带来非常高昂的成本。
2、优化结果
- 利用 OceanBase数据库先进的分布式的特性,把单表数据群集模式自动分布到服务器上,多台服务器同时支持每天的高强度写入,极大的提升了公司业务系统的吞吐量。
- 利用 OceanBase出色的容灾特性,具备任意时间,任意服务器,出现不可抗拒因素灾难时,即使某台服务器异常,也不会影响用户访问。而且完全无需人工接入的无损自适应容灾,RPO=0,RTO<30 秒。
- 借助 OceanBase提供的多租户模式,最小成本满足多种业务需求,在集群上按照业务重要程度与流量配比分配资源策略,在资源的共享与隔离上取得了最佳的平衡。满足企业多应用系统的管理与使用需求,极大的减少了 IT 基础设施的采购成本。
- OceanBase作为一个通用的分布式关系数据库系统,提供了丰富的分区方式。提供在线的业务无感知的动态分区能力,集群扩容只需要简单的增加存储节点,以及做一些简单的语句操作即可,完全对业务透明,解决了我们业务数据爆发式增长的问题。
- OceanBase兼容 MySQL5.6 版本大部分功能,完全覆盖业务的需求,业务表可以像使用 MySQL 那样去使用OceanBase,不需要业务表做过多的逻辑改造。在集群中,每个节点的角色关系都是对等的,每个节点都可以提供读写能力,大大提高了系统整体的吞吐能力,这也满足了我们需要快速写入和查询数据的诉求。同时,每个节点都可以部署在廉价的 PC 服务器上,极大的减少了运营和维护 IT 基础设施的工作量,从而降低了运行和维护的成本。
3、应用场景解决方案:
3.1、平滑迁移解决方案


3.2、帮助企业实现分布式数据库的平滑迁移
OceanBase迁移服务是OceanBase为您提供的全流程数据迁移解决方案,全面帮助企业的应用和数据迁移到OceanBase上,享受分布式数据库的技术。
3.3、帮助企业实现数据可靠性
在企业大数据系统环境下通常对数据可靠性有更高的要求,OceanBase每一次事务提交,对应日志总是会在多个数据中心实时同步,并持久化,实现了真正金融级别的可靠性要求。

3.4、让数据库适应飞速增长的业务
对于大数据企业来说,随着业务的飞速成长,数据库带来成倍压力。OceanBase作为一款真正意义的分布式关系型数据库,由一个个独立的通用计算机作为系统各个节点,数据根据容量大小、可用性自动分布在各个节点,当数据量不断增长时,OceanBase可以自动扩展节点的数量,满足企业多方业务需求。


3.5、连续不间断的服务
连续不间断的服务,通常意味着给客户最流畅的产品体验。企业使用OceanBase分布式数据库群集部署,如果某个节点出现异常时,可以自动剔除此服务节点,该节点对应的数据有多个其他副本,对应的数据服务也由其他节点提供。甚至当某个数据中心出现异常,OceanBase可以在短时间内将服务节点切换到其他数据中心,可以保证业务持续可用。

3.6、水平扩展方案
OceanBase作为一款原生的分布式关系数据库,通过扩容节点就能够获得计算以及存储的水平扩展。


二、如何学习OceanBase?
OceanBase的发展会越来越广,无论是dba还是研发人员,越早开始研究越能帮助个人提升能力。OceanBase从2021年6月1日开源了,而且阿里非常坚定的支持OceanBase开源。在国际大环境下,OceanBase得到比过去更多的机会。另外,OceanBase在过去阿里的成长过程中解决了无数的问题,同样的道理,任何一家小的公司成长起来,很有可能会遇到过去阿里曾遇到过的问题,这个时候。OceanBase都可以帮公司来解决这些问题,帮助公司更快的成长,而这些都给了OceanBase更多的业务场景。
资源投入
机器数量:分库分表方案底层多数采用一主两从方式部署,如不考虑单机多实例方式,则需要最少6台服务器。如果学习使用OceanBase则可以用3台机器部署一套完整的集群。
存储: 官方建议是选择SSD存储,OB中会有两次压缩,第一次是 encoding,第二次是通用压缩,通用的压缩算法并不是针对数据库做压缩的,压缩比例有限。encoding能实现更大的压缩比。
生态
OceanBase前几年一直是闭源状态,很少有人能使用上,但OceanBase自从2021年6月1日开源后推出了一系列培训计划,也是想让更多的人能接触使用到OceanBase,目前也在加大社区的推广。
OceanBase 集群机器资源要求 机器可用内存不少于 10G。 注意:此处的可用内存指剩余可用内存。 机器磁盘目录空间不少于 10G。若少于 10G 后续使用过程中可能会出现问题,如:遭遇空间目录问题等。 CPU 建议至少有 2 个逻辑 CPU。
建议:先装一个Docker测试OB。笔记本16g可以跑一个单副本OB集群。如果有64G内存的虚拟机,就可以测试集群了。高可用,扩容,多租户都可以体验。
OB开源了,有专属社区博客https://www.oceanbase.com/,还有钉钉群微信群,OB开源团队非常乐于跟用户交流OB技术。

三、推荐大家学习OceanBase的方法和步骤
1、只有用起来, 在使用的过程中, 必然会遇到非常多的问题, 才能让自己真正对这个系统有一个了解,才知道这个系统是干什么的?
2、带着问题去学习,不停求解或者寻找帮助,最后解决问题,当有解决到了一定程度的问题后, 再系统性学习理论, 再反过来看实际系统, 这样你就会获得很多;
3、如果在企业或学校负责数据库相关的工作,那可能在这一点上会比较顺利;
4、如果只是一名普通的研发人员,可以将过去自己使用的数据库,试着切换到OceanBase上;
5、如果是一名学生 或者八杆子也达不到数据库, 那我推荐你加入到OceanBase的社区, 研究OceanBase社区用户的问题。
四、学习基本知识
大致可以按这个学习线路:
1、先考个OceanBase的OBCA认证
推荐考个OceanBase的认证,尤其是OBCA 是免费的,可以到网站上https://oceanbase.com去考一下,在官方文档和老师的带领下通过认证快速了解入门
1.2、参与到OceanBase的线上公开课和线下培训活动
OceanBase在线课程学习视频


需要认真观看在线的视频课程,里面有很多考点。
培训学习材料PDF后面的模拟题,里面有很多考点和考试题是一模一样的。
1.3、考试报名OceanBase OBCA 认证
报名时,需要填写个人信息,邮箱、手机号必须是钉钉注册的手机号,考试前会收到考试通知的邮件。
1.4、考试
考试是60分钟,53道题,有单选题、多选题和判断题,只有一次机会。
考试完成后,就会知道分数,证书一般三到五天在官网上自行下载打印。
另附证书:

加油加油,祝大家顺利通过考试!
2、自己动手实验学习和总结发表文章
已下是我自己动手一步步安装部署实验教程供大家参考:来源墨天轮
https://www.modb.pro/db/374506 详解OceanBase数据库备份恢复保障数据安全
https://www.modb.pro/db/365929 DBeaver连接OceanBase数据库访问MySQL和Oracle租户
https://www.modb.pro/db/365814OceanBase 借助OBD三节点集群部署+集群扩容+租户扩缩容
https://www.modb.pro/db/335677 OceanBase常用命令、修改设置集群参数
https://www.modb.pro/db/337263 使用mysqldump和datax从mysql数据迁移到OceanBase
https://www.modb.pro/db/324460 使用OBD自动部署三节点OceanBase文档
https://www.modb.pro/db/328171 OceanBase手动部署三节点OBserver文档
https://www.modb.pro/db/322997 OceanBase 单节点手动部署OB文档
https://www.modb.pro/db/250245 Docker单节点自动化部署OB集群
以上发表的文档参加墨天轮愿原力与你同在,OceanBase第二届技术征文大赛!获得三等奖。
https://www.modb.pro/db/379904 收官!OceanBase 第二届技术征文大赛获奖名单公布!


昵称:shunwah 就是我啦

3、与社区、社群的老师小伙伴们多交流,共同进步,融入组织中
3.1、推荐多关注几个网站和平台 OceanBase 社区版博客, OceanBase公众号,OceanBase视频号,墨天轮https://www.modb.pro/这几个信息源都偏实践。


3.2、带着问题去解决


4、OBCP的认证
如果是dba, 那必然会遇到很多问题, 到开源社区去咨询, 在寻求帮助的过程中, 也不断的锻炼自己, 让自己的知识越来越丰富, 对一些复杂问题又一些更深入的学习. 对于dba来说, 这个时候, 推荐考一个OBCP的认证.
OBCP,网络上有系列培训机构的课程,可以搜下,还有题库和实验过程。但价格也贵。
了解学习下理论知识,跟着视频看看实验步骤,分布式数据库大同小异,工作上实践下就通了。


OBCP的考试采用线下考试,奥星贝斯授权ATAC为考生提供报名、缴费、考试等服务。ATAC线下考点覆盖全国主要城市,您可以就近选择。OBCP考试题目一共66道(从题库中随机抽取)。其中10道判断题(每题0.5分)、34道单选题目(每题1.5分)、22道多选题目(每题2分),总分100分,通过分数为80分。报考OBCP考试前,必须获得OBCA证书。OBCP考试时间为90分钟,过程中无法暂停,请提前安排好时间。
提示:OBCP的考试采用线下考点机房考试,OBCP考试题目一共66道

另附证书:


5、 如果是研发同学
如果是在真实场景中,使用到OceanBase,那可以就带着这些问题,寻求社区的帮助,并尝试自己来解决问题,让OceanBase开源社区的同学来指导自己。
6、如果是学生
那就参与到社区的建设当中, 先解决 github.com/oceanbase/oceanbase/issues 中简单的issues。
五、系统学习
5.1 数据库博大精深,需要系统学习数据库理论数据, 推荐有很多经典的课程, 自己可以买书或在网上搜索。
5.2 这个时候,推荐学习OceanBase开源社区共创的《实战教程电子书》 在OceanBase社区版博客和阿里云都有发布。这本与开源社区用户共创的电子书共八章,从 OceanBase 数据库概述开始,到安装部署,到使用,到迁移、再到运维、测试、性能诊断,最后是 OceanBase 生态工具的使用,可以带你全面掌握 OceanBase 实战使用技能!
本人(马顺华)有幸成为社区版教程文档贡献者之一


码住学习!OceanBase 社区版入门到实战教程电子书发布啦!全面掌握 OceanBase 实战技能就看这本书,扫码下载起来慢慢看


官方社区版教程文档宣传海报和官网文档中心都有署名(马顺华)贡献者之一


写在最后
OceanBase社区版在多方面的性能都可满足企业快速发展的业务需求。OceanBase社区版适用企业多应用场景。非常感谢OceanBase 开源社区的所有工程师和技术支持人员,从开源中来,到开源中去。有很多同学都是用开源产品的,可能也是开源软件的创立者,我们是开源软件的受益者,所以我们也要为开源做出我们的贡献。未来我也会深度参与社区建设,输出更多优秀的实践案例,帮助社区用户探索更多的业务场景。




