OceanBase 作为国内一款优秀的分布式数据库,这些年来发展很快,在金融、电商、政企、物流等行业得到广泛应用。之前多为私有化部署,去年也推出云版本并于最近进行重大升级。受朋友之约,对其云产品做了个简单测试。因时间所限,仅限于简单功能体验,整体下来感觉还是很平滑的。
安装部署篇
云产品天然具备的快速部署、弹性扩缩能力,可以降低用户使用门槛。OB Cloud 继承了上述能力,可通过简单配置快速构建实例。如下图所示,一路配置下来到异步任务创建实例,整体完成大约 10 多分钟。
一、实例类型
在上述配置中,有个特性值得关注就是“实例类型”,目前支持集群实例和租户实例两种。
-
集群实例:指 OceanBase 数据库及其允许所需的资源组合,关联了若干服务器节点、专有网络等云资源。
-
租户实例:基于 OceanBase 独特的租户隔离技术,将一个大型集群按照租户进行虚拟隔离后独立呈现出来的一个计算资源,可以独立作为一个数据库实例进行应用,该租户实例下可以单独创建数据库,租户实例数据库下单独创建表,独立为上层 APP 提供服务。租户实例区分为独享和共享型,目前仅上线共享型,共用一套中控和存储,主要面向开发者用户或数据量偏小的场景,没有高可用性要求,建议不要用于核心业务场景。
下表针对这两种实例类型,做了个简单对比。个人看来,云上存在大量中长尾用户,其对价格因素非常敏感,租户能力应可有效降低用户使用成本,应是个不错的亮点。
二、部署方式
作为一款分布式云数据库产品,OceanBase 提供了丰富而灵活的部署方式。用户可以根据自身需求进行选择,不同部署架构对读写扩展能力、可用性等也有所不同。
管理维护篇
一、维护大屏
OceanBase 提供的工作台功能,可直观看到集群实例的整体状态,包括基本信息、资源情况、性能指标、物理部署、租户信息等,可以一目了然了解到全局信息。这其中有几点需要关注,一是提供的维护窗口的设计,可在指定窗口期进行维护、数据合并等操作,对用户友好度提升不少;二是关于资源池化,OceanBase 集群实例提供资源池,可针对租户做灵活资源分配,这里可观察集群、租户资源信息,概览全貌。
二、扩容缩容
云产品的弹性扩缩容能力,是用户比较关注的。OceanBase 提供了节点(计算资源),存储空间(存储资源)及节点级升降配能力。这其中有两点需关注,一是目前的增减节点是提供 3 节点倍数的增减,尚无法做到灵活分配;二是提供了临时变配能力,可提供小时级对存储空间、节点规格的需求,这点对于突发性或计划性资源需求很友好。
三、租户管理
租户能力可以说是 OceanBase 的亮点功能之一,租户可提供几乎完整的隔离环境供用户使用,包括完整的账户、权限、配置、资源等各个方面。OceanBase 支持在 Oracle、MySQL 的兼容模式,可在租户层面做到支持。测试中针对两种兼容模式,分别创建了一个租户,做了简单的 CRUD,整体感觉不错。
四、性能监控
性能监控部分提供了租户级、主机级的监控能力,常规的监控指标都已支持,也支持添加自定义报表。
五、备份恢复
备份恢复能力,也是 DBA 重点关注的。OceanBase 提供了物理+日志备份的能力,提供可配置的备份策略及手工备份恢复能力。但目前尚不支持针对租户的备份和恢复能力,仅针对集群实例级可用。
六、参数管理
提供了集群实例级、租户级的参数修改能力。
七、安全设置
安全部分,提供了 IP 白名单、SSL 加密能力,还实现了安全评估功能,针对数据库的安全配置进行检测。特别是针对云产品的维护服务,提供了专门授权能力,降低用户使用风险。
开发优化篇
一、自治服务
自治服务部分,提供 SQL、会话层面的实时诊断及优化建议,空间使用及安全管理。基本可以满足日常开发维护方面的工作,但在使用中感觉刷新还有点问题,无法获取到最新数据。
二、迁移评估
使用新数据库,难点之一就是如何将原有系统迁移过来,OceanBase 提供的迁移评估功能,方便用户完成评估工作。目前可支持对数据库兼容性及性能的评估。因没有其他云数据库资源,未做详细测试。比较遗憾的是,此功能还不支持对其他公网或私网数据库的评估支持。
三、数据开发
数据开发部分,提供标准的 SQL 工作台功能,可完成 SQL 语句编写、执行及一些扩展类功能,可满足日常开发需求。这部分应没有与阿里云 DMS 打通,为 OceanBase 独立提供功能。
四、终端访问
很多 DBA 仍然习惯于命令行终端方式使用数据库,OceanBase 也提供了这一能力,用户可直接登录到租户上使用。针对 MySQL 租户,可使用标准的 MySQL 客户端连接使用(文档上说明需 5.7 版本,实测 8.0 也没问题)。小提示,使用中需要申请公网 IP 并设置白名单。整体使用体感与原生 MySQL 差异不大,OceanBase 在 MySQL 兼容性上做了不少工作。
针对 Oracle 租户,因无法使用原生 Oracle 的 SQLPlus 工具,可使用 OceanBase 提供的 OBClient 代替。整体兼容性使用体验上,比 MySQL 稍差,但也算不错了。
性能测试篇
针对申请的 OceanBase 资源做了简单的性能测试,在 2C4G 的租户资源规格下,磁盘为 ESSD PL1。使用 sysbench 跑了个标准的 OLTP RW 测试。压力机在公网上,整体性能表现如下。其时延表现较大,应与压力机在外网有关。
建议与期待
利用一个多小时的时间,简单体验了 OB Cloud 的能力。完成从实例部署搭建、扩缩容、租户分配、升降配、监控、备份、安全、CRUD、性能测试等过程。整体感觉上手容易、操作顺滑,普通用户可非常快捷地使用到 OceanBase 产品。在使用中暴露出部分小问题,主要是监控数据同步、与其他生态产品打通及部分提示引导问题。
这里重点谈谈功能布局问题,OceanBase 整体功能不少,分为实例级、租户级两个层次,部分功能存在重合;此外有些功能层次较深,需来回跳转。特将现提供的功能整理如下图,可方便用户快速了解使用。也建议官网可调整下功能分布,提供更为友好的交互方式。最后,也期待 OB Cloud 未来给我们带来更多惊喜。