网易首页 > 网易号 > 正文 申请入驻

OceanBase初试

0
分享至

OceanBase是原生分布式关系数据库软件,开源已经有些日子了,一直拖着没有做一些测试。这两天刻意抽时间做了下测试,还是挺惊喜的。

我是比较喜欢上手试验的风格,所以我的学习模式是先构建出一个简单的环境,然后根据自己的认知去做一些测试来决定要不要继续深入测试,然后再来看相关的文档来系统学习,所以我根据文档的描述初步选定是体验试用版本。

OceanBase的试用版链接已经失效了,在官方文档中没有及时更新,我是翻箱倒柜在网络上找了很多的文章和说明,才发现通过一个链接入口可以直达试用版:

https://www.oceanbase.com/download

根据链接跳转到的界面是这样的,这个对应不是最新的版本,不过作为体验测试是足够了。

比较贴心的是在试用版的相关文档中有一个视频,演示了整个部署的过程,几个命令即可搞定。

我们先来创建用户admin和相关的数据目录

# useradd admin# passwd admin# mkdir /data/ob# chown -R admin.admin /data/ob

接下来修改配置文件config.py,修改相应的数据目录

load('obi,obt-patch,mini-mode,sample-db,sysbench')if not indocker():home = '/data/ob'obs_cfg.update(mini_mode_cfg)obs_cfg.update(system_memory='5G', memory_limit='8G', datafile_size='10G')# 定义一个单server的ob集群,mysql端口号2881,rpc端口号2882ob1 = OBI('127.0.0.1:2882:2881')# 定义另一个单server的ob集群,mysql端口号/rpc端口号由uid hash生成ob2 = OBI('127.0.0.1')# 单个机器上起3个observerob3 = OBI('127.0.0.1@[z1,z2,z3]', dev='lo', is_local=True)

接下来切换到admin用户,开始安装

$ ./hap.py ob1.reboot

大概1分钟左右即可搞定试用版的部署。

连接至OB环境可以使用hap.py脚本

$ ./hap.py ob1.obmysqlWelcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 3221487878Server version: 5.7.25 OceanBase 2.2.50 (r1-1c6441e8fb858c80da395f934f67ed305425864e) (Built Mar 6 2020 18:41:01)Copyright (c) 2009-2020 Percona LLC and/or its affiliatesCopyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.OceanBase(root@oceanbase)>

有一种无缝使用MySQL的感觉,目前这个版本(2.2.50)支持的是5.7的相关协议,查看使用版本。

OceanBase(root@SYS)>select * from v$version;+---------------------------------------------------------------------------------------------+--------+| BANNER | CON_ID |+---------------------------------------------------------------------------------------------+--------+| OceanBase 2.2.50 (r1-1c6441e8fb858c80da395f934f67ed305425864e) (Built Mar 6 2020 18:41:01) | 0 |+---------------------------------------------------------------------------------------------+--------+1 row in set (0.00 sec)

查看数据库列表,可以看到基本保持了MySQL的风格,当然也有Oracle的影子,看文档的描述是按照租户的模式来设计的。

OceanBase(root@test)>show databases;| Database || oceanbase || information_schema || SYS || LBACSYS || ORAAUDITOR || test |7 rows in set (0.00 sec)

那存储引擎是怎么体现的呢,在这里存储引擎就是OceanBase,支持事务。

OceanBase(root@test)>show engines;| Engine | Support | Comment | Transactions | XA | Savepoints || OceanBase | YES | Supports transactions | YES | NO | NO |1 row in set (0.01 sec)

我们创建一张表,来看看原本MySQL的语法是否适用。

