OceanBase 是什么?
OceanBase 是 100% 根自研的原生分布式数据库,基于单机分布式一体化架构,高度兼容 Oracle 和 MySQL,支持事务处理(TP)和实时分析处理(AP)等多工作负载,原生支持向量检索与多模数据混合检索,助力客户构建面向 AI 的一体化数据底座。已广泛应用于金融、运营商、零售、互联网及公共服务等行业,助力 2000+ 客户实现关键业务系统升级。
开发者大会
2025年5月17号,OceanBase 在广州举办了OceanBase 开发者大会,而作者也特地去参加了这场数据库领域开发者的狂欢盛宴。上次也去广州参加过OceanBase 一个推广会,其中作者还体验了一下OceanBase 的一个云数据库版本:
体验了一下,发现很方便,因为它做了大部分的MySQL兼容,所以我们在应用层面改一下数据库的连接地址就可以做到从MySQL无缝切换至OceanBase 。但是给作者的感觉就是,如果一个开发想入手或者想体验一下OceanBase会有较高的金钱成本,而且如果不去参加上次那个会都不会想体验一下这个产品。
OceanBase Desktop
这次的发布会发布了OceanBase 很多的新功能和新特性,但是最让作者感觉到眼前一亮的是OceanBase 发布了桌面版。这是一个历史性的功能,大大降低了使用OceanBase 的门槛,开发者如果想体验 OceanBase 的功能特性,可以直接在Windows或者Mac上一键安装OceanBase。
OceanBase开源生态总经理封仲淹在演讲中也说到,以 MySQL 为代表的传统单机数据库用户基础庞大、模型清晰、部署灵活,许多开发者习惯于依赖轻量级桌面版数据库来完成学习、开发和测试等工作。为了提升用户使用OceanBase的便捷性,推出OceanBase桌面版是一项必要且富有战略意义的举措。
相比于原来使用Docker安装,开发者既要安装Docker,又要学习使用Docker,而这一步就把很多的开发者拦在了新手村。现在只需要下载OceanBase桌面版,就能一键使用和体验OceanBase。
环境准备
现在我们可以来体验一下OceanBase桌面版。
首先要看自己的电脑是否支持安装OceanBase 桌面版。(不要嫌麻烦,如果你用的是 Docker也需要开启这些功能,这是Windows运行Linux的必经设置)
我们需要WSL(Windows Subsyetem for Linux,适用于 Linux 的 Windows 子系统)。WSL 是 Microsoft 公司于 2016 年在 Windows 10 平台发布的一项功能,用户可以在 Windows 操作系统上运行 ELF 格式的 Linux 可执行文件。而OceanBase 桌面版镜像只能使用WSL 2。WSL 2 需要 Windows 10 1903(内部版本 18362)或更高版本(x64)。
查看是否已开启虚拟化:任务管理器,进入 性能 界面,查看 CPU。若已开启虚拟化,虚拟化 一栏显示为 已启用。如果虚拟化 一栏显示为 已禁用,则需要开启 BIOS 中虚拟化功能,不同的电脑 BIOS 的进入和打开虚拟化的操作不尽相同,可自行通过浏览器搜索自己电脑对应的型号。
开启WSL功能:同时按住键盘 Win+Q,搜索 启用或关闭 Windows 功能
然后我们需要把这个四个选项勾上:单击 确定 后重启计算机即可。
如果你的电脑在安装的时候出现这种情况,我们就需要安装WSL2。
首先我们根据处理器的架构选择下载 wsl_update_x64.msi 或 wsl_update_arm64.msi。然后按照提示安装即可。
将 WSL 2 设置为默认版本:在 cmd 或 powershell 命令行中输入如下命令:
wsl --set-default-version 2
验证是否安装成功:在 cmd 或 powershell 命令行中输入如下命令,若输出中显示的 VERSION
是 2
,则表示成功安装了 WSL 2。
wsl --list --verbose
安装OceanBase 桌面版
做好这些准备工作之后我们就可以开始安装OceanBase 桌面版了,我们需要在OceanBase 的官网下载OceanBase Desktop安装包
选择自己对应的版本下载,作者这里选择的是Windows版本
下载好之后双击exe文件即可进行安装,这里我们选择非系统盘的安装路径:
之后我们就可以进入到OceanBase 桌面版主页面了
连接
点击启动数据库就可以愉快的使用OceanBase 了。但是启动之后我们还需要连接它,点击连接之后会出现一行命令行,复制到PowerShell里面粘贴按住回车键即可:
这条命令的作用是:
- 在 WSL 的
oceanbase-desktop
发行版中启动bash
。 - 在
bash
中运行obclient
命令,连接到本机 (127.1
) 的 OceanBase 数据库:- 端口
2881
- 用户名
root
,租户test
- 默认数据库
oceanbase
- 禁用自动补全 (
-A
)
- 端口
- -h:OceanBase 数据库连接 IP,有时候是一个 ODP 地址。
- -u:租户的连接用户名,格式为 用户@租户#集群名称,集群的默认租户是 ‘sys’,租户的默认管理员用户是 ‘root’。直接连接数据库时不填集群名称,通过 ODP 连接时需要填写。
- -p:用户密码。
- -P:OceanBase 数据库连接端口,也是 ODP 的监听端口。
- -D:需要访问的数据库名称。
体验
进入到上述界面表示 OceanBase 桌面版安装成功 ,接下来输入 show databases;(MySQL语法,查看当前所有的数据库)试一试:
可以看到,OceanBase 里共有四个数据库,进入到 test
数据库中试一试:use test
,然后看一下这个库里面有没有表 show tables;
:
可以看到里面是没有表的,这时可以创建一个表看是否成功(也是MySQL的DDL):
CREATE TABLE `user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ;
可以看到插入成功。此时可以尝试增删改查:
INSERT INTO `user` (`id`, `username`, `age`, `create_time`) VALUES (1, 'wangfugui', 2, '2025-05-18 16:51:47');
UPDATE `user` SET `age` = 18 WHERE `id` = 1;
select * from user;
DELETE FROM `user` WHERE `id` = 1;
完全没有任何问题!!甚至可以直接在Navicat里面连接OceanBase !!
连接之后即可看到刚刚创建的User表了:
重回到OceanBase 桌面版首页即可查看基本信息,也可以停止/启动数据库:
进入管控页面可以查看集群、租户信息并进行系统配置(进入不需要输入密码,直接点击登录即可)。
具体体验可以参考 OceanBase 官方文档
感想
在17号的开发大会中,OceanBase 请了很多的嘉宾,同时也发布了很多OceanBase 新特性,如果大家有去过现场可以在评论区留下一丝痕迹,相信这次参会体验会给你带来一些收获。如果没去现场的朋友,可以去官网查看 直播回放
经过这一次的大会,OceanBase 对比一年半前作者认识的OceanBase ,已经成长了许多,同时OceanBase CTO 杨传辉也说,很多人认为OceanBase是专门搞金融的,那是因为OceanBase在金融行业做得太好了,以至于掩盖了其他行业的应用场景。
而这次让作者感兴趣最属于OceanBase 桌面版了,它大大降低了没接触过OceanBase 的开发者体验OceanBase 的门槛,而OceanBase 这种开源的精神更是值得大家尊重。
今天的分享就到这里,如果感兴趣的朋友多的话,作者会继续分享有关OceanBase 的一些实战经验,欢迎大家加入这场开源共建!