OceanBase Shell开放内核运维接口,运维更便捷

DBA在日常业务中面临着繁琐的运维管理任务,亟需高效的工具和灵活的解决方案帮助他们简化操作、提升效率。因此,命令行操作和维护工具(CLI工具),因其高效、灵活、可远程管理以及技术深度等特点,成为DBA和开发人员不可或缺的重要工具。

为了更好地满足用户对 OceanBase 更灵活、更深层次管理的需求,我们推出了obshell(OceanBase Shell)。作为OceanBase工具家族的新成员,obshell开放了内核运维接口,通过免安装、本地集群命令行工具的方式,进一步简化并增强了用户对OceanBase的管理能力。

obshell于2024年1月首次亮相,并于4月20日正式开源。本文将介绍obshell的产品定位,以及与OCP、OCP Express、OBD(OceanBase Deployer)等产品及第三方工具的协作关系,并探讨obshell的现状和未来发展规划。

一、分布式运维的复杂性思考

在探讨为何 OceanBase 选择开放运维管理 API 接口时,我们不得不深入剖析背后的逻辑及其对用户的直接价值。OceanBase 与其他数据库产品的一个明显差异点,生态工具更倾向于可视化的方式,如 OCP、OMS、ODC、OAT 乃至 OBD 等工具,来简化数据库管理过程,提升用户体验。这一选择有其深层次原因:一方面,简单易用的界面满足大多数用户的操作习惯;另一方面,通过降低管理复杂度,帮助用户显著提升用户的工作效率。正如蚂蚁集团 SRE 团队以少量 DBA 高效管理整个公司内部所有数据库的真实案例,好工具无疑是提升生产力的关键。

然而,在追求可视化带来的便捷性的同时,我们也收到了来自不同用户群体的多样化需求:

  • 高效批量操作的需求:用户普遍反映,尽管 OCP 功能强大且操作简便,但在处理如多租户同时扩缩容等批量操作时,仍期望能有一套工具集,支持通过 shell 或 Python 脚本等自动化手段,进一步提升工作效率。这种需求体现了在复杂运维场景下,用户对灵活性和高效性的追求。

  • 成本敏感型用户的诉求:对于业务量较小、集群规模有限的用户而言,部署成本成为了一个不可忽视的因素。他们更倾向于像管理 MySQL 那样,无需额外的硬件资源,通过简单的黑屏命令来管理 OceanBase,以此降低运维成本。这种需求反映了不同规模用户对于运维方式的不同偏好和考量。

  • 第三方生态厂商的整合需求:在与第三方生态厂商的合作中,我们发现许多厂商希望直接通过一套 Open API 来管理 OceanBase,而非间接通过 OCP 的 API,同时也需要避免和 OCP、OBD 自身管理功能发生冲突。这一需求不仅关乎技术整合的便捷性,更涉及到避免功能冲突和保障管理权限的独立性问题。

  • 传统数据库用户的习惯传承:对于长期使用 Oracle、DB2 等传统数据库的用户而言,他们更倾向于使用命令行工具来管理数据库,因为通过命令行管理数据库已成为一种习惯。

二、obshell进展如何,目前已经提供哪些能力?

我们在设计 obshell 时,借鉴了其他优秀产品的命令行设计理念,以便契合大部分用户的使用习惯。同时,我们创新地支持通过 Open API 方式管理和维护数据库,这符合现代化设计的理念,使开发者能更方便地操作数据库。

obshell 是 OceanBase 专为运维人员和开发人员提供的免安装、即插即用的本地集群命令行工具。它支持集群和租户的运维、监控、备份恢复、测试以及工具集等常见命令。同时,基于 OBServer 提供的运维管理 API 接口,第三方工具可以通过调用 obshell 接口,实现对同一集群的统一管理,进而降低 OceanBase 集群管理的复杂度和成本。无论是企业版还是社区版的 OceanBase,obshell 在功能上完全一致。

当前 obshell V4.2.3 目前已支持 Cluster、Agent、Task、Utilities 四个命令组(共计 15 个命令)、 25+ Open API 以及 Python & Go 的 SDK,主要支持核心的 OceanBase 集群管理功能以及应急操作能力。未来,我们将逐步完善 OceanBase 集群管理能力,包括集群缩容,集群级别备份恢复等,同时增加租户级别的操作,如创建、删除、扩缩容,备份恢复等。

三、Obshell 的定位是什么,能解决什么问题?

