摘要:

OceanBase生态工具链包括四个核心组件:OAT专用于企业版产品工具部署;obd是开箱即用的部署与基础运维工具,支持集群和OCP安装;OCP提供企业级图形化管理平台,具备监控、诊断、备份恢复等高级功能;obshell作为内核原生组件,提供本地集群运维接口和轻量级Web管理页面。今天我们邀请了这些生态工具的产品负责人——治民大佬,来为大家详细介绍和解析OceanBase的生态工具链。

说明:

本文的受众主要是DBA。

如果是个人开发者:

Linux环境下,推荐使用seekdb的安装包[1]。

Windows / Mac环境下,推荐直接使用seekdb[2]的桌面版。

背景

OceanBase作为一款领先的分布式云原生数据库,其强大的功能不仅体现在内核的高性能与高可用性以及强大的物理资源云化管理上,更体现在其丰富且层次分明的生态工具链上。这些工具共同构成了一个从部署、运维到管理的完整体系。

然而,对于社区版新用户或希望从社区版迁移到企业版的用户而言,OAT、obd、OCP与obshell / obshell Dashboard等工具的定位和关系常常令人困惑。

本文旨在深入剖析这些核心工具的功能、定位及其相互关系,并为社区版用户提供一条清晰、可行的向企业版升级的路径。

一些历史

2017年商业化阶段:OceanBase正式对外商业化,我们提供了基于OAT / OCP的商业化部署方案。其中,OAT作为独立工具,有效解决了部署OCP、OMS、ODC等产品时对元数据库(MetaDB基于OceanBase)的依赖问题,随后通过OCP部署企业版集群,大幅简化了商业化交付流程,实现了安装部署的标准化。

2021年开源阶段:随着OceanBase开源,考虑到OAT仅支持Docker化部署,难以满足社区版用户对轻量化和简易部署的需求,我们选定obd作为社区版官方安装工具,并持续扩展其功能。obd不仅支持OceanBase(社区/企业版)的部署,还支持OCP(社区/企业版)的部署与升级,同时具备基础运维管理能力,有效响应了用户对命令行管控和简化OCP部署升级的诉求。

2023年轻量化解决方案演进:在服务中小型客户过程中,针对部分用户对命令行与轻量级可视化管控的需求,我们进一步推出了内核级obshell / obshell Dashboard解决方案。该方案旨在让obd / OCP或其他三方产品能够基于obshell SDK进行OceanBase数据运维,实现所有运维管理操作的状态一致性。

说明:

obd部分操作已适配obshell,OCP(社区/企业版)支持obshell的启动/停止操作。

OceanBase核心运维管理工具概览与关系

OceanBase的安装部署和运维管理工具可以大致分为三个层级:命令行工具、图形化管理平台,以及内核级工具。它们相互协作,共同服务于数据库的全生命周期管理。

1.工具简介

(1)OAT (OceanBase Administration Tool):企业版部署的辅助工具

OAT是一个相对特定的工具,主要用于OceanBase企业版产品工具的部署。

核心功能:OAT的主要功能是支持部署OceanBase企业版的产品工具。它是企业版生态中的关键环节,旨在为商业化部署场景提供便利。

定位与特点:OAT的定位比obd更加专一,它服务于企业版产品工具如OCP / ODC / OMS以及MetaDB(docker形式) 等安装部署/扩缩容/升级等。

应用场景:商业化交付场景。

(2)obd (OceanBase Deployer):开箱即用的部署与基础运维工具

obd是OceanBase最基础、最核心的集群/ OCP(企业和社区版) 安装部署工具,它扮演着“自动化部署专家”的角色。

核心功能:obd的主要职责是简化OceanBase集群/ OCP安装与部署。它支持YAML配置文件/交互式/可视化(web UI)三种部署形式,能够完成从软件包安装、环境预检查、环境配置、参数配置到集群启动的整个流程,极大地降低了部署的复杂度。

定位与特点:obd是一个安装部署工具和集中化管控工具,强调“开箱即用”。它为用户提供了高度的灵活性和可定制性,适合熟悉命令行操作的用户或需要自动化脚本集成的场景。同时obd支持RPM形式部署方案,满足了部分对容器化技术有顾虑或有严格合规要求的客户的需求,确保了部署方式的普适性和选择的多样性。

运维能力:除了安装部署,obd还提供了一定的运维能力,例如obd cluster display查看集群状态、obd cluster restart重启集群、obd cluster destroy销毁集群以及租户管理能力等。但其运维功能相对基础,主要集中在集群/租户的生命周期管理上,若需可视化管控能力,建议与obshell Dashboard配合使用。

应用场景:多集群管理、入门体验、测试环境、中小规模生产。

(3)OCP (OceanBase Cloud Platform):企业级图形化管理平台

OCP是OceanBase的企业级云管理平台,是数据库管理的“一站式中心”。

核心功能:OCP提供了一个功能强大的Web图形化界面,它不仅支持部署和管理OceanBase集群,还提供全面的集群监控、性能分析、告警管理、备份恢复、租户管理、SQL诊断与优化、自动化运维等高级功能。OCP是企业用户进行日常运维、故障排查和容量规划的首选工具。

定位与特点:OCP的定位是“企业级”和“可视化”。它极大地降低了数据库运维的门槛,使非资深DBA也能高效地管理数据库。OCP本身也有社区版和企业版之分,其功能和授权策略有所不同,具体功能差异详见OCP官网文档。

