前言
官网地址:https://www.oceanbase.com/
OceanBase是由蚂蚁集团完全自主研发的国产原生分布式数据库,始创于2010年。是全球唯一在 TPC-C 和 TPC-H 测试上都刷新了世界纪录的国产原生分布式数据库。
2010年,创始人阳振坤加入阿里巴巴,OceanBase 同年诞生。
2019年,TPC-C 6088 万 tpmC 登顶榜首,打破 Oracle 保持 9 年的世界纪录,“双 11”创造 6100 万次/秒数据库处理峰值记录。
2020年,正式成立公司,独立商业化运作,TPC-C 7.07亿 tpmC 打破自己保持的世界纪录,超 Oracle 23 倍。
2021年,正式开源,开放 300 万行核心代码,TPC-H 1526万 QphH@30000GB 登顶榜首,成为全球唯一登顶 TPC-C 与 TPC-H 的分布式数据库,客户数突破 400 家,非金融类客户的营收占比超 3 成,发展成为真正的通用型企业级分布式数据库。
2022年,4.0 版本发布,正式发布 OceanBase 公有云,发布全新品牌 Slogan “海量记录 笔笔算数”。
正文
1. OceanBase 4.1发布
OceanBase 数据库(OceanBase Database)是一款完全自研的企业级原生分布式数据库,在普通硬件上实现金融级高可用,首创“三地五中心”城市级故障自动无损容灾新标准,刷新 TPC-C 标准测试,单集群规模超过 1500 节点,具有云原生、强一致性、高度兼容 Oracle/MySQL 等特性。
2023年,也就是今年的3 月 25 日,OceanBase 开发者大会·2023 在北京举办,大会上正式发布的 OceanBase 4.1 版本增加了旁路导入、租户级别物理备库、MySQL 8.0 兼容等多项面向开发者的能力。经测试,4.1 的小规格环境 TP 性能 sysnbench 综合读写能力相比 4.0 提升 40%,TPC-H 100G 场景性能比 4.0 提升 17%,TPC-DS 100G 场景性能比 4.0 提升 15%。
2.部署oceanbase
当我们只有一台可用机器时,还没有money时,可以选择下载社区版并且单机部署,如下是具体安装步骤。
安装环境
虚拟机:VMware Workstation 17 Player
操作系统:ubuntu-20.04.6-desktop-amd64
2.1下载 all-in-one 安装包
下载 all-in-one 安装包,并将其上传到机器任一目录下。
企业版:请联系技术支持获取 all-in-one 安装包。
社区版:请从 OceanBase 软件下载中心 下载 all-in-one 安装包,建议下载最新版本。
进入oceanbase软件中心下载,由于我使用的是笔记本,所以选择x86版下载安装。
2.2解压安装包
tar -xzf oceanbase-all-in-one-4.1.0.0-100120230423105040.el7.x86_64.tar.gz
在和这个安装包同一目录下会有一个新文件oceanbase-all-in-one
2.3 执行安装脚本
cd oceanbase-all-in-one
bin/install.sh
安装成功截图:
这个上面还有一堆安装信息,我没有截图。
2.4 设置环境变量
# set environment
source ~/. oceanbase-all-in-one/bin/env.sh
# check obd and obclient command
2.5 查看文件位置
which obd
which obclient
2.6 快速启动demo环境
#use obd demo command to quickly launch a demo cluster
obd demo
其实到这步安装就全部完成了,但是由于我的电脑储存空间不够,所以提示error
部署成功后,OBD会将各个组件的连接方式打印出来,给你们看看成功后的标志:
+---------------------------------------------+
| observer |
+-----------+---------+------+-------+--------+
| ip | version | port | zone | status |
+-----------+---------+------+-------+--------+
| 127.0.0.1 | 4.1.0.0 | 2881 | zone1 | ACTIVE |
+-----------+---------+------+-------+--------+
obclient -h127.0.0.1 -P2881 -uroot -Doceanbase
+---------------------------------------------+
| obproxy |
+-----------+------+-----------------+--------+
| ip | port | prometheus_port | status |
+-----------+------+-----------------+--------+
| 127.0.0.1 | 2883 | 2884 | active |
+-----------+------+-----------------+--------+
obclient -h127.0.0.1 -P2883 -uroot -Doceanbase
+----------------------------------------------------+
| obagent |
+----------------+-------------+------------+--------+
| ip | server_port | pprof_port | status |
+----------------+-------------+------------+--------+
| 172.30.135.208 | 8088 | 8089 | active |
+----------------+-------------+------------+--------+
+-------------------------------------------------------+
| prometheus |
+----------------------------+------+----------+--------+
| url | user | password | status |
+----------------------------+------+----------+--------+
| http://192.168.1.1:9090 | | | active |
+----------------------------+------+----------+--------+
+---------------------------------------------------------------------+
| grafana |
+----------------------------------------+-------+-----------+--------+
| url | user | password | status |
+----------------------------------------+-------+-----------+--------+
| http://192.168.1.1:3000/d/oceanbase | admin | oceanbase | active |
+----------------------------------------+-------+-----------+--------+
2.7 访问数据库
使用 OBClient 客户端连接 OceanBase 数据库
通过 2881 端口直连数据库
[admin@test001 ~]$ obclient -h127.0.0.1 -P2881 -uroot@sys -Doceanbase -A
通过 ODP 代理访问数据库
[admin@test001 ~]$ obclient -h127.0.0.1 -P2883 -uroot@sys -Doceanbase -A --proxy-mode
部署步骤参考自oceanbase官方文档,还有其他部署方式,如:部署oceanbase集成环境和部署oceanbase容器环境。详情请参考:ocean快速部署
3.oceanbase的优点
- 高可靠性:OceanBase采用了分布式架构,可以保证数据的高可靠性和高可用性,同时支持容灾备份和自动故障恢复等功能。
- 高性能:OceanBase采用了多种优化技术,包括分布式计算、数据压缩、多级缓存等,能够支持高并发、高吞吐量的数据处理。
- 高扩展性:OceanBase支持水平扩展,可以根据业务需求自由扩展集群规模,同时支持在线扩容和缩容。
- 全球化部署:OceanBase支持全球化部署,可以根据业务需求在不同地域部署数据库集群,提供低延迟、高可用的数据服务。
- 多语言支持:OceanBase支持多种编程语言的接口和API,方便开发者进行应用开发和数据访问。
- 安全性:OceanBase支持多层安全机制,包括加密传输、访问控制、审计等,保障数据的安全性和隐私性。
4.oceanbase与 Oracle 兼容性
OceanBase 数据库在数据类型、SQL 功能和数据库对象等基本功能上与 Oracle 数据库兼容。在 PL 方面,已经基本能够兼容全部的研发功能。在数据库安全、备份恢复、高可用和优化器等高级特性上 OceanBase 数据库的兼容性也非常好,而且有些特性还要优于 Oracle 数据库。这意味着在从 Oracle 数据库迁移到 OceanBase 数据库的过程中,用户不需要消耗大量的时间去学习新知识,即可流畅地实现从 Oracle 数据库到 OceanBase 数据库的迁移。
此外,由于 OceanBase 数据库与 Oracle 数据库在底层架构、产品形态等方面的不同,有一部分功能 OceanBase 数据库暂时不会进行兼容或者会与 Oracle 数据库的表现有所差异。
详情请参考:与 Oracle 兼容性概述
5.oceanbase与MySQL兼容性
OceanBase 数据库的 MySQL 模式兼容 MySQL 5.7/8.0 的绝大部分功能和语法。由于产品架构不同,或者客户需求不大,有些功能并没有被支持,以下是官方给的OceanBase 数据库的 MySQL 模式与原生 MySQL 数据库的不同:与MySQL兼容性
6.小结
OceanBase 数据库自 V4.0.0 开始提供统一的安装包 all-in-one package,自 V4.1.0 起,all-in-one package 新增支持安装 OCP Express。可以根据实际需求选择部分或全部组件安装。oceanbase数据库的安装是相当简单快捷的,没有设置高门槛;同时,oceanbase还有相应的社区,平时有啥问题都可以去查询相关资料,而且作为国产数据库对于国人还是很友好的。