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

news2024/11/25 1:06:27

目录

前言

正文

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.coloradmin.cn/o/478558.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

王学岗码牛jetpack系列之ViewModel

ViewModel的目的:存储数据,以注重生命周期的方式管理界面的相关数据 viewModel的特性:1,数据持久化,不依赖于Activity的生命周期,有自己独立的生命周期 2,异步回调不会造成内存泄漏 3,隔离Model层与View层 4&#xff0…

EXCEL美化画图,请不要嫌弃excel画图,那是简单上手的不二之选

一、美化折线图 这是测试数据 这是一般人用excel画的折线图 这是二般人用excel画的折线图 具体实施步骤 1.调整成黑色或者灰度 选择灰色图即可 2.修改数据标识符号,并取消网格 注意每根线条都要设置这个数据标记符号 取消网格线很简单,点击网格…

Qt第一天:创建Qt项目

方式一:使用向导创建 打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项 弹出New Project对话框,选择Qt Widgets Application 选择【Choose】按钮,弹出如下对话框 设置项目名称和路径,按照…

【Mysql】基础篇:DQL(data query language):查询数据库中表的记录——select

博主简介:努力学习的大一在校计算机专业学生,热爱学习和创作。目前在学习和分享:数据结构、Go,Java等相关知识。博主主页: 是瑶瑶子啦所属专栏: Mysql从入门到精通近期目标:写好专栏的每一篇文章 目录 一、…

【C++11】多线程+IO流

目录 一、C11线程库 1、每个线程都有独立的栈空间 2、加锁的位置 3、CSA操作 4、C的类模板atomic(原子操作) 5、lock_guard(RAII风格的锁)/unique_lock(可随时释放锁) 6、条件变量(用于互…

微信小程序学习实录1(wxml文档、引入weui、双向数据绑定)

微信小程序学习实录 一、wxml文档二、新建页面快捷方式三、微信小程序引入weui四、双向数据绑定1.wxml渲染层2.js逻辑层 五、微信小程序跳转到H5 一、wxml文档 <!-- index.wxml --> <view><!-- 数据绑定 --><view><text>{{name}}</text>&…

机器学习笔记 基于OpenCV的文本检测和识别模块

一、EAST文本检测器简述 east是一种高效准确的场景文本检测器,网络模型如下。该模型是一个适用于文本检测的全卷积神经网络,输出单词或文本行的密集每像素预测。这就省去了诸如候选建议、文本区域形成和单词分割等中间步骤。后处理步骤仅包括对预测的几何形状进行阈值处理和N…

【分布式】一致性哈希和哈希槽

当我们拥有了多台存储服务器之后&#xff0c;现在有多个key&#xff0c;希望可以将这些个key均匀的缓存到这些服务器上&#xff0c;可以使用哪些方案呢&#xff1f; 1. 普通哈希取模法 1.1 直接哈希取模 这是一种最容易想到的方法&#xff0c;使用取模算法hash&#xff08;k…

前端三剑客React框架第一课入门的学习

前端三大框架React框架第一课入门的学习 前端三大框架的介绍 React:由facebook贡献&#xff0c;是一个基于javascript的前端库。它主要关注ui组件的构建&#xff0c;通过virtual dom等技术手段实现高效的渲染优化&#xff0c;可以与各种其他库和框架搭配使用&#xff0c;也有…

作为一个C++新手,我感兴趣的C++开源项目

2023年4月30日&#xff0c;周日晚上。 昨天完成了一个C项目后&#xff0c;想再开始一个C项目&#xff0c;但不知道做什么&#xff0c;于是决定看看有什么好的C开源项目。 今晚在网上逛了一圈后&#xff0c;发现了好多有趣的C开源项目。 参考文章&#xff1a; GitHub Top 10 …

【MySQL】十二,索引的概念

为什么使用索引 提高数据查询的效率。 定义 MySQL官方对索引的定义为&#xff1a;索引&#xff08;Index&#xff09;是帮助MySQL高效获取的数据的数据结构。 使用索引的优点 提高数据检索的效率&#xff0c;降低数据库的IO成本。通过创建唯一索引&#xff0c;可以保证数据…

科研闭环指南|学术论文撰写经验总结

前言&#xff1a;最近完成了自己人生中第一篇学术论文长文的撰写&#xff0c;从2023年4月12日完成初稿到2023年4月30日完成终稿这半个多月的时间里&#xff0c;在多位老师与师兄的帮助下&#xff0c;前前后后改了六七个版本&#xff0c;才改到大致满意的最终版&#xff08;在此…

设计模式——模板模式

导航&#xff1a; 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线设计模式牛客面试题 目录 模板模式 1、基本介绍 2、模板模式解决豆浆制作问题 3、钩子方法 4、Spring 框架AbstractApplicationContext抽象类 模板模式 …

C语言从入门到精通第16天(指针的定义与基本使用)

指针的定义与基本使用 什么是指针&#xff1f;指针变量的定义指针变量的基本使用 什么是指针&#xff1f; 在使用指针之前我们需要对指针进行初步的了解&#xff0c;首先我们要知道什么是指针&#xff1f; 通过前面的学习我们已经知道了内存的存储方式&#xff0c;他是通过一…

【LeetCode股票买卖系列:121. 买卖股票的最佳时机 | 一次遍历 | 暴力递归=>记忆化搜索=>动态规划】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

在群晖NAS上快速搭建属于自己的Git Server

群晖NAS套件中心是有Git Server套件的&#xff0c;只要在套件中心安装即可。但是需要注意的是&#xff1a; git 相关的命令需要使用 SSH 客户端连接到NAS上进操作。配置git时需要使用 管理员权限账户&#xff0c;而 push / fetch 使用的账户一般都为普通用户&#xff0c;一定要…

ChatGPT提示词工程(一):Guidelines

目录 一、说明二、安装环境三、Guidelines准则一&#xff1a;写出明确而具体的说明方法1&#xff1a;使用分隔符清楚地表示输入的不同部分方法2&#xff1a;用结构化输出&#xff1a;如直接要求它以HTML或者JSON格式输出方法3&#xff1a;请模型检查是否满足条件方法4&#xff…

01-环境搭建 尚筹网

环境搭建 一、项目结构搭建 ​ 模块关系 ​ parent模块仅仅用来确定各个Maven依赖的版本 ​ webui、component、entity模块继承自parent模块 ​ util、reverse模块属于独立工程&#xff0c;不参与继承与聚合 ​ 且webui依赖于component&#xff0c;component依赖于entity…

Cont. TF-IDF (BigData Data Mining)

Cont. 举例 例1 词频 (TF) 是一词语出现的次数除以该文件的总词语数。 假如一篇文件的总词语数是100个&#xff0c;而词语“母牛”出现了3次&#xff0c;那么“母牛”一词在该文件中的词频就是3/1000.03。 一个计算文件频率 (IDF) 的方法是文件集里包含的文件总数除以测定有多…

一些关于单链表的操作

思维导图&#xff1a; 一&#xff0c; 链表 1.1节点的结构 链表是啥样的啊&#xff1f;顾名思义链表就是一种用链子链接起来的表。那这种表是怎么样的啊&#xff1f; 这样的呗&#xff1a; 现在&#xff0c;我们知道了链表的形状了。那我们该如何用编程语言来形成这一种形状…