OceanBase(root@test)>CREATE TABLE `data_detail_202107` (-> `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', ...-> `value` int(11) NOT NULL DEFAULT '0' COMMENT '数据值',-> `modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',-> `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',-> `note` varchar(255) NOT NULL DEFAULT '' COMMENT '备注', -> PRIMARY KEY (`id`),-> KEY `idx_rlb_id` (`rlb_id`,`cycle_num`,`member_id`) -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='数据明细表';Query OK, 0 rows affected, 1 warning (0.16 sec)

没想到还是执行成功了,只是抛出了警告。

OceanBase(root@test)>show warnings;| Level | Code | Message || Warning | 1286 | Unknown storage engine 'InnoDB' |1 row in set (0.00 sec)

数据字典有一个视图views,完整的SQL语句是比较长的,我们来查看执行计划,直接使用了Hash Join

>explain select * from views\G*************************** 1. row ***************************Query Plan: ====================================|ID|OPERATOR |NAME|EST. ROWS|COST||0 |HASH JOIN | |156 |4566||1 | TABLE SCAN|d |100 |2000||2 | TABLE SCAN|t |100 |2000|

其实show create table是很有代表性的,可以通过这个看到很多OceanBase中的设计点。

OceanBase(root@test)>show create table data_detail_202107\G*************************** 1. row ***************************Table: data_detail_202107Create Table: CREATE TABLE `data_detail_202107` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id', 。。。 `value` int(11) NOT NULL DEFAULT '0' COMMENT '数据值', `modify_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `note` varchar(255) NOT NULL DEFAULT '' COMMENT '备注', PRIMARY KEY (`id`), KEY `idx_rlb_id` (`rlb_id`, `cycle_num`, `member_id`) BLOCK_SIZE 16384 GLOBAL)AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMPRESSION = 'zstd_1.0' REPLICA_NUM = 1 BLOCK_SIZE = 16384 USE_BLOOM_FILTER = FALSE TABLET_SIZE = 134217728 PCTFREE = 10 COMMENT = '数据明细表'1 row in set (0.01 sec)


文档中关于Oracle和MySQL的兼容性是比较高的,那么业务就可以最大程度的使用两者的特性功能,总体来说和补充的测试和文档来看,还是有不少的期待。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
超级网红撒盐哥餐饮帝国塌了!门店狂亏540万,员工哭诉:他逼我们做足疗??

超级网红撒盐哥餐饮帝国塌了!门店狂亏540万,员工哭诉:他逼我们做足疗??

英国那些事儿
2025-10-21 23:27:06
当山姆会员抵制阿里高管,他们在抵制什么?

当山姆会员抵制阿里高管,他们在抵制什么?

花儿街参考
2025-11-05 20:02:22
朝鲜举行国葬

朝鲜举行国葬

新京报政事儿
2025-11-06 10:00:33
国民党新人事公布“柱系”班师回朝,郝龙斌的美女智囊掌管国际部

国民党新人事公布“柱系”班师回朝,郝龙斌的美女智囊掌管国际部

海峡导报社
2025-11-06 16:39:06
空降发展联盟!詹姆斯降维打击!不会跟随湖人,队内地位成迷

空降发展联盟!詹姆斯降维打击!不会跟随湖人,队内地位成迷

阿泰希特
2025-11-06 12:13:18
86岁老人随口乱说代号,儿子上报后,国安领导:马上接通中央部委

86岁老人随口乱说代号,儿子上报后,国安领导:马上接通中央部委

知鉴明史
2025-10-23 14:01:49
梅德韦杰夫本是普京接班人,为何如今却被边缘化了?起因是卡扎菲

梅德韦杰夫本是普京接班人,为何如今却被边缘化了?起因是卡扎菲

近史博览
2025-10-25 17:26:28
1948年中央提议换掉粟裕,陈老总说:无论用谁替代他都会全军覆没

1948年中央提议换掉粟裕,陈老总说:无论用谁替代他都会全军覆没

雍亲王府
2025-11-06 16:30:03
中国将对部分稀土元素发放一般性出口许可证?商务部回应

中国将对部分稀土元素发放一般性出口许可证?商务部回应

界面新闻
2025-11-06 16:44:04
再见,皇马!1.5亿“帝星”正式决定离队!8000万欧中卫“空降”

再见,皇马!1.5亿“帝星”正式决定离队!8000万欧中卫“空降”

头狼追球
2025-11-06 09:01:52
恩爱了17年,75岁的郭台铭开始衰老萎缩,51岁的曾馨莹仍娇艳如花

恩爱了17年,75岁的郭台铭开始衰老萎缩,51岁的曾馨莹仍娇艳如花

不似少年游
2025-09-12 07:34:15
日本全境现熊灾,面向全球紧急招募猎人,熊肉串已开售!

日本全境现熊灾,面向全球紧急招募猎人,熊肉串已开售!

万物杂志
2025-11-06 06:05:33
外媒:特朗普要求参院修改制度,共和党议员罕见拒绝

外媒:特朗普要求参院修改制度,共和党议员罕见拒绝

参考消息
2025-11-06 17:18:09
造价10亿地标13.6亿起拍!广州圆大厦第三次上架找买家

造价10亿地标13.6亿起拍!广州圆大厦第三次上架找买家

南方都市报
2025-11-06 11:51:15
突发!俞敏洪发文确认孙东旭从东方甄选离职!孙东旭曾因与董宇辉“小作文风波”引争议

突发!俞敏洪发文确认孙东旭从东方甄选离职!孙东旭曾因与董宇辉“小作文风波”引争议

每日经济新闻
2025-11-06 16:14:09
来得真快,安世第二波报复开始,荷兰已切断供应,中方以1挑27国

来得真快,安世第二波报复开始,荷兰已切断供应,中方以1挑27国

博览历史
2025-11-05 18:34:00
突然退网!干崩京东的杨笠扛不住了!

突然退网!干崩京东的杨笠扛不住了!

广告案例精选
2025-11-04 22:17:13
不到5天,被点名的秦雯再迎3大噩耗,袭警只是冰山一角

不到5天,被点名的秦雯再迎3大噩耗,袭警只是冰山一角

娱小北
2025-11-04 18:41:34
年轻人不买账,中年人喝不起!茅台跌破1600,终于承认只是瓶酒?

年轻人不买账,中年人喝不起!茅台跌破1600,终于承认只是瓶酒?

金融八卦女
2025-11-05 13:57:48
不雅视频流出!医院副院长出轨眼科主任?官方回应

不雅视频流出!医院副院长出轨眼科主任?官方回应

上观新闻
2025-11-06 13:25:05
2025-11-06 17:56:49
杨建荣的数据库笔记
杨建荣的数据库笔记
专注于数据库和开源技术
434文章数 1862关注度
往期回顾 全部

科技要闻

小鹏机器人里藏真人?何小鹏发一镜到底视频

头条要闻

孙东旭离开东方甄选 曾因与董宇辉"小作文风波"引争议

头条要闻

孙东旭离开东方甄选 曾因与董宇辉"小作文风波"引争议

体育要闻

送走两位全明星,公牛成了东部第一

娱乐要闻

“黑料缠身”的白百何 谁给她的勇气?

财经要闻

南银法巴加速发展背后:资金饥渴症待解

汽车要闻

是我眼花了么?怎么大猩猩都来参加新车发布了?

态度原创

游戏
手机
健康
家居
公开课

《街头篮球》20年自由不息:你欠青春的那场重逢,该赴约了

手机要闻

2025年第三季度,中国手机在印度遭遇了什么?

超声探头会加重受伤情况吗?

家居要闻

别样府院 畅享诗意生活

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版