关于数据库:不降功能只降资源六个应用场景带你了解OCP-Express

1次阅读

共计 7532 个字符,预计需要花费 19 分钟才能阅读完成。

欢送拜访 OceanBase 官网获取更多信息:https://www.oceanbase.com/


作者简介: 谢志刚,OceanBase 管控平台(OCP)技术负责人,主持 OCP 的整体研发工作。在云计算及数据库畛域深耕多年,对数据库管控、数据库自动化运维、数据库多云部署等方向具备粗浅的了解和丰盛的实践经验。

在 OceanBase 开源后,为了帮助用户更加高效地治理 OceanBase 集群,升高用户对 OceanBase 的学习老本及企业的 IT 运维老本,咱们推出了社区版 OCP(OceanBase Cloud Platform),为用户提供了 OceanBase 集群的图形化治理能力,包含数据库组件及相干资源(主机、软件包等)的全生命周期治理、备份复原、监控告警等。这样一来,用户可能实时把握 OceanBase 的运行动静,并将 DBA 从繁冗的运维工作中解放出来。

然而,随着业务摸索的不断深入和最佳实际的一直积攒,OCP 也遇到了更多场景的挑战。

社区版 OCP 定位于数据库集群的治理平台,面向规模化治理场景,对于单集群、小规模集群以及集体开发者不太敌对。对于集体开发者来说,如果要体验 OCP 的治理能力,须要付出肯定老本。因为 OCP 是中心化部署的,因而须要独自的机器进行装置,且部署和运维都有肯定门槛。并且为了实现平台级性能,OCP 对资源占用的要求也较高。因而,对于单集群、小规模集群、集体开发者来说,社区版 OCP 在可获得性、易用性上较难满足要求。

为了解决在社区场景下用户对 OceanBase 图形化治理的可获得性和易用性问题,咱们 在保留并继承了 OCP 原有体验和根底能力的前提下,推出了 OCP Express,能够帮忙用户更好的治理 OceanBase 数据库。在满足数据库根底治理和数据库可观测性的同时,大幅升高了 OceanBase 数据库图形化治理的应用门槛和总领有老本。本文将和大家分享 OCP Express 的架构特点、要害能力、装置部署、利用场景,以及一些常见问题。

一、以极小资源耗费部署于任一节点的 OCP Express

OCP Express 是一个基于 Web 的 OceanBase 4.x 轻量化管理工具,作为 OceanBase 数据库的工具组件,它集成在 OceanBase 数据库集群中,反对数据库集群要害性能指标查看及根本数据库根底治理性能。OCP Express 源自于 OceanBase 云平台(OceanBase Cloud Platform,OCP),在保留外围能力的根底上,调整了整体的性能布局,给予用户全新的应用体验。 同时,OCP Express 的性能配置也进一步调整,可能以极小的资源耗费部署在任意一台数据库节点上。从而使 OCP Express 用户 以最小的老本,获取全新的 OceanBase 4.x 管控体验。 通过 OCP Express,用户能够执行根底的 OceanBase 数据库治理工作,例如创立或变更租户、治理数据库及用户等,还能够查看无关 OceanBase 数据库的监控、性能、诊断、日志等信息。OCP Express 的特点参考图 1。

图 1 OCP Express 特点

1、个性介绍

OCP Express 反对以下五个局部的 OceanBase 集群治理性能:

  • 集群总览:查看集群拓扑构造、状态信息、资源耗费等外围信息,把握集群整体实时运行状况。
  • 租户治理:提供集群下租户的全生命周期治理,以及租户下数据库治理、用户治理等。
  • 监控服务:提供集群与租户维度的监控,笼罩性能监控、主机监控等数十种监控指标。
  • 诊断服务:能够对租户会话、慢 SQL、Top SQL 进行无效的治理,如敞开会话、SQL 限流等。
  • 日志服务:能够在线剖析集群 OBServer、OBAgent 的相干日志,定位故障更加便捷简略。

2、架构介绍

OCP Express 的架构采纳了 Agent-Server 模式,Agent 负责数据采集与命令执行,Server 负责数据聚合解决及展现。Agent 复用了曾经开源的 OBAgent,在 OBAgent 现有性能上做了性能加强,配合实现了对本地集群的治理。Server 端在聚合了集群和租户数据后,以图形化形式展现集群以后的实时状态及监控诊断信息,并反对用户在图形化界面上对集群和租户进行治理操作。

