5 月 20 日,OceanBase Meetup 第 20 期在北京顺利开展,本次活动我们走进翼鸥教育,来自OceanBase、知乎、翼鸥教育的研发、架构师、DBA 等技术专家围绕应用实践、运维管理、性能优化、监控诊断等话题进行了深度探讨。

翼鸥教育( Classln)是一个教与学一体化的平台,全球 150+ 个国家的 6 万多所学校与机构都选择在教与学场景中应用 Classln。活动当天,翼鸥教育 CTO 贺骞在开场致辞中对 OceanBase 及参会人员表示了热烈欢迎,并带领大家参观了翼鸥教育的发展历程、业务版图及产品布局。

翼鸥教育 CTO 贺骞
在致辞环节,作为活动主办方,OceanBase CTO 杨传辉表示,OceanBase 从开源以来,坚持做国际化的开源标准软件,持续优化易用性,使 OceanBase 能够服务越来越多的企业和个人。

OceanBase CTO 杨传辉
ClassIn DBA 姚力:OceanBase 在翼鸥教育的应用实践
翼鸥教育在 2022 年上线 OceanBase,据 DBA 姚力介绍,此前翼鸥教育的业务数据主要存储在 MySQL,生产环境有近百套集群,借助定制化的第三方工具 Orchestrator,MySQL 基本能够满足业务的高可用需求,但在 MySQL 的使用过程中,遇到了读写及容量瓶颈,,翼鸥教育对一些核心且数据量较大的集群采用了分库分表方案,但由于 MySQL 的特性限制,导致遗留了分库分表的历史问题。

ClassIn DBA 姚力
OceanBase 具备分布式数据库具备水平扩展、高可用以及数据强一致的天然优势,也拥有 HTAP 能力,并且支持多租户和资源隔离。在业务测试中,发现 OceanBase 的表现格外喜人:原存储容量 8.8T,磁盘水位接近 90%,迁移到 OceanBase 后,磁盘水位降到 29%,存储压缩能力助力接入能力提升 3 倍。原 WEB 业务中的元素个数约 30 万+,RT 约 30s,OceanBase 优化后,关联接口整体提速( 3s-30ms ),大 In RT 缩短到 2s 以内,迁移后在业务高峰期的 MySQL 主从架构从小时级降为 0,扩展能力强,超出预期满足业务需要。
姚力表示:“目前,核心业务剩余业务上线 OceanBase,继续迁移 WEB MySQL 业务至 OceanBase,同时,在尝试 OceanBase 4.0 之后,我们发现,AP 能力进一步提升,计划尝试后台读场景、核心业务、大日志登陆 4.2。此外,翼鸥会陆续把其他业务中迁入 OceanBase,期待在后续的业务尝试中,OceanBase 的超强性能不断带给我们更多惊喜。”
ClassIn DBA 罗呈祥:基于 OceanBase 对 Zabbix 监控系统改造与开源共建
翼鸥教育的数据库监控依赖于 Zabbix,其底层的数据存储服务 MySQL 随着接入设备的增长,遭遇了容量、读写,分区表不易维护等痛点,翼鸥教育DBA罗呈祥分享了基于 OceanBase v4.0 的解决方案,以及对 Zabbix 监控系统的改造。

ClassIn DBA 罗呈祥
Zabbix 作为企业级监控解决方案,可以监控多种组件,如服务器、网络设备、数据库、应用程序等。在企业级监控中,需要监控的项目数量通常较多,每个项目又可能需要监控多个指标,这就导致了产生的数据量非常庞大。以一台 MySQL 服务器为例,一台就有近 300 个监控项,涉及到硬件状态、服务状态等。
翼鸥教育在最初使用 Zabbix 时,选用 MySQL 存储数据,随着业务量的增加,要监控的设备和指标也越来越多,就出现了数据量大,低峰期数据每日新增约 50G,磁盘容量有限,因此业务高峰时磁盘告警频繁。同时数据读写瓶颈及分区表不易维护等问题越来越明显。
选择 OceanBase 做 Zabbix 监控系统的底层存储后,翼鸥教育也在 Zabbix 代码上做了一些兼容性修改,从目前的使用情况看,运行状态良好。相较于 MySQL,OceanBase 的优势显著。由于 OceanBase 使用 Paxos 协议确保主副本和从副本数据强一致,DML 操作插入、更新、删除等首先写入 MemTable,业务高峰期也不会出现磁盘 I/O 告警和主从延迟的情况。OceanBase 的高级压缩特性、多副本与 Paxos 强一致特性以及分区表易于管理的在线 DDL 等优点,在实践过程中大大提升了数据存储和处理效率,有效降低了成本。作为深度用户,翼鸥教育也非常希望能够在 OceanBase 社区中贡献自己的力量,共同推动数据库技术的发展,实现双赢的效果。
知乎高级开发工程师陈逸轩:知乎数据库大规模自动运维平台架构设计和实践
当前,大规模的数据库难以人工运维、用户缺乏自主操作数据库的入口、对于数据库的运行状态难以直观展示、 数据的安全性难以得到保障、 数据库的规范难以得到落实、 数据库管理工具碎片化,是数据库领域的共识问题。对此,知乎提出了数据库运维平台的必要性,知乎核心架构高级开发工程师陈逸轩分享了平台设计思路及实践经验。

