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

news/2024/11/25 17:19:58/

目录

前言

正文

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

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的优点

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


http://www.ppmy.cn/news/83497.html

相关文章

“小白也能玩转Python数据分析,快速掌握技巧!

最近收到好几条私信,想要了解数据分析方面的学习教程。 Python如今势头很猛,但是结合市场环境来说,Python开发岗位的需求还是要低于其他后端语言,但是Python爬虫和数据分析的技能确是实实在在可以用到很多工作中去,所…

亚马逊,速卖通,国际站卖家在做测评时如何将风险降到最低呢?

测评是亚马逊卖家提升产品可信度和销售表现的重要手段 现在的测评市场遭到卖家们的极力吐槽,想要找到靠谱的资源也越来越难。据了解,去年很多骗子,中介都涌进测评市场,随意报价,导致整个市场鱼龙混杂,卖家…

Scala学习(三)---函数式编程

文章目录 1.面向对象编程2. 函数式编程是什么3.函数定义4.函数参数的特殊用法5.函数至简原则6.匿名函数6.1 匿名函数化简原则 7.高阶函数7.1 函数可以作为值进行传递7.2 函数可以作为参数进行传递7.3 函数可以作为返回值进行传递7.4 柯里化写法 1.面向对象编程 Scala语言是一个…

【案例教程】R语言在生态环境领域中的实践技术应用

R语言作为新兴的统计软件,以开源、自由、免费等特点风靡全球。生态环境领域研究内容广泛,数据常多样而复杂。利用R语言进行多元统计分析,从复杂的现象中发现规律、探索机制正是R的优势。为此,本课程以鱼类、昆虫、水文、地形等多样…

【个人笔记】真寻bot部署记录+源码食用记录

安装 0. 系统配置 Centos v8.2 1. 安装 使用真寻bot https://github.com/zhenxun-org/zhenxun_bot-deploy bash <(curl -s -L https://raw.githubusercontent.com/zhenxun-org/zhenxun_bot-deploy/master/install.sh)选择1&#xff0c;安装go-cqhttp和zhenxun_bot&…

计算机图形学 | 实验十一:阴影计算

计算机图形学 | 实验十一&#xff1a;阴影计算 计算机图形学 | 实验十一&#xff1a;阴影计算帧缓冲创建一个帧缓冲纹理附件渲染缓冲对象附件总结 阴影映射算法思想深度贴图渲染阴影抗锯齿 assimp库结果 华中科技大学《计算机图形学》课程 MOOC地址&#xff1a;计算机图形学&a…

Async/await详解

一、概念与背景 他是在ES8被提出的一种异步方式&#xff0c;它其实是promise的一种语法糖 二、 Async关键字 async 关键字用于快速声明异步函数 &#xff0c;可以用在函数声明、函数表达式、箭头函数和方法上 async function foo() {} let bar async function() {}; let…

linux CentOs 安装 docker

进入到我们的 linux 系统中&#xff0c;先查看是否已安装 docker 可以先尝试看一下 docker 版本&#xff1a; docker -v 然后提示了&#xff1a; -bash: docker: command not found 这就说明&#xff0c;没有 docker 这个命令。 还有一种&#xff0c;是查看 docker 服务状态…