阿里巴巴OceanBase介绍
前言
官网地址: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还有相应的社区,平时有啥问题都可以去查询相关资料,而且作为国产数据库对于国人还是很友好的。
相关文章:
阿里巴巴OceanBase介绍
前言 官网地址:https://www.oceanbase.com/ OceanBase是由蚂蚁集团完全自主研发的国产原生分布式数据库,始创于2010年。是全球唯一在 TPC-C 和 TPC-H 测试上都刷新了世界纪录的国产原生分布式数据库。 2010年,创始人阳振坤加入阿里巴巴&…...
leetcode 2560. 打家劫舍 IV
2560. 打家劫舍 IV 沿街有一排连续的房屋。每间房屋内都藏有一定的现金。现在有一位小偷计划从这些房屋中窃取现金。 由于相邻的房屋装有相互连通的防盗系统,所以小偷 不会窃取相邻的房屋 。 小偷的 窃取能力 定义为他在窃取过程中能从单间房屋中窃取的 最大金额 。…...
正点原子lwIP学习笔记——Socket接口TCP实验
1. Socket接口TCP Client配置连接 配置步骤如下所示: sin_family设置为AF_INET表示IPv4网络协议;sin_port为设置端口号;sin_addr. s_addr设置远程IP地址;调用函数Socket创建Socket连接, 注意该函数的第二个参数SOCK_…...
【Flink】
事件驱动型应用 核心目标:数据流上的有状态计算 Apache Flink是一个框架和分布式处理引擎,用于对无界或有界数据流进行有状态计算。 运行逻辑 状态 把流处理需要的额外数据保存成一个“状态”,然后针对这条数据进行处理,并且更新状态。这就是所谓的“…...
大数据Flink(九十一):Array Expansion(数组列转行)和Table Function(自定义列转行)
文章目录 Array Expansion(数组列转行)和Table Function(自定义列转行)...
华为云云耀云服务器L实例评测|华为云云耀云服务器L实例CentOS的存储和备份策略
1 华为云云耀云服务器L实例介绍 华为云云耀云服务器L实例是华为云计算服务中的一种虚拟云服务器,它提供了强大的计算资源,可以在云端运行各种应用程序和服务。 华为云服务器提供了多种实例类型,包括通用型、计算优化型、内存优化型等&#…...
Web自动化测试 —— 如何进行Selenium页面数据及元素交互?啊哈
前言: Web自动化测试是一种常用的测试方式,通过在浏览器中模拟用户操作以及与页面元素的交互,可以有效地检验页面的功能性以及稳定性。Selenium是一款流行的Web自动化测试工具,在本篇文章中,我们将介绍如何使用Seleni…...
点云从入门到精通技术详解100篇-基于全景图的室内场景点云补全方法(续)
目录 3.3 模型训练及实验评估 3.3.1 模型训练 3.3.2实验评估 4 基于自...
Debezium系列之:采集数据库数据实现对表指定的字段进行加密,下游实现对表加密后的字段进行解密
Debezium系列之:采集数据库数据实现对表指定的字段进行加密,下游实现对表加密后的字段进行解密 一、需求背景二、创建表三、深入理解加密算法的实现原理四、实现对表的指定字段加密五、插入数据六、消费Topic七、实现对加密的字段进行解密八、查看数据库一、需求背景 实际应用…...
Win10 cmd如何试用tar命令压缩和解压文件夹
环境: Win10 专业版 Microsoft Windows [版本 10.0.19041.208] 问题描述: Win10 cmd如何试用tar命令压缩和解压文件夹 C:\Users\Administrator>tar --help tar(bsdtar): manipulate archive files First option must be a mode specifier:-c Cre…...
最新AI写作系统ChatGPT源码/支持GPT4.0+GPT联网提问/支持ai绘画Midjourney+Prompt+MJ以图生图+思维导图生成
一、AI创作系统 SparkAi系统是基于很火的GPT提问进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI创作ChatGPT系统?小编这里写一个详细图文教程吧&#x…...
AI绘画普及课【二】图生图
文章目录 三、图生图1、图生图原理2、图生图的三个关键步骤3、参数技术性解析4、随机种子的含义研究 三、图生图 内容概要: 1、图生图原理 2、图生图基本流程 3、随机种子作用解析 1、图生图原理 图生图可以帮你把一张图片画成另一种模样。在文生图中我们看到&…...
C语言 数据类型
变量声明 格式(变量类型变量名称) 变量类型:整数类型(int),浮点数类型(float) float类型可以存储带小数的数字。 用printf()打印变量,使用%d来处理整数值,…...
瑞芯微RK3568:Debian系统如何安装Docker
本文基于HD-RK3568-IOT评估板演示Debian系统安装Docker,该方法适用于RK356X全系产品。 HD-RK3568-IOT评估板基于HD-RK3568-CORE 工业级核心板设计(双网口、双CAN、5路串口),接口丰富,适用于工业现场应用需求ÿ…...
联邦学习-Tensorflow实现联邦模型AlexNet on CIFAR-10
目录 Client端 Server端 扩展 Client.py Server.py Dataset.py Model.py 分享一种实现联邦学习的方法,它具有以下优点: 不需要读写文件来保存、切换Client模型 不需要在每次epoch重新初始化Client变量 内存占用尽可能小(参数量仅翻一…...
嵌入式Linux应用开发-文件 IO
嵌入式Linux应用开发-文件 IO 第四章 文件 IO4.1 文件从哪来?4.2 怎么访问文件?4.2.1 通用的 IO 模型:open/read/write/lseek/close4.2.2 不是通用的函数:ioctl/mmap 4.3 怎么知道这些函数的用法?4.4 系统调用函数怎么…...
【C++】多态,从使用到底层。
文章目录 前言一、多态的概念二、多太的定义和实现2.1 多太的构造条件2.2 虚函数2.3 重写(覆盖)2.4 C11 override 和 final2.5 重载,隐藏,重写 三、多态的原理3. 1虚函数表3.2 虚函数表如何完成多态的功能3.3 虚函数表存储在内存空间的那个区域ÿ…...
uvm白皮书练习_ch2_ch221只有driver的验证平台之*2.2.1 最简单的验证平台
uvm白皮书练习 ch221 dut.sv 这个DUT的功能非常简单,通过rxd接收数据,再通过txd发送出去。其中rx_dv是接收的数据有效指示,tx_en是发送的数据有效指示。 module dut (clk,rst_n,rxd,rx_dv,txd,tx_en );input clk ; input rst_n ; in…...
服务断路器_Resilience4j超时降级
创建模块cloud-consumer-resilience4j-order80 POM引入依赖 <dependencies><!-- 引入Eureka 客户端依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</a…...
【知识点随笔分析】我看看谁还不会用CURL命令
目录 前言: CURL介绍: CURL的基本使用: CURL与PING命令的区别: CURL命令的应用: 总结: 前言: 当今互联网时代,与服务器进行数据交互成为了无法回避的需求。无论是获取Web…...
教育工作者必备:用清音刻墨Qwen3为教学视频自动生成时间轴字幕
教育工作者必备:用清音刻墨Qwen3为教学视频自动生成时间轴字幕 1. 引言:教学视频的字幕痛点 作为一名教育工作者,您是否经常遇到这样的困扰?录制完教学视频后,手动添加字幕耗费大量时间,而且很难做到音画…...
MinIO搭配Nginx部署,除了反向代理解决CORS,这些安全与性能配置你也该知道
MinIO与Nginx生产级部署:从CORS解决到安全性能全栈优化 当对象存储服务MinIO遇上高性能Web服务器Nginx,两者的结合能为企业级应用带来怎样的化学反应?这不仅仅是简单的反向代理配置,而是一套涵盖安全加固、性能调优、高可用设计的…...
如何实现微信聊天记录的终极掌控:WeChatMsg完全指南
如何实现微信聊天记录的终极掌控:WeChatMsg完全指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatM…...
智慧医院的“新基建”:从顶层设计到全栈式智能运维的深度解构(PPT)
“未来的医院,其核心竞争力将不再仅仅是顶尖的医生和昂贵的设备,而是由数据驱动、以患者为中心、能自我优化的智慧生命体。”在“健康中国2030”与“数字中国”两大国家战略交汇的时代背景下,医疗健康产业正经历一场前所未有的数字化重构。传…...
掌握Dynamic-DataSource注解与事务传播:MANDATORY模式终极指南
掌握Dynamic-DataSource注解与事务传播:MANDATORY模式终极指南 【免费下载链接】dynamic-datasource dynamic datasource for springboot 多数据源 动态数据源 主从分离 读写分离 分布式事务 项目地址: https://gitcode.com/gh_mirrors/dy/dynamic-datasource …...
Qt 6.5 + DeepSeek API 流式聊天实战:手把手教你打造一个带记忆的桌面AI助手
Qt 6.5 DeepSeek API 流式聊天实战:打造带记忆的桌面AI助手 在当今软件开发领域,AI助手的集成已成为提升用户体验的重要趋势。想象一下,在你的代码编辑器或笔记软件中,有一个能理解上下文、实时响应且具备记忆能力的智能助手&…...
R语言孟德尔随机化环境搭建:手把手教你搞定gwasvcf、gwasglue等包的安装报错(附本地安装包)
R语言孟德尔随机化环境搭建:从报错到成功的全流程指南 第一次在R中安装孟德尔随机化相关工具包时,那种挫败感我至今记忆犹新。明明按照教程一步步操作,却不断遭遇各种报错——网络超时、依赖缺失、API限制...这些看似简单的问题足以让一个生物…...
基于双向DC - DC变换器(DAB)的储能系统控制仿真
Matlab/Simulink仿真模型,基于双向DC-DC变换器(双有源桥变换器DAB)的储能系统控制仿真模型,采用电压电流双PI闭环控制策略,单移相控制,在母线电压受到外界干扰的情况下,通过控制电池的充电和放电…...
requests - 简单好用的HTTP请求库
一、什么是requests? requests 是一个用于发送HTTP请求的 Python 库。 它可以帮助你: 轻松发送GET、POST、PUT、DELETE等请求处理Cookie、会话等复杂性自动解压缩内容处理国际化域名和URL 二、应用场景 requests 广泛应用于以下实际场景:…...
深入解析SSD的FTL:从LBA到PBA的映射机制与优化策略
1. 为什么需要FTL:SSD的"翻译官"工作原理 当你把文件保存到SSD时,操作系统只需要告诉SSD"把数据存到LBA 1234地址",完全不用关心数据实际存放在闪存芯片的哪个物理位置。这个神奇的能力全靠**FTL(闪存转换层&…...