obshell 作为 OceanBase 与其他产品工具交互的统一入口,是底层组件,用于与其他产品的集成。因此,我们规划让 OCP、OCP Express 和 OBD 等产品都能够使用 obshell 进行相关运维操作。目前,OBD 已经基于 obshell 完成了开发适配,其他产品也将逐步进行适配。我们鼓励其他伙伴将 obshell 集成到自建运维管控系统中,从而实现对 OceanBase 的标准化管理。

图片

此外,通过 obshell ,OceanBase 实现了对用户群体的全覆盖能力:obshell  和 OCP Express 以其低成本的特性主要面向轻量级场景;而 OBD 则作为中心化的多集群管理和部署工具,主要服务中小型用户。需要注意的是,OBD 将专注于产品工具的安装部署和易用性提升,而不再扩展支持运维相关操作。您可以将 OBD 的定位视为商业版 OAT,因此不建议基于 OBD 进行系统集成。另外,OCP 作为可视化的多集群管控平台,主要服务中大型客户,同时也提供 Open API,便于与客户的自建系统集成。

最终,我们希望用户能够通过使用 obshell  和其他产品,结合最佳实践,构建简单高效的数据库管理体系,轻松管理 OceanBase 数据库。

四、写在最后

OceanBase 发展历程,我们一直秉持的理念就是:把复杂留给自己,把简单留给用户。obshell  也是基于这一理念的延伸和扩展,也是 OceanBase 数据库发展的一个必然结果。我们不得不承认,分布式数据库的运维管理复杂度远高于集中式数据库。如何让用户管理分布式数据库如同使用集中式数据库一样简单,obshell 是 OceanBase 帮助更广泛用户的更好的武器。未来,我们还会推动 OCP Express、OCP 等产品适配 obshell ,并联合第三方工具厂商适配 obshell 。

开源开放、简单易用且具备超强稳定性的数据库产品才能变得更通用,并最终在长期且残酷的市场竞争中走向真正的流行。obshell  基于当前流行的 Go 语言编写,如果您对 OceanBase 的命令行运维管理感兴趣,我们期待与您一起成长,打造更好的分布式数据库命令行运维工具! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/475289.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Amazon Bedrock:一站式多模态数据处理新体验

目录 引言 关于Amazon Bedrock 基础模型体验 1、进入环境 2、发现模型及快速体验 3、打开 Amazon Bedrock 控制台 4、通过 Playgrounds 体验模型 (1)文本生成 (2)图片生成 关于资源清理 结束语 引言 在云计算和人工智能…

go 学习网站,go例子 go demo go学习视频

1. 代码例子: Go by Example 2. b站 视频: 尚硅谷视频: 004_尚硅谷_程序的基本概念_哔哩哔哩_bilibili 3. go技术文档: fmt Go语言中文文档

Django基础配置

一.前言 前面我们说完了前端基础,现在我们开始讲后端框架了,我们今天说的是django,当然今天主要还是和大家了解一下框架和django的基础配置 二.web框架 2.1 web框架初始 在我们学习web框架的时候,我们首先得了解到web框架的本…

Hive分桶超详细!!!

1、分桶的意义 数据分区可能导致有些分区,数据过多,有些分区,数据极少。分桶是将数据集分解为若干部分(数据文件)的另一种技术。 分区和分桶其实都是对数据更细粒度的管理。当单个分区或者表中的数据越来越大,分区不能细粒度的划分数据时,我…

【AI大模型引领变革】探索AI如何重塑软件开发流程与未来趋势

文章目录 每日一句正能量前言流程与模式介绍【传统软件开发 VS AI参与的软件开发】一、传统软件开发流程与模式二、AI参与的软件开发流程与模式三、AI带来的不同之处 结论 AI在软件开发流程中的优势、挑战及应对策略AI在软件开发流程中的优势面临的挑战及应对策略 结论 后记 每…

根据条件 控制layui的table的toolbar的按钮 显示和不显示

部分代码&#xff1a; <!-----查询条件-----> <input type"date" id"StartDate" onchange"PageList()" /> <input type"date" id"EndDate" onchange"PageList()" /><!-----表格Table-----&…

uniApp项目运行到鸿蒙手机,应用图标一直是H,应用名一直是HBuilder问题

项目运行到鸿蒙手机&#xff0c;应用图标一直是H,应用名一直是HBuilder问题 应用运行到鸿蒙手机和鸿蒙模拟器&#xff0c;应用图标一直是H,应用名一直是HBuilder&#xff0c;在自动生成的harmony-configs文件夹下也没有配置的文件&#xff0c; 这时候需要你将DevEco Studio 下…