OCP Express 的架构(见图 2)具备以下特点:

  • OCP Express Server 能够抉择部署到任意一台 OBServer 所在主机上,也能够独立部署到其余主机上,OBAgent 部署在每个 OBServer 节点所在的主机上,与 OBServer 一一对应;
  • OBAgent 负责采集集群及租户的监控、性能、日志等数据,同时也负责执行由 OCP Express Server 下发的各种治理操作;
  • OCP Express Server 会对 OBAgent 采集到的数据进行聚合解决及展现等,同时也负责下发各种治理操作指令;
  • OCP Express 的元信息及监控数据存储在本地集群下的专用租户中,无需额定的集群来存储 OCP Express 数据,且能做到与业务租户隔离;
  • OCP Express 仅治理本地 OceanBase 集群,逻辑更加简略,能力更加聚焦。

图 2 OCP Express 架构

二、OCP Express 是如何简化数据库治理的

作为 OCP 的轻量版,OCP Express 在产品定位、部署形式、资源占用等方面都与 OCP 有所差别(见图 3)。

产品定位:OCP 定位为 OceanBase 数据库的治理平台,面向规模化运维场景,能够实现一个平台治理多套 OceanBase 集群,同时反对更丰盛的平台性能,比方备份复原、巡检、告警等;而 OCP Express 定位为集群内置的数据库管理工具,面向轻量化数据库管控场景,它与被治理的 OceanBase 集群深度交融,反对对本地集群的根底治理,以及监控、性能、诊断、日志等实时信息展现,性能聚焦,操作简略。

部署形式:OCP 为中心化部署,须要配置专用的 OceanBase 集群作为元数据存储仓库。安装包以 Docker 镜像形式提供,大小约 1.7 GB, 因为依赖 Docker 治理,因而对运维要求也略高;而 OCP Express 作为 OceanBase 数据库的工具组件,可在应用 OBD 部署 OceanBase 集群时抉择 一键装置部署,安装包仅 80 MB,装置后关上即用,无额定配置。且运维非常简单,可应用 OBD 对其进行治理。

资源占用:因为 OCP 面向规模化集群治理,并提供了很多的平台级性能,因而 对存储和计算等资源占用较多,有肯定的应用门槛 ;而 OCP Express 仅治理本地集群,整体 资源占用和开销都较少,仅在本地集群中创立一个专属租户来存储元数据和监控数据即可,能够做到在满足根本运维治理需要的前提下尽可能地升高资源耗费。

图 3 OCP Express 与 OCP 的区别

除了上述三方面的区别外,OCP Express 通过提供数据库治理、数据库可观测性和内部集成这三大要害能力来简化对 OceanBase 数据库的日常治理。

1、数据库治理

OCP Express 保留并继承了 OCP 的原有体验以及根底的 OceanBase 集群及租户治理能力,能让用户解脱黑屏,方便快捷地在图形化界面查看和治理本地集群及租户。因为 OCP Express 被设计为仅治理本地集群,因而在治理性能上十分聚焦,操作便捷、易于应用,使 OceanBase 数据库的治理变得更加简略和高效。上面以集群总览和租户治理为例,联合页面性能做一下简略介绍。

OCP Express 将集群的要害信息都汇总在了集群总览页面(见图 4),在该页面中,用户能够把握集群以后的实时运行状态。比方能够理解到集群以后的资源水位、租户合并状况、SlowSQL 统计,以及集群的拓扑构造等。除此之外,用户也能够在该页面上对集群的 Unit 散布进行调整,以及批改集群参数。

图 4 集群总览界面

OCP Express 提供了租户的全生命周期治理性能,用户能够依据业务须要通过 OCP Express 页面来创立或删除租户,同时还反对在租户下对数据库及数据库用户进行全生命周期的治理。除此之外,租户的正本扩缩容、参数设置、合并治理、Zone 优先级设置、白名单设置等都能够通过 OCP Express 页面来实现,如图 5 所示。

图 5 租户总览界面

2、数据库可观测性

数据库可观测性是对于数据库的运行状态、性能指标以及异样事件进行监控、收集、剖析和可视化展现的能力。能够帮忙用户及时发现和解决问题、进步零碎稳定性、改善数据库设计、进步数据库性能等。OCP Express 提供了以下三个档次的数据库可观测性。

  • 主动数据收集:OCP Express 通过 OBAgent 对 OceanBase 进行实时数据采集,包含性能、SQL 等各类指标,采集到的数据存储在本地集群下的专用租户中。同时也反对将 OBAgent 采集到的数据对接到第三方平台,前面章节中会详述。
  • 数据库监控:OCP Express 提供了丰盛的监控项和监控图表。对采集到的指标数据进行聚合解决,而后通过图表的模式展现在界面上,便于用户查看数据库运行的实时情况。
  • 数据库诊断:OCP Express 提供了会话诊断和 SQL 诊断的能力。用户能够通过 OCP Express 辨认出不衰弱的会话和 SQL,优化数据库拜访,晋升数据库性能。