部署方式:OCP的部署通常有三种路径:一是直接使用obd配置文件形式部署;二是通过obd web命令启动一个Web安装向导,以更直观的图形化方式引导用户完成OCP的部署;三是通过OAT进行可视化部署。

应用场景: 多集群管理、大规模生产环境、企业级运维。

(4)obshell /obshell Dashboard:内核级的命令行与可视化工具

obshell / obshell Dashboard是与OceanBase深度集成的内核运维管理工具。作为OceanBase内核的原生组件,它提供了最直接的数据库操作接口。

核心功能:obshell是一个“免安装、开箱即用的本地集群命令行工具”。它不是一个独立的外部工具,而是由OceanBase Server节点(OBServer)提供的。obshell内嵌在OceanBase的RPM包中,部署集群时会自动安装。它支持集群的运维操作,并基于OBServer节点对外提供运维管理SDK。obshell Dashboard则是obshell提供的基于Web的交互式管理页面,用于监控和管理集群及租户资源。

定位与特点:obshell的定位是“内核级”和“轻量版OCP”。它与obd不同,obd是外部部署工具,而obshell是内核提供的本地运维接口。obd在管理集群时,会利用obshell提供的python SDK来执行部分运维操作。可以理解为,obd是“指挥官”,而obshell是“执行兵”。对于单机或单个集群,obshell Dashboard提供了一个轻量级的Web界面,可以作为OCP替代品,同时也可以实现OCP不可用场景下时的数据库运维管理能力。

应用场景:单集群管理、开发测试、小型生产环境。

2.工具定位与功能矩阵

3.产品工具关系图

管控使用方式建议

对于社区用户,如果不习惯OAT的管理方式,您可以选择以下两种方案进行集群运维:

  1. 直接使用obd + obshell / obshell Dashboard组合,实现命令行与轻量可视化工具结合的运维管理;

  1. 通过obd部署企业版OCP,再由OCP管理企业版集群,实现图形化集中化运维管控并通过obd管理OCP的运维管理和升级。本组合下,obd会扮演商业版OAT的角色。

工具使用建议

注意:

为避免管理混乱,建议大家在整个生命周期内仅选择其中一种方式对集群进行统一管理。

从社区版到企业版——升级路径建议

许多用户从OceanBase社区版开始,随着业务发展,对性能、稳定性、功能或官方技术支持的需求日益增长,最终希望迁移到企业版。然而直接的“原地升级”(in-place upgrade)从社区版到企业版并不可行。

主要包含2方面的原因:

OceanBase官方不支持直接将社区版集群升级为企业版。

企业版和社区版OCP在集群管理上互不兼容,各自只能管理对应版本的集群。

推荐的升级路径:数据迁移法

基于不能原地升级的事实,最可靠的方法是通过在线数据迁移来实现从社区版到企业版的平滑过渡。核心步骤如下:

(1)准备企业版环境

获取OceanBase企业版的安装包和商业许可证。

使用obd或OAT在新的服务器环境上部署一个全新的OCP企业版。

通过新部署的OCP企业版,在另一组服务器上创建一个全新的OceanBase企业版集群。确保新集群的硬件配置、网络环境等满足业务要求。

(2)执行数据迁移

利用OceanBase生态中的迁移工具社区版OMS (OceanBase Migration Service)来完成数据迁移。

为社区版集群和企业版集群创建一个数据迁移项目,配置源(社区版)和目标(企业版)。

OMS支持结构迁移,全量迁移和增量同步,可以实现业务的 不停服迁移。首先进行全量数据拷贝,然后在后台持续同步增量数据,最终在业务低峰期进行一次短暂的切换,将应用的连接字符串从社区版切换到企业版。

(3)验证与切换

在数据迁移完成后,对新企业版集群进行全面的功能和性能验证,确保数据完整性和业务逻辑正确。

验证无误后,正式将应用流量切换至企业版集群。若需反向数据同步,请使用企业版OMS创建企业版OB到社区版OB的增量数据同步链路。

监控新集群的运行状态,确保服务运行稳定。

总结与展望

部署阶段:OCP、obd、OAT提供灵活的部署方式选择

运维阶段:OCP、obd、obshell / obshell Dashboard提供不同层级和业务场景的运维能力

OceanBase为社区版用户提供了清晰的企业版升级路径。通过在线数据迁移技术,用户可在不影响业务运行的前提下,平滑升级至功能更完善、支持更全面的企业版,满足不同发展阶段的需求。在运维生态方面,OceanBase构建了OCP与obshell / obshell Dashboard的协同体系,两者互为补充,共同确保各类业务场景的全面运维支持。正确理解各工具的定位和适用场景,选择合适的管控方案,是成功部署和使用OceanBase的关键。

未来,OCP将与obshell将深度融合,构建协同一致全客户覆盖的运维体系。OCP会持续强化可视化管控与企业级能力,obshell则专注于轻量敏捷。通过两者的优势互补,我们将大幅降低数据库使用门槛,使OceanBase运维更加简单高效。这种“重轻结合”的创新模式将有力推动OceanBase在更广泛业务场景的普及应用,加速生态繁荣发展。

参考资料

[1]

seekdb的安装包: https://www.oceanbase.com/softwarecenter

[2]

seekdb: https://www.oceanbase.ai/

,
本站提供的所有下载资源均来自互联网,仅提供学习交流使用,版权归原作者所有。如需商业使用,请联系原作者获得授权。 如您发现有涉嫌侵权的内容,请联系我们 邮箱:alixiixcom@163.com