陈逸轩表示,知乎明确了数据库运维平台的 6 个设计目标。
1、降低数据库的管理成本:针对 DBA,能够批量运维大规模的数据库集群。为常用的功能提供自动化,比如 DTS。
2、提升数据库的易用性:针对业务用户,能够在 web 平台自主的完成基本的和常用的操作。
在这些设计目标的指导下,知乎运维平台——天穹具备了清晰的数据看板,实时从监控报警、性能分析、容量成本,备份恢复等维度展示 OceanBase、MySQL、MongDB 等数据源的资源概览,提供物理机管理、K8S 管理,数据资源管理等数据库管理能力,很好的解决了大规模数据库运维困境,让数据库管理变得轻松又高效。
OceanBase 技术专家汤庆:智能诊断工具 OceanBase Diagnostic Tool的调优实践
上述三场分享分别从数据库解决方案与应用实践、监控系统优化与改造、数据库运维平台这三个角度探讨了数据库领域的工作实践和优化经验。而再深入,还有许多细节问题有待讨论,比如:系统为何总是出错?业务调用 SQL 为何奇慢无比?连环异常堆栈案,究竟是哪次调用所为? OceanBase 技术专家汤庆以 (OceanBase Diagnostic Tool,OBdiag)为例,引经据典分析了异常诊断的三个阶段。

OceanBase 技术专家汤庆
同样的道理,从时间维度看,数据库的异常诊断过程可以拆分为异常预防、异常处理和异常复盘这三个阶段。从对历史故障的复盘来看,80% 的故障中 80% 的时间都花在分析和定位上。那么,如何快速挖掘数据库异常的蛛丝马迹,定位和分析问题呢?
以 OceanBase 为例,由于其原生分布式数据库系统的特性,故障根因分析通常比较繁琐,涉及机器环境、配置参数、运行负载等因素。因此,专家在排查问题时需要获取大量的信息来分析故障,如何高效获取故障场景下分散在各个节点的信息便是 OceanBase 诊断工具 OBdiag 需要解决的问题。
OBdiag 现有功能包含了对于 OceanBase 日志、SQL Audit 及 OceanBase进程堆栈等信息的扫描、收集,可以在 OceanBase 集群不同的部署模式下(OCP,OBD 或用户根据文档手工部署)实现一键执行。未来会加入诊断分析能力,一方面在现有采集能力的基础上增加有效信息提取分析的能力形成诊断分析报告;另一方面将已有的 SQL Reviewer(OceanBase 的 SQL 审核工具)和 SQL Diagnoser(OceanBase 的敏捷 SQL 诊断工具)进行整合,扩展工具在 SQL 层面的诊断能力。OBdiag 整合多种工具,避免信息孤岛,目的是让诊断 OceanBase 数据库问题变得更快更容易。
总结
本期 OceanBase Meetup 顺利举办,来自京东、新东方、知乎、360 等企业的开发者在与分享嘉宾互动频繁,围绕应用实践、运维管理、性能优化、监控诊断等话题展开了激烈讨论。现场技术氛围浓厚,座无虚席,感谢翼鸥教育全力支持。未来,OceanBase 会持续打磨产品适用性和易用性,持续降低使用门槛,让数据库技术走进更多企业,助力企业探索新的商业可能,创造数字时代的新未来。




