「OceanBase 4.1 体验」|连续多年支撑双11的国产原生分布式数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 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%。

目录


前言


正文


1. OceanBase 4.1发布


2.部署oceanbase


安装环境


2.1下载 all-in-one 安装包


2.2解压安装包


2.3执行安装脚本


2.4设置环境变量


2.5查看文件位置


2.6快速启动demo环境


2.7访问数据库


3.oceanbase的优点


4.oceanbase与 Oracle 兼容性


5.oceanbase与MySQL兼容性


6.小结


前言

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版下载安装。

e94a3f01906722699222f498ff774f0a_41701ca422ac40e1937f252de8ecdfab.png



2.2解压安装包

tar -xzf oceanbase-all-in-one-4.1.0.0-100120230423105040.el7.x86_64.tar.gz

80068f1b396c89b92d5c5f6c4f4f80cb_49e96cb4c41a4cf09845002d6b8e6b43.png

在和这个安装包同一目录下会有一个新文件oceanbase-all-in-one

292b37cece38413e9269750267d1e119_84d222ab87084ce39f07669fbbf92e27.png



2.3执行安装脚本

cd oceanbase-all-in-one
bin/install.sh


e29e0e3e8bad1a5d16bb7d774b4cc8f7_ae25a42c405c4f5f9a82b95369cd2b56.png

安装成功截图:


6eac4a455305be56cd1decfe87243f11_e224a97327d24fc1bbf95696817d91bf.png


这个上面还有一堆安装信息,我没有截图。


2.4设置环境变量

# set environment
source ~/. oceanbase-all-in-one/bin/env.sh
# check obd and obclient command

cebf0d313f5cc79d37e9c0bdca397bd4_5d6e70c37fa14346b3c0d1b241e5b865.png


2.5查看文件位置

which obd
which obclient

074c688623565f7a959403e5a63968fd_caeb695464b6477eb3058af90d442c05.png


2.6快速启动demo环境

#use obd demo command to quickly launch a demo cluster
obd demo

cfcb13e4a0cbc19216947b72cd0c2fc9_27d10207b4f5496dbef0fe393fe5aca6.png


其实到这步安装就全部完成了,但是由于我的电脑储存空间不够,所以提示error


1b4d97e1a0f7b7e85ef7306d41611d63_34d2ea94f3944a9599042b3c1a7555ed.png


部署成功后,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的优点

1. 高可靠性:OceanBase采用了分布式架构,可以保证数据的高可靠性和高可用性,同时支持容灾备份和自动故障恢复等功能。

2. 高性能:OceanBase采用了多种优化技术,包括分布式计算、数据压缩、多级缓存等,能够支持高并发、高吞吐量的数据处理。

3. 高扩展性:OceanBase支持水平扩展,可以根据业务需求自由扩展集群规模,同时支持在线扩容和缩容。

4. 全球化部署:OceanBase支持全球化部署,可以根据业务需求在不同地域部署数据库集群,提供低延迟、高可用的数据服务。

5. 多语言支持:OceanBase支持多种编程语言的接口和API,方便开发者进行应用开发和数据访问。

6. 安全性: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还有相应的社区,平时有啥问题都可以去查询相关资料,而且作为国产数据库对于国人还是很友好的。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
2月前
|
SQL 关系型数据库 MySQL
乐观锁在分布式数据库中如何与事务隔离级别结合使用
乐观锁在分布式数据库中如何与事务隔离级别结合使用
|
18天前
|
Cloud Native 关系型数据库 分布式数据库
PolarDB 分布式版 V2.0,安全可靠的集中分布式一体化数据库管理软件
阿里云PolarDB数据库管理软件(分布式版)V2.0 ,安全可靠的集中分布式一体化数据库管理软件。
|
4月前
|
存储 SQL 分布式数据库
OceanBase 入门:分布式数据库的基础概念
【8月更文第31天】在当今的大数据时代,随着业务规模的不断扩大,传统的单机数据库已经难以满足高并发、大数据量的应用需求。分布式数据库应运而生,成为解决这一问题的有效方案之一。本文将介绍一款由阿里巴巴集团自主研发的分布式数据库——OceanBase,并通过一些基础概念和实际代码示例来帮助读者理解其工作原理。
423 0
|
1月前
|
SQL 关系型数据库 数据库
国产数据实战之docker部署MyWebSQL数据库管理工具
【10月更文挑战第23天】国产数据实战之docker部署MyWebSQL数据库管理工具
144 4
国产数据实战之docker部署MyWebSQL数据库管理工具
|
1月前
|
关系型数据库 分布式数据库 数据库
PostgreSQL+Citus分布式数据库
PostgreSQL+Citus分布式数据库
66 15
|
2月前
|
SQL 关系型数据库 分布式数据库
Citus 简介,将 Postgres 转换为分布式数据库
【10月更文挑战第4天】Citus 简介,将 Postgres 转换为分布式数据库
111 4
|
2月前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
53 0
|
4月前
|
关系型数据库 分布式数据库 数据库
安全可靠的国产自研数据库PolarDB V2.0,让数据库开发像“搭积木”一样简单!
安全可靠的国产自研数据库PolarDB V2.0,让数据库开发像“搭积木”一样简单!
安全可靠的国产自研数据库PolarDB V2.0,让数据库开发像“搭积木”一样简单!
|
4月前
|
Cloud Native 关系型数据库 分布式数据库
国产数据库的发展趋势是什么?
【8月更文挑战第26天】国产数据库的发展趋势是什么?
120 15