使用element-plus el-table中使用el-image层级冲突table表格会覆盖预览的图片等问题

在日常开发项目中 使用element-plus 中表格中使用 el-image的点击图片出现图片预览 会出现以下问题 表格一行会覆盖预览的图片 鼠标滑过也会显示表格 el-image 的预览层级和表格的层级冲突导致的。 解决方法&#xff1a;有两种一种是直接使用样式穿透 第二种推荐方法 使用官网推…

vue--响应式数据

1、建一个vue应用程序&#xff08;简约&#xff09; 引入外链式 <title>第一个Vue程序</title><script src"../vue.global.js"></script> </head> {{}}插值表达式 <body><!-- {{ }} 插值表达式, 可以将 Vue 实例中定义的…

Flutter:photo_view图片预览功能

导入SDK photo_view: ^0.15.0单张图片预览&#xff0c;支持放大缩小 import package:flutter/material.dart; import package:photo_view/photo_view.dart;... ...class _MyHomePageState extends State<MyHomePage>{overrideWidget build(BuildContext context) {return…

React面试宝典

React Diff 在 React 中,diff 算法需要与虚拟 DOM 配合才能发挥出真正的威力。react 会使用 diff 算法计算出虚拟 DOM 中真正发生变化的部分&#xff0c;并且只会针对该部分进行 dom 操作&#xff0c;从而避免了对页面进行大面积的更新渲染&#xff0c;减少性能的开销。 Reac…

脚手架vue-cli,webpack模板

先安装node.js&#xff0c;它是服务器端&#xff0c;用于给页面提供服务。前端学习不需要会node.js&#xff0c;只需要学会node.js衍生出来的npm命令即可。 npm 是node.js的一个工具&#xff0c;作用是进行包管理&#xff0c;npm是node.js的包管理器。 接着安装脚手架&#xff…

二叉搜索数(二叉排序树、二叉查找树)-----详解

C系列—二叉搜索树 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 前言 一、二叉搜索树 1.1、二叉搜索树概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&…

SPSS统计学:全距

概念 全距&#xff0c;也被称为极差&#xff0c;是统计学中衡量数据变异程度的一项指标。它代表了一组数据中最大值和最小值之间的差距&#xff0c;计算方式为最大值减去最小值。 用途 全距直观地揭示了总体内数值变化的幅度&#xff0c;或者说是标志值差异的范围&#xff0…

飞米仕智能门锁:以科技之名,重塑未来家居安全新篇章

在智能科技日新月异的今天&#xff0c;家居安全已悄然迈入了一个全新的智能化时代。近日&#xff0c;飞米仕智能门锁在杭州未来科技城举办了一场盛大的新品发布会&#xff0c;正式推出了其高端旗舰产品——飞米仕智能门锁K10系列。K10系列分为尊享版和旗舰版&#xff0c;售价分…

基于Java Springboot旅游民宿信息管理系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…

SpringBoot - spring.profiles.active最佳实践

文章目录 Pre概述为什么需要多环境配置多环境配置实现步骤1. 配置文件准备2. 激活特定环境方法1&#xff1a;命令行参数方法2&#xff1a;环境变量方法3&#xff1a;IDE 配置方法4&#xff1a;全局配置文件默认设置 3. 配置文件加载顺序配置生效的原理 4. 常见问题多个配置文件…

详细描述一下Elasticsearch索引文档的过程?

大家好&#xff0c;我是锋哥。今天分享关于【详细描述一下Elasticsearch索引文档的过程&#xff1f;】面试题。希望对大家有帮助&#xff1b; 详细描述一下Elasticsearch索引文档的过程&#xff1f; Elasticsearch的索引文档过程是其核心功能之一&#xff0c;涉及将数据存储到…

03 —— Webpack 自动生成 html 文件

HtmlWebpackPlugin | webpack 中文文档 | webpack中文文档 | webpack中文网 安装 npm install --save-dev html-webpack-plugin 下载html-webpack-plugin本地软件包 npm i html-webpack-plugin --save-dev 配置webpack.config.js让webpack拥有插件功能 const HtmlWebpack…

如何控制自己玩手机的时间?两台苹果手机帮助自律

对一些人来说&#xff0c;被智能手机“绑架”是一件心甘情愿的事&#xff0c;和它相处的一天中&#xff0c;不必面对现实的压力&#xff0c;它就像个“舒适区”。这是因为在使用手机的过程中&#xff0c;应用程序&#xff08;尤其是游戏和社交媒体应用&#xff09;会不断刺激大…