![](https://img-blog.csdnimg.cn/1925cab11447479098d4ded789775b9e.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
OceanBase
文章平均质量分 73
分享OceanBase相关的功能、技术和使用经验
阿福Chris
Greenplum中文社区资深技术专家!多年深耕分布式数据库领域!拥有Greenplum、TiDB、GBase8a、OceanBase等分布式数据库官方认证证书!
展开
-
OceanBase 4.0 all-in-one 版本如何离线升级 obd
在测试 ob 4.0 allinone 版本时,我用了自动部署的方式(autodeploy),发现部署完的集群无法启动,错误原因可以参考这里:https://ask.oceanbase.com/t/topic/35601792。,我这里因为没有外网条件,所以只能离线搞,但是找了一圈没有找到教程,索性我就直接下载了一个 rpm 包,安装完后做了一下文件替换。这个找人确认了一下是 obd 1.6.0 的一个问题,在 obd 1.6.1 版本上已经解决了。升级 obd 有两种,在线升级和离线升级。原创 2022-11-24 16:52:50 · 739 阅读 · 0 评论 -
OceanBase 4.0 - 从分布式到单机,从单机到分布式
近些年国产化数据库如雨后春笋般冒出并遍地开花。据某技术平台不完全统计,国产化数据库(见图 )已达 200余个,对于这些数据库的名字,即使作为多年数据库从业者的我,也有很多是第一次听说。在这竞争激烈的数据库行业里,要想长久占据一席之地,顺应市场发展并打磨好自己的产品才是硬道理。图1 国产化数据库部分截图。原创 2022-11-15 19:36:03 · 2363 阅读 · 0 评论 -
OceanBase 4.0 三节点生产环境部署两三事
本文内容是新建集群,升级软件,不涉及数据迁移,理论上讲,3.1.4 到 4.0 的数据迁移不能通过升级软件来完成,可能需要花时间做数据导出导入或其他方式;从第2章内容也可以看到,整个部署过程中,是在线方式的,一直在询问是否使用发现的最新版本,这一点我还没测,按照以往的逻辑,如果是离线环境,只需要把 repo 改为本地镜像并把 rpm 导入本地即可完成(有待后面测试)原创 2022-11-02 23:00:14 · 1299 阅读 · 0 评论 -
OceanBase 4.0 all-in-one 版本快速尝鲜安装步骤
今天下午,OceanBase 4.0 all-in-one 版本的包发布出来了,。原创 2022-11-02 18:37:18 · 3777 阅读 · 4 评论 -
大家期待的 OceanBase 4.0 发包了,很多新特性让人眼前一亮,大家可以上手测试一下了
2022 年中的 OceanBase 大会上,宣布了小鱼版本的发布,官方号称推出首个单机分布式一体化架构。经过几个月的等待,今天(2022 年 11 月 2 日)OB 4.0 第一个版本终于发布了,大家可以从 Github 或官网社区版本下载页面,下载获取发布包进行测试啦。原创 2022-11-02 15:09:57 · 1675 阅读 · 0 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 10.数据库 SQL 引擎基础(上)
本篇文章主要介绍一些通用的 SQL 引擎技术,文章中以通用性为主,辅助以很多 OB 的实现方式,希望通过今天的内容让大家对 SQL 层有一个清晰的理解。最后的最后,如果大家感兴趣,可以多关注和参与 OB 的活动:https://ask.oceanbase.com/t/topic/35601006。一条 SQL 语句的常见结构如下,分别在图上给大家标注了一下每一段语法的执行顺序。今天的内容大概就这些~原创 2022-10-06 15:17:56 · 739 阅读 · 0 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 9.存储引擎结构(下)
之前分享了一篇文章,是关于《OceanBase 存储引擎结构》的上篇,本篇文章是该部分的下篇,将从 OB 的分布式存储、内存存储等角度进行介绍。原创 2022-10-06 14:41:24 · 1004 阅读 · 0 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 8.MiniOB Drop Table 解析
本文将带领大家从源码层面过一下 Drop Table 的实现,下面我们先回顾一下之前介绍过的 MiniOB 框架,SQL 语句的解析过程中,当前已经实现的只有 Parser、Resolver 和 Executor 模块。最后的最后,如果大家感兴趣,可以多关注和参与 OB 的活动:https://ask.oceanbase.com/t/topic/35601006。文件夹下就是上面提到的蓝色部分模块,当前已经实现的重点模块在。,这个阶段有很多内容都没有实现,可以直接跳转到执行阶段。今天的内容大概就这些~原创 2022-10-06 13:18:33 · 3688 阅读 · 7 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 7.数据库索引结构
MiniOB 中的 B+Tree 和上面介绍的基本是一致的,它存储的每个存储块就是一个 Page,每个 Page 是由 page_num/common header/左右节点/data 构成;B+Tree 是 B-Tree 的一种变体,B-Tree 全称 Balance Tree(平衡多路查找树),它可以自动保持与数据文件大小相适应的索引层次,这样可以起到预读数据的效果;散列表,又称哈希表,当桶的数量非常多,并且数据分布非常均匀时,散列表的定位速度是非常快的;前面介绍的都属于固定的散列表,还有一种。原创 2022-10-05 19:15:19 · 1225 阅读 · 0 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 6.存储引擎结构(上)
数据库管理系统都包含多个组件,每个组件具有不同的功能。存储引擎主要负责数据的存储和查询。今天我们主要介绍一下 OB 的 LSM-Tree 存储引擎优秀特性,并介绍主流的 LSM-Tree 及 compaction 策略。原创 2022-10-05 17:05:45 · 1330 阅读 · 0 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 5.MiniOB存储实现原理
首先我们还是来回顾一下 MiniOB 的框架图:本文章主要介绍的内容就是 “Executor” 模块与之交互的 “Storage Engine(存储引擎)。Buffer Pool 是文件和内存交互的关键组件;Record Manager 负责组织数据记录,如何在文件中存放数据;B±Tree 是索引的关键内容;原创 2022-10-05 12:23:44 · 1975 阅读 · 1 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 4.数据库存储基础
本篇文章是对数据库存储基础知识的学习,本篇文章将从以下几个部分展开介绍。原创 2022-10-04 21:07:47 · 1028 阅读 · 0 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 3.OceanBase基础架构和开发技巧
如果大家感兴趣,可以多关注和参与 OB 的活动:https://ask.oceanbase.com/t/topic/35601006。原创 2022-10-04 15:34:56 · 2850 阅读 · 0 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 2.MiniOB概述和环境搭建
首先运来老师介绍了 MiniOB 的来历。由于数据库是软件行业的三驾马车之一,非常重要,但是很多相关从业人员,受限于数据库内核超级广的知识体系,并不了解数据库的底层实现原理,所以上手并不容易。另外国内数据库起步比较晚,教育、科研人才积累的比较少。基于这些背景,OceanBase 社区希望通过 MiniOB 及其对应的系列课程,学习到很多数据库底层的原理。当前MiniOB 设计的比较简单,功能结构也比较清晰,可以通过下面的架构图形成一个整体的认识。Client 向灰色框框里的服务端发起访问请求;原创 2022-10-02 14:35:22 · 3805 阅读 · 3 评论 -
OceanBase 从0到1数据库内核实战教程学习笔记 - 1.数据库系统概述
最后一个章节,我们还是通过纪老师分享的一张图,来概述一下数据库系统各个部分的功能:数据库大概分为三个部分:SQL引擎、存储引擎和事务引擎。原创 2022-10-02 13:09:21 · 1643 阅读 · 0 评论 -
关于 obdeploy 部署脚本中的 Oceanbase 相关密码的理解
有几天没撸 OceanBase 了,今天跟大家一起聊一聊 OceanBase 自动化部署工具 obdeploy (obd) 在自动初始化脚本中涉及的一些密码的用途。原创 2022-09-08 21:55:01 · 1875 阅读 · 0 评论 -
如何使用 DataX 从 PostgreSQL 同步数据到 OceanBase
最后总结一下,本文通过一个简单的示例,演示了如何从 PostgreSQL 数据库,使用 DataX 将数据同步到 OceanBase,整体上来看最重要的就是 DataX 配置文件这一步。可以从各种数据源同步数据到 OB,并且性能也很可观,我还么有做同步性能测试演示,其实 DataX 在数据同步中的效率还是蛮高的。全程黑屏界面不友好,另外需要一个个的表进行定义,比较麻烦。当然如果您有开发经验,完全可以通过自行开发实现自动化操作。最后的最后,希望我分享的文章对您有用处,欢迎多多关注并讨论。原创 2022-08-24 19:52:58 · 1582 阅读 · 4 评论 -
各种语言如何连接到 OceanBase
本篇文章想跟大家分享一下,各种主流开发语言如何连接到 OceanBase 社区版数据库,进行日常开发。这个问题也是社区群里面问的比较多的一个问题之一,希望通过本篇文章,能给各位参与开发的小伙伴提供一些指导。首先我们在 OceanBase test 数据库中创建一个 t1 表,并向里面插入 2 条数据,用作后面所有语言的测试基础表:首先上来肯定要说一下 Java,说 Java 是第一大应用开发语言应该不为过吧?OceanBase 社区版对 MySQL 5.7 的兼容性最好,所以您可以使用 MySQL 5.7原创 2022-08-24 19:49:40 · 5768 阅读 · 0 评论 -
OceanBase 社区版 Docker 镜像存在的必要性
今天的文章来聊一个轻松点的话题:OceanBase 提供 Docker 镜像的必要性 >_< 。Docker 本身火的不要不要的,这个大家也都知道,那么数据库做个 Docker,真的有必要这么麻烦吗?我还记得 2017 年的时候调研容器数据库,当时觉得弄这个还挺麻烦的,当然,也有可能是我水平不行嘿嘿。好了,回到今天的主题,OceanBase 为什么要提供 Docker 镜像呢?而且 OB 的这个 Docker 镜像可以说是很有诚意,每次新版本发布,Docker 镜像都会在第一时间发布更新。下面带着这个疑问,原创 2022-08-24 19:45:42 · 519 阅读 · 0 评论 -
如何用 obd 给已有 OceanBase 集群增加 obproxy
前置条件:用 obd 提前创建好一个 OB 集群;一键添加:新建一个配置文件,采用另外的 deploy name 部署一个新的 obproxy;可用性检测:测试新增节点是否能正常使用。配置文件中,记得增加 rs_list,否则 obproxy 不知道该查询哪些 observer;新增部署时,deploy name 一定不能与原集群同名,否则肯定会部署失败。最后想说,任何问题都不可怕,大家要耐心,有问题及时在群里或论坛讨论,会有很多热心的朋友帮忙。原创 2022-08-24 19:42:11 · 689 阅读 · 0 评论 -
OceanBase 在线与离线安装方式详解
真正在在线安装过程中,不会像文中提到的这么顺滑,您可能遇到各种各样的问题,比如资源配置不足、NTP时间同步有问题、缺少对应的库文件等等,一款好的数据库,需要大家去适应,当然 OB 也在向着易用性上不断迈进。所以如果您在安装过程中遇到了任何问题,请不要焦虑,多尝试分析,多到论坛或技术群中咨询,总能把问题解决掉。离线安装整体来说也特别简单,仅仅多了提前下载和上传软件包的步骤。如果大家在日常部署过程中并不能访问外网,可以采用这种方式。原创 2022-08-24 12:34:59 · 4402 阅读 · 0 评论 -
MiniOB Mac本地编译报错 Could NOT find OpenSSL
报错原因是因为 Mac 电脑没有安装 openssh,执行如下命令安装即可。原创 2022-08-13 15:32:16 · 589 阅读 · 0 评论 -
MiniOB Build libevent/google test/jsoncpp报错问题解决
该错误是在执行:https://github.com/oceanbase/miniob/blob/main/docs/how_to_build.md 页面的步骤 3、4、5 时出现的。今天在 build 这几个依赖时,报了上面的错误:‘xxxxx’ already exists in the index。其实就是因为有相同名字的模块已经存在于 git 的索引中。...原创 2022-08-13 14:54:37 · 906 阅读 · 2 评论 -
OceanBase 安装 yum 源配置错误及解决办法
今天有个朋友问到说在安装 OceanBase ob-deploy的时候,发现 yum 源不能用了,报错 404,如下图:遇到这个问题第一反应是,官方应该不会随随便便把地址改掉吧,是不是本地配置的有问题?首先, 保险起见我还是找了一个空环境做了一下测试,发现如下配置运行均没有问题。紧接着, 尝试重置一下 yum 源:然后重新执行如下命令,问题就解决了:End~...原创 2022-06-29 11:45:21 · 1008 阅读 · 0 评论 -
《高性能数据访问中间件 OBProxy(一):功能模块及特性详解》 - 阅读笔记
1.前言今天早上拜读了致新老师发表的 OBProxy 系列文章第一篇,收获良多。首先是一些题外话,通篇文章看下来,分享的内容详尽,逻辑清晰,看起来致新老师应该是花了很大的力气去写这篇文章,这里非常感谢老师的付出。该文章让我对 OBProxy 有了一个整体的认识,算是一篇极好的 OBProxy 入门文章啦。2.我的个人理解文章介绍的主要内容是 OBProxy,全称为 OceanBase Database Proxy,是 OceanBase 数据库的一个代理。优秀的代理功能说到代理大家第一印象想到的肯原创 2022-05-24 07:48:24 · 1206 阅读 · 2 评论 -
开源OceanBase如何与Prometheus与Grafana监控结合
一、OceanBase 数据库简介OceanBase 数据库是一个原生的分布式关系数据库,它是完全由阿里巴巴和蚂蚁集团自主研发的项目,近期成立单独的商业公司北京奥星贝斯进行运营,并于2021年6月1日开源。OceanBase 数据库构建在通用服务器集群上,基于 Paxos 协议和分布式架构,提供金融级高可用和线性伸缩能力,不依赖特定硬件架构,具备高可用、线性扩展、高性能、低成本等核心技术优势。当前社区版仅开放了 MySQL 租户模式供大家使用,商业版还提供 Oracle 租户模式, OceanBase原创 2022-05-10 18:42:29 · 1810 阅读 · 16 评论 -
开源OceanBase安装部署及包管理工具 - OBD
OBD 全称为 OceanBase Deployer,是 OceanBase 开源软件的安装部署工具。OBD 同时也是包管理器,可以用来管理 OceanBase 所有的开源软件。OBD安装OBD的安装有三种方式:yum源联网安装rpm包本地安装源码安装下面我们分别来看一下。1.1 yum源联网安装yum源联网安装的方式主要支持Centos 7 及以上操作系统版本,这种方式比较适合有外网环境的情况,操作步骤如下:查看是否已安装:[admin@observer1 ~]$ obdbash原创 2022-05-03 10:36:45 · 1556 阅读 · 0 评论 -
OceanBase安装工具obdeploy编译过程中遇到的坑
1.Python2.7环境需要安装pip由于一些python依赖需要使用pip安装,所以CentOS 7上除了Python2.7以外,还需要安装pip,由于2.7已经超过支持时限,pip需要收工安装一下,命令如下:curl -o get-pip.py https://bootstrap.pypa.io/pip/2.7/get-pip.pysudo python2 get-pip.py2.需要安装pyinstaller由于打包Python程序时需要用到pyinstaller命令,所以需要提前安装好原创 2022-05-03 10:32:10 · 795 阅读 · 0 评论 -
OceanBase的超级用户 - 系统租户sys
系统租户是OB集群最重要的部分了,在系统自举过程中创建,具有很多高级权限,是日常运维离不开的角色,大家可以从下面的思维导图来纵览整个系统租户sys的功能。原创 2022-04-22 10:20:11 · 1252 阅读 · 0 评论 -
OceanBase报错RuntimeError: ‘OBDErrorCode‘ formate原因
在OceanBase集群部署完成后,尝试执行启动集群命令,失败报错如下:[chris@gpt1 ~]$ obd cluster start obclusterGet local repositories and plugins okOpen ssh connection okLoad cluster param plugin okCheck before start observer x[ERROR] oceanbase-ce-py_script_start_check-3.1.0 Runtim原创 2022-04-19 08:59:56 · 1097 阅读 · 0 评论 -
如何手动部署 OceanBase集群
🏠 个人主页:阿福Chris 📚 版权:本文由【阿福Chris】原创、在CSDN首发、需要转载请联系博主 🤹♂️ 如果文章对您有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦上一篇文章我们分享了如何通过 Docker 快速体验 OceanBase 集群,大家一定对 OB 有了一个整体的认识。那么本文章我们来尝试手动部署一套 OceanBase 集群。当我们学会手动部署 OceanBase 集群后,如果 OBD 的功能不满足需求时,就可以自己写程序脚本做 OceanBase 集群的部署...原创 2022-03-23 21:14:21 · 5072 阅读 · 2 评论 -
OceanBase使用 OBD 自动化部署多节点集群
OceanBase提供多种数据库集群部署方式,之前我也有分享手动部署的方式,通过手工部署方式,可以了解OB集群的运行逻辑并在错误出现时及时手工处理。今天这篇文章,我们来分享一下如何《使用 OBD 自动化部署多节点集群》。有关手动部署的步骤及注意事项,请参考如何手动部署 OceanBase集群 。1.集群规划有关集群功能的划分,我们仍然服用之前的规划信息。1.1 集群角色划分本次部署 OceanBase 三节点集群,三节点每个节点占用一台服务器部署observer;**另外单独采用一台服务器作为中原创 2022-04-12 17:05:58 · 2795 阅读 · 0 评论 -
OceanBase思维导图 - 性能优化与SQL优化
OceanBase社区整理的性能优化与SQL优化思维导图,分享给大家~原创 2022-03-30 06:12:45 · 504 阅读 · 0 评论 -
如何从MySQL数据库迁移数据到OceanBase
今天我们来看一下如何处理MySQL数据库迁移,因为OceanBase基本支持MySQL的语法,所以迁移过程会比较顺滑。1.在OceanBase中创建一个新租户首先我们依照OB的逻辑,创建一个新租户,包含如下步骤:创建一个资源单元 unit1创建一个资源池 pool1创建一个租户 test_tenant使用上面创建的资源池和资源单元MySQL [oceanbase]> CREATE RESOURCE UNIT unit1 MAX_CPU 1, MAX_MEMORY '1G', MAX_I原创 2022-04-12 19:03:41 · 3830 阅读 · 0 评论 -
OceanBase 初体验 - 手把手教你用Docker快速拉起实验环境
1.OceanBase简介OceanBase最初是由阿里巴巴/蚂蚁2010年开始研发,由阳振坤老师带头,从底层开始一行行码起来自研国产分布式数据库,整个团队持续在这个领域攻坚,在分布式技术上积累了很多核心竞争力,是支撑支付宝发展的核心技术,并且本次练习目的是通过 OceanBase Docker 容器,快速的体验 OceanBase 的 自动化部署过程,以及了解 OceanBase 集群安装成功后的目录特点和使用方法。练习条件有笔记本或服务器,内存至少12G 。 操作系统不限,能安装 Do原创 2022-03-19 12:21:53 · 2674 阅读 · 2 评论 -
OceanBase的日志管理 - 合理调整避免日志占满磁盘空间
OceanBase 数据库在运行过程中会自动生成日志。运维工程师通过查看和分析日志,可以了解 OceanBase 数据库的启动和运行状态。在之前的一些琐碎的文章里,我也提到了,新安装的数据库,可能由于空间规划不足,采用默认日志策略,导致日志文件将所有的空间都占满,然后导致集群出问题。今天我们就来看看OceanBase的两个日志管理策略:日志文件切片管理日志文件数量管理1.日志文件切片管理日志文件切片管理属于OceanBase本身的一种机制,单个日志文件大小不超过 256 MB,可通过日志文件切原创 2022-04-02 09:49:19 · 1529 阅读 · 0 评论 -
OceanBase部署observer启动后log日志狂写问题
observer启动后,home目录下的空间如下:原创 2022-03-23 16:30:16 · 1592 阅读 · 7 评论 -
OceanBase 社区版 3.1.3 Docker镜像尝鲜,能错过?不存在的
社区群里的小伙伴在贫困线上挣扎,仅有的内存都分给OceanBase Docker了,还是启动不起来??别担心,OceanBase 社区版 3.1.3 Docker镜像发布了,支持2C8G丝滑启动,快来尝尝鲜!!!获取链接:https://hub.docker.com/search?q=oceanbase&sort=updated_at&order=desc谁会是第四个下载的人?加快脚步了。。。。Show The Code~1.拉取镜像$ docker pull oceanbase原创 2022-04-03 00:39:23 · 926 阅读 · 4 评论 -
使用BenchmarkSQL对OceanBase进行测试的步骤
OceanBase打榜很牛,这个大家都知道,TPCC/TPCH都拿过世界第一了。平时我们在进行数据库测试的时候,也会经常用到BenchmarkSQL,今天我们就来尝试一下如何使用BenchmarkSQL在OceanBase上进行测试。本文部分参数配置参考了Oceanbase官方指导:https://zhuanlan.zhihu.com/p/112894850 由于开源版本不支持Oracle,所以本文采用MySQL模式测试,过程可能略有不同。1.准备OceanBase测试环境与测试任何数据库一样,原创 2022-04-13 11:57:47 · 3043 阅读 · 1 评论 -
OceanBase数据库obclient rpm包安装依赖libobclient问题
🏠 个人主页:阿福Chris 📚 版权:本文由【阿福Chris】原创、在CSDN首发、需要转载请联系博主 🤹♂️ 如果文章对您有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦进行obclient rpm包安装时,首先我们从官网下载对应的rpm包,然后安装,安装过程中,会遇到一个错误,如下:[admin@observer2 ~]$ rpm -ivh obclient-2.0.0-2.el7.x86_64.rpmwarning: obclient-2.0.0-2.el7.x86_...原创 2022-03-23 16:23:41 · 3221 阅读 · 0 评论