上面联合 OCP Express 的性能页面,对监控、诊断和日志服务做简略介绍。

通过 OCP Express,用户能够查看 OceanBase 集群和租户的实时性能监控。监控信息分为集群和租户两个维度,集群监控下分为数据库性能和主机性能两类,租户监控下分为性能与 SQL、事务、存储与缓存三类,总计 50+ 监控图表。集群监控如图 6 所示。

图 6 集群监控界面

通过 OCP Express,用户能够查看租户会话列表与会话统计,能够查看 TopSQL 与 SlowSQL,还能够对租户会话及慢 SQL 进行无效的治理,如敞开会话、SQL 限流等。SQL 诊断页面见图 7。

图 7 SQL 诊断界面

除此之外,用户还能够通过 OCP Express 提供的日志查问性能,在线剖析集群 OBServer 的相干日志,包含 observer 日志、rootservice 日志、选举日志等(见图 8),使得故障定位更加的简略便捷。

图 8 日志查问界面

3、内部集成

OCP Express 通过 OBAgent 实现数据库实时指标数据的主动收集,同时也将数据主动收集能力进行了凋谢。用户能够利用 OBAgent 的凋谢数据采集能力,集成到第三方平台或自有内部监控零碎,例如:Prometheus、Zabbix 等。

OBAgent 提供了规范 HTTP 接口,以 Prometheus 数据模型将 OceanBase 数十种监控指标裸露给 Prometheus Server,包含主机指标与数据库指标等。详见:https://github.com/oceanbase/obagent/blob/master/docs/obagent-metrics/exporter-metrics.md 用户能够将这些 metric 数据集成到自有的 Prometheus Server 中,并在 Grafana 上进行图表化展现。成果如图 9 所示。

图 9 Grafana 数据图表化展现

具体的对接领导请参考:https://github.com/oceanbase/obagent/tree/master/docs

三、如何装置与部署 OCP Express

1、装置部署

OCP Express 作为 OceanBase 的工具组件,在装置部署方面做到了极致的简略与便捷。在应用新版 OBD(带图形化界面,见图 10)部署 OceanBase 数据库时,用户可抉择一键装置 OCP Express,以取得对本地集群的根底治理能力。整个装置过程清晰简略,用户 仅需确认 OCP Express 和 OBAgent 的服务端口即可,无需额定配置 。当实现装置过程后,就主动领有了 OceanBase 数据库的图形化治理能力, 关上即用

图 10 新版 OBD 的图形化部署界面

如上图所示,在 OBD 的部署配置页面,当抉择“齐全部署”的部署类型后,OBD 会在装置 OceanBase 数据库的同时,一键装置 OCP Express 和 OBAgent 两个工具组件,这两个工具组件独特配合,实现 OCP Express 的所有性能。当然也能够抉择“精简部署”,此时仅装置 OceanBase 数据库。为了能更好地应用 OceanBase 数据库,举荐采纳“齐全部署”的部署类型。OCP Express 的安装包仅有 80 MB 大小,OBAgent 的安装包也仅有 20 MB 大小,安装简单,治理便捷。

当用户不再须要 OceanBase 集群时,可通过 OBD 命令 obd cluster destroy 一键销毁集群。此时 OCP Express 及 OBAgent 组件也会随之一起进行并卸载。

2、资源占用

OCP Express 服务

OCP Express 服务在运行过程中会有计算和存储的开销,具体的资源耗费参考如表 1 所示。资源的耗费与集群规模以及租户数量无关,以下配置是以集群中蕴含 10 个租户为规范,依据集群规模进行预估得出的数据。

集群的 OBServer 数 CPU(核) 内存(GB)
≤ 10 1 2
≤ 20 2 4
≤ 50 4 8

表 1 OCP Express 服务资源耗费

当集群规模较小时,例如 OBServer 数量在 10 以内,OCP Express 服务的资源耗费仅为 1C2G

OCP Express 租户

OBD 在部署 OCP Express 时,会在 OceanBase 集群下为 OCP Express 创立名为 ocp 的专用租户。该租户被用于存储 OCP Express 的元数据和监控数据。该租户的正本所需的资源也与集群规模以及租户数量无关,以下配置是以集群中蕴含 10 个租户为规范,依据集群规模进行预估得出的数据。

集群的 OBServer 数 CPU(核) 内存(GB)
≤ 10 1 4
≤ 20 2 8
≤ 50 4 16

表 2 OCP Express 专用租户资源耗费

当集群规模较小时,例如 OBServer 数量在 10 以内,OCP Express 租户的资源耗费仅为 1C4G。

四、OCP Express 的六大利用场景

OCP Express 定位为 OceanBase 集群内置的数据库管理工具,面向轻量化数据库管控,因而特地实用于以下六个场景。

场景 1:疾速部署和体验 OceanBase 性能。 因为 OCP Express 作为管控组件内置于 OceanBase 4.x 集群中,因而在部署 OceanBase 后,即可领有 OCP Express 的图形化治理能力,无需额定部署操作。对于新上手用户来说十分不便,能疾速的部署并在图形化界面上体验 OceanBase 的性能。同时也十分有利于老手用户利用图形化界面来学习和了解 OceanBase 数据库。

场景 2:集体开发者日常应用。 对于集体开发用户来说,个别状况下可利用的机器资源较为无限,不太适宜通过部署中心化的 OCP 来满足日常数据库治理须要。且集体开发者对于 OceanBase 集群的部署和销毁操作都较为频繁,管控工具的部署便捷性和可获得性是十分外围的需要。OCP Express 在装置 OceanBase 集群时即可一键装置取得,在销毁 OceanBase 集群时也随之一起进行并卸载,并且不须要额定的机器资源,因而对于集体开发者来说应用起来十分便捷,且能满足日常治理须要。

场景 3:小规模单集群治理。 对于小规模单集群的治理来说,往往须要简略和高效的管理工具即可。如果通过部署中心化的 OCP 来满足治理须要,岂但使得很多 OCP 的平台级能力处于“闲置”状态,而且也节约了部署资源。这种场景下应用 OCP Express 来对集群进行治理是比拟适合的抉择,既能满足日常治理须要,又无需额定的机器资源用于部署管控服务。

场景 4:数据库性能优化和故障排除。 OCP Express 提供了丰盛的数据库监控及诊断能力,并且还能在图形化界面上在线剖析 OBServer 的相干日志。用户能够通过 OCP Express 辨认出不衰弱的会话和 SQL,优化数据库拜访,晋升数据库性能,也能够通过 OCP Express 的日志剖析性能来使得故障定位更加地简略和便捷。

场景 5:监控集成到内部平台。 OCP Express 凋谢了监控数据采集的对接能力。通过 OBAgent 提供的 HTTP 接口,用户能够很不便地把 OceanBase 的监控指标集成到自建的监控零碎中,比方业界风行的 Prometheus、Zabbix 等。如果用户有这方面的对接须要,在应用 OBD 一键装置部署 OceanBase 4.x 之后,即可主动领有该能力。

场景 6:升高数据库治理老本。 因为部署中心化的 OCP 须要肯定的机器资源,且有肯定的保护门槛,因而对于须要升高数据库治理老本的场合来说,应用 OCP Express 是较为适合的抉择。OCP Express 的部署不占用额定机器资源,仅需在 OBServer 节点下占用大量计算和存储资源,以及在本地集群中内置一个专用租户。OCP Express 在运行时占用资源较少,在满足日常治理性能的同时,也能进一步升高用户的数据库治理老本。

五、常见问题及倡议

Q:OCP Express 与 OCP 有哪些区别?

A:OCP Express 面向轻量化管控,作为管控组件内置于被治理的 OceanBase 集群,能够做到在满足根本治理需要的前提下尽量地升高资源耗费。OCP 面向规模化治理场景,能够实现一个平台治理多套 OceanBase 集群,反对更丰盛的治理能力,须要额定配置 OceanBase 集群作为 OCP 的元数据存储介质,同时也须要更高资源占用来实现更多的平台级能力。

Q:OCP Express 是否能够独自部署?

A:目前 OCP Express 须要通过 OBD 应用一体化安装包来实现一键装置部署,部署实现后 OCP Express 关上即用,不须要任何的配置即可治理 OceanBase 集群。

Q:OCP Express 的应用场景是什么?

A:OCP Express 面向开发测试、中小规模 OceanBase 集群治理、集体开发者用户,适宜单集群在 20 台主机、5 个租户以内的应用场景。

Q:OCP Express 反对哪些 OceanBase 数据库版本?

A:OCP Express 是基于 OceanBase 4.x 推出的轻量化管理工具,反对 4.0 及以上版本的 OceanBase 数据库。

Q:OCP Express 将来是否开源?

A:OCP Express 打算于 2023 年 6 月进行代码开源,同时会更新 OBAgent 已开源代码版本。

Q:OCP Express 中应用的 OBAgent 和 OceanBase 开源社区中的 OBAgent 是什么关系?

A:OCP Express 中应用的 OBAgent 是基于开源 OBAgent 开发的,对原有性能做了加强,打算于 2023 年 6 月对开源 OBAgent 做新版本公布,凋谢本次新增的代码。


欢送拜访 OceanBase 官网获取更多信息:https://www.oceanbase.com/

正文完
 0