当前位置: 首页 > news >正文

OceanBase 数据库入门知识

🙈作者简介:练习时长两年半的Java up主
🙉个人主页:程序员老茶
🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎
📚系列专栏:Java全栈,计算机系列(火速更新中)
💭 格言:种一棵树最好的时间是十年前,其次是现在
🏡动动小手,点个关注不迷路,感谢宝子们一键三连

目录

  • 课程名:OceanBase
    • 内容/作用:知识点/设计/实验/作业/练习
    • 学习:OceanBase 数据库入门知识
    • 1. OceanBase 数据库简介
    • 2. OceanBase 数据库的优势
      • 2.1 高性能
      • 2.2 高可用性
      • 2.3 高扩展性
    • 3. OceanBase 数据库的核心组件
      • 3.1 Replication Server
      • 3.2 Data Nodes
      • 3.3 Coordinator Server
    • 4. OceanBase 数据库的使用方式
      • 4.1 SQLShell(SQL*Plus)工具
      • 4.2 Java API
    • 5. 下载 OceanBase 数据库
    • 6. 安装 OceanBase 数据库
      • 6.1 安装前准备
      • 6.2 安装步骤
    • 7. 使用 OceanBase 数据库
      • 7.1 连接 OceanBase 数据库
      • 7.2 SQL 查询示例
    • 8. OceanBase 数据库的增删查改实现
      • 8.1 增加数据
      • 8.2 删除数据
      • 8.3 查询数据
      • 8.4 更新数据
    • 9. 具体知识点
      • 9.1 SQL 语法
      • 9.2 事务管理
      • 9.3 连接池
    • 10、总结

课程名:OceanBase

内容/作用:知识点/设计/实验/作业/练习

学习:OceanBase 数据库入门知识

1. OceanBase 数据库简介

OceanBase 是一款阿里巴巴集团开发的高性能、高可用、高扩展性的分布式关系型数据库。它采用了分布式架构,支持大规模数据存储和高并发访问,能够满足企业级应用的需求。本文将介绍如何下载、安装和使用 OceanBase 数据库,并提供详细的解释和代码示例。

2. OceanBase 数据库的优势

2.1 高性能

OceanBase 数据库采用了多种优化技术,如读写分离、分布式事务、内存表等,能够大幅提高数据库的读写性能。同时,它还支持多种存储引擎,包括关系型引擎、非关系型引擎等,能够根据不同的业务需求选择最合适的存储引擎。

2.2 高可用性

OceanBase 数据库采用了多副本复制的方式,能够保证数据的可靠性和一致性。同时,它还支持故障转移功能,当某个节点出现故障时,系统会自动将请求转发到其他正常的节点上,从而保证系统的高可用性。

2.3 高扩展性

OceanBase 数据库采用了分布式架构,支持水平扩展和垂直扩展。当系统负载增加时,可以通过添加更多的节点来扩展系统的性能;当单个节点的负载过高时,可以通过增加单个节点的硬件配置来提高其性能。

3. OceanBase 数据库的核心组件

3.1 Replication Server

OceanBase 数据库的每个节点都运行着一个 Replication Server,用于管理数据的副本。Replication Server 会将数据的变化记录在日志文件中,并将这些日志文件发送给其他的 Replication Server,从而实现数据的同步。

3.2 Data Nodes

Data Nodes 是 OceanBase 数据库的存储节点,负责存储和管理数据。每个 Data Node 都有一个本地磁盘和一个内存缓存区,用于加速数据的读写操作。Data Nodes 还可以通过网络与其他节点进行通信,以实现数据的共享和同步。

3.3 Coordinator Server

Coordinator Server 是 OceanBase 数据库的管理节点,负责协调和管理整个分布式系统的运行。它不仅会接收来自客户端的请求,还会向 Data Nodes 发送指令,以实现对数据的管理和调度。

4. OceanBase 数据库的使用方式

4.1 SQLShell(SQL*Plus)工具

使用 OceanBase 数据库需要先安装 SQLShell(SQL*Plus)工具。SQLShell 是一个命令行工具,可以连接到 OceanBase 数据库并执行 SQL 查询和更新操作。用户可以使用 SQLShell 来创建和管理数据库对象、执行 SQL 语句以及查看数据库的状态信息等。

4.2 Java API

OceanBase 还提供了 Java API,使得开发者可以使用 Java 语言来连接和操作 OceanBase 数据库。Java API 包括多个模块和类库,涵盖了连接池、事务管理、数据操作等多个方面,可以满足不同场景下的开发需求。

下面是一个使用 Java API 连接 OceanBase 数据库的示例代码:

import com.oceanbase.jdbc.*;public class OceanBaseDemo {public static void main(String[] args) throws Exception {// 加载 OceanBase 驱动Class.forName("com.oceanbase.jdbc.Driver");// 获取连接字符串String url = "jdbc:oceanbase://localhost:8888/test?charset=utf8";// 获取连接对象Connection conn = DriverManager.getConnection(url);// 创建 SQLSession 对象SQLSession session = conn.createSQLSession();// 执行 SQL 查询ResultSet rs = session.executeQuery("SELECT * FROM user");// 遍历结果集while (rs.next()) {System.out.println(rs.getString("name") + " " + rs.getInt("age"));}// 关闭连接rs.close();conn.close();}
}

以上代码中,首先通过 Class.forName() 方法加载 OceanBase 驱动,然后使用 DriverManager.getConnection() 方法获取连接对象。接着创建一个 SQLSession 对象,并通过该对象执行 SQL 查询。最后遍历结果集并输出查询结果。

5. 下载 OceanBase 数据库

首先,访问 OceanBase 官方网站(https://www.oceanbase.com/)下载最新版本的 OceanBase 数据库。根据您的操作系统选择相应的版本。

以 Windows 为例,下载完成后,您将得到一个压缩包,解压后即可得到 OceanBase 数据库的安装文件。

6. 安装 OceanBase 数据库

6.1 安装前准备

在安装 OceanBase 数据库之前,请确保您的计算机满足以下要求:

  • 操作系统:Windows、Linux 或 macOS
  • CPU:支持 Intel 或 AMD 处理器
  • 内存:至少 4GB RAM
  • 硬盘空间:至少 50GB 可用空间

6.2 安装步骤

以 Windows 为例,双击解压后的安装文件,按照提示进行安装。以下是详细步骤:

  1. 打开解压后的文件夹,双击 “setup.exe” 文件启动安装程序。
  2. 在 “OceanBase Installer” 界面,点击 “Next” 按钮。
  3. 阅读并接受许可协议,然后点击 “Next”。
  4. 选择安装类型,建议选择 “Full”,以完全安装 OceanBase 数据库。点击 “Next”。
  5. 选择安装路径,建议使用默认路径。点击 “Next”。
  6. 配置 OceanBase 数据库的端口号,默认为 23000。点击 “Next”。
  7. 配置 OceanBase 数据库的管理员账户和密码,以及数据库名称。点击 “Next”。
  8. 等待安装进度条完成,然后点击 “Finish” 完成安装。

至此,OceanBase 数据库已经成功安装在您的计算机上。

7. 使用 OceanBase 数据库

7.1 连接 OceanBase 数据库

要连接到 OceanBase 数据库,您需要使用 SQLShell(SQL*Plus)工具。请按照以下步骤操作:

  1. 打开命令提示符(Windows)或终端(Linux / macOS)。
  2. 输入以下命令以启动 SQLShell:
sqlplus /nolog
  1. 输入您的 OceanBase 数据库管理员账户和密码,然后按回车键。如果连接成功,您将看到类似以下的输出:
Connected to an idle instance.
Oracle Net Services Registered with the OCI library.
Version:        19.3 (16.0.4) Release Date: XXXX-XX-XX XXXX:XX:XX:XXXX

7.2 SQL 查询示例

现在您可以开始执行 SQL 查询了。以下是一些简单的示例:

  1. 显示所有数据库:
SHOW ALL;
  1. 显示当前用户的所有表:
SELECT table_name FROM all_tables;
  1. 创建一个新的用户(如果需要):
CREATE USER new_user IDENTIFIED BY new_password;
  1. 授权新用户访问某个表:
GRANT CONNECT, RESOURCE TO new_user;
  1. 如果需要撤销用户的权限,可以使用以下命令:
REVOKE CONNECT, RESOURCE FROM new_user;

8. OceanBase 数据库的增删查改实现

8.1 增加数据

OceanBase 数据库支持通过 SQL 语句向表中插入数据。下面是一个示例代码:

INSERT INTO user (name, age) VALUES ('Tom', 20);

以上代码将在 user 表中插入一条记录,包含 nameage 两个字段的值。

8.2 删除数据

OceanBase 数据库支持通过 SQL 语句从表中删除数据。下面是一个示例代码:

DELETE FROM user WHERE name = 'Tom';

以上代码将从 user 表中删除 nameTom 的记录。

8.3 查询数据

OceanBase 数据库支持通过 SQL 语句查询表中的数据。下面是一个示例代码:

SELECT * FROM user;

以上代码将查询 user 表中的所有记录,并将结果输出到控制台。

8.4 更新数据

OceanBase 数据库支持通过 SQL 语句更新表中的数据。下面是一个示例代码:

UPDATE user SET age = 21 WHERE name = 'Tom';

以上代码将更新 user 表中 nameTom 的记录的 age 字段值为 21

9. 具体知识点

9.1 SQL 语法

在 OceanBase 数据库中,SQL 语法与标准 SQL 语法基本一致,但也有一些差异。例如,OceanBase 数据库支持使用 VALUES 关键字来插入数据,而不支持使用 INSERT INTO 命令。

9.2 事务管理

OceanBase 数据库支持事务管理,可以确保多个操作的原子性、一致性和持久性。在执行多个操作时,可以使用事务来保证这些操作要么全部成功,要么全部失败。

9.3 连接池

OceanBase 数据库提供了连接池功能,可以有效地管理数据库连接资源。连接池可以提高应用程序的性能和可伸缩性,减少连接建立和释放的开销。

10、总结

本文介绍了如何下载、安装和使用 OceanBase 数据库。首先,我们需要确保计算机满足最低系统要求。然后,按照官方提供的安装步骤进行操作即可。在安装过程中,需要注意选择正确的安装类型和路径,配置数据库的端口号、管理员账户和密码等信息。完成安装后,可以使用 SQLShell(SQL*Plus)工具连接到数据库并执行 SQL 查询。

往期专栏
Java全栈开发
数据结构与算法
计算机组成原理
操作系统
数据库系统
物联网控制原理与技术

相关文章:

OceanBase 数据库入门知识

🙈作者简介:练习时长两年半的Java up主 🙉个人主页:程序员老茶 🙊 ps:点赞👍是免费的,却可以让写博客的作者开兴好久好久😎 📚系列专栏:Java全栈,…...

自定义无边框窗口

效果: 可拖动拉伸 ui:设计如下 样式表:在ui CustomDialog 里设置的 #widget_title{background: #E6F1EB;border-top-left-radius: 20px;border-top-right-radius: 20px;}#widget_client{background-color: rgb(255, 255, 255);border-bottom…...

【网络安全 --- kali2023安装】超详细的kali2023安装教程(提供镜像资源)

如果你还没有安装vmware 虚拟机,请参考下面博客安装 【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)-CSDN博客【网络安全 --- 工具安装】VMware 16.0 详细安装过程(提供资源)https://blog.csdn.net/m0…...

机器学习笔记(二)

过拟合 如下图左边,模型出现了过拟合现象 为了解决过拟合现象, 其中一个做法是多收集数据,如右图。 第二种做法是减少模型的特征数量,即x 第三种做法是正则化 正则化就是减少x前面的参数 w的数值, 不用消除x 正则化的梯度下降如下, 因为只是缩小了w的值,而 b的值保持不变 …...

Java @Override 注解

在代码中,你可能会看到大量的 Override 注解。 这个注解简单来说就是让编译器去读的,能够避免你在写代码的时候犯一些低级的拼写错误。 Java Override 注解用来指定方法重写(Override),只能修饰方法并且只能用于方法…...

用rabbitMq 怎么处理“延迟消息队列”?

延迟消息队列是一种允许消息在发送后等待一段时间,然后再被消费的机制。这种机制通常用于需要延迟处理的应用场景,如定时任务、消息重试、消息调度等。在 RabbitMQ 中,实现延迟消息队列需要使用一些额外的组件和技术,因为 RabbitM…...

不常见的JS加密分析

前言 ​ 今天发现一个很少见的JS加密代码,他由一段十分少见的环境检测逻辑,修改一个字符都会被检测到,十分神奇,今天献上。 源代码 let hiJsJiami;!function(){const Zg3GArray.prototype.slice.call(arguments);return eval(&…...

TCP原理特性详解

文章目录 可靠传输机制1.确认应答2.超时重传2.连接管理1.三次握手2.四次挥手 传输效率1.滑动窗口2.流量控制3.拥塞控制4.延时应答5.捎带应答 面向字节流粘包问题 TCP异常情况 可靠传输机制 可靠性:即发送方知道数据是发送成功了,还是失败了。 1.确认应答…...

什么是懒加载,JS如何实现懒加载,在php中如何去实现懒加载

懒加载(Lazy Loading)是一种前端优化技术,用于推迟加载页面中的某些资源(如图片、脚本、样式等),直到用户需要访问或者接近该资源时才进行加载。这可以减少初始页面加载时间,并提高页面性能和用…...

Cesium 展示——读取文件——加载 geojson 文件数据

文章目录 需求分析方法一:加载 geojson 文件方法二:加载 后台解析后的 geojson 文件结果需求 在做项目时,对加载 geojson 格式的数据有了一定的了解,因此试着尝试接手后台解析的 geojson 数据进行绘制,因此做了总结如下 分析 方法一:加载 geojson 文件 this.od6 = wi…...

(二)Apache log4net™ 手册 - 配置

0、引言 在上一篇文章中我们简单介绍了 Log4Net 及其核心的三大组件。本文将在上一篇文章的基础上继续探讨与 Log4Net 配置相关的内容。 1、配置 将日志请求插入到应用程序代码中需要进行大量的计划和工作。观察表明,大约4%的代码专门用于日志记录。因此&#xf…...

Elasticsearch:时间点 API

Elasticsearch:时间点 API-CSDN博客 在今天的文章中,我将着重介绍 Point in time API。在接下来的文章中,我将介绍如何运用 PIT 来对搜索结果进行分页。这也是被推荐使用的方法。 Point in time API 默认情况下,搜索请求针对目标…...

hive数据表定义

分隔符 CREATE TABLE emp( userid bigint, emp_name array<string>, emp_date map<string,date>, other_info struct<deptname:string, gender:string>) ROW FORMAT DELIMITED FIELDS TERMINATED BY \t COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMINAT…...

OpenMesh 网格简化之顶点聚类

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 顶点聚类方法将落在给定大小体素中的所有顶点集中到单个顶点之上,其过程有点类似于点云体素下采样,之后再基于聚类之后的顶点重新连接面片,以达到网格简化的目的。 二、实现代码 #define _USE_MATH_DEFINES #in…...

C++ 类和对象篇(八) const成员函数和取地址运算符重载

目录 一、const成员函数 1. const成员函数是什么&#xff1f; 2. 为什么有const成员函数&#xff1f; 3. 什么时候需要使用const修饰成员函数&#xff1f; 二、取地址运算符重载 1. 为什么需要重载取地址运算符&#xff1f; 2. 默认取地址运算符重载函数 3. 默认const取地址运…...

k8s 集群安装(vagrant + virtualbox + CentOS8)

主机环境&#xff1a;windows 11 k8s版本&#xff1a;v1.25 dashboard版本&#xff1a;v2.7.0 calico版本&#xff1a; v3.26.1 CentOS8版本&#xff1a;4.18.0-348.7.1.el8_5.x86_64 用到的脚本&#xff1a; https://gitcode.net/sundongsdu/k8s_cluster 1. Vagrant创建…...

8、Docker数据卷与数据卷容器

一、数据卷(Data Volumes) 为了很好的实现数据保存和数据共享&#xff0c;Docker提出了Volume这个概念&#xff0c;简单的说就是绕过默认的联合文件系统&#xff0c;而以正常的文件或者目录的形式存在于宿主机上。又被称作数据卷。 数据卷 是一个可供一个或多个容器使用的特殊目…...

大数据与Hadoop入门理论

一、大数据的3种数据类型 1、结构化数据 可定义&#xff0c;有类型、格式、结构的强制约束 如&#xff1a;RDBMS&#xff08;关系型数据库管理系统&#xff09; 2、非结构化数据 没有规律没有数据约束可言&#xff0c;很复杂难以解析 如&#xff1a;文本文件&#xff0c;视…...

持续集成部署-k8s-深入了解 Pod:探针

持续集成部署-k8s-深入了解 Pod:探针 1. 探针分类2. 探针探测方式3. 探针参数配置4. 启动探针的应用5. Liveness 探针的应用6. Readiness 探针的应用1. 探针分类 Kubernetes 中的探针是指容器内的进程用于告知 Kubernetes 组件其自身状态的机制; Readiness Probe:就绪探针用…...

来单提醒/客户催单 ----苍穹外卖day9

来单提醒 需求分析 代码开发 注意:前端请求的并不是8080端口;而是先请求Nginx,Nginx进行反向代理以后转发到8080端口 这段代码首先创建了一个orders类用于更新订单状态 并且在更新状态后使用websocket发送给后端提醒 将信息放在map后,使用json的string化方式传给一个接收对象,…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

聊一聊接口测试的意义有哪些?

目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开&#xff0c;首…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

AGain DB和倍数增益的关系

我在设置一款索尼CMOS芯片时&#xff0c;Again增益0db变化为6DB&#xff0c;画面的变化只有2倍DN的增益&#xff0c;比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析&#xff1a; 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...

SpringAI实战:ChatModel智能对话全解

一、引言&#xff1a;Spring AI 与 Chat Model 的核心价值 &#x1f680; 在 Java 生态中集成大模型能力&#xff0c;Spring AI 提供了高效的解决方案 &#x1f916;。其中 Chat Model 作为核心交互组件&#xff0c;通过标准化接口简化了与大语言模型&#xff08;LLM&#xff0…...

【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解

一、前言 在HarmonyOS 5的应用开发模型中&#xff0c;featureAbility是旧版FA模型&#xff08;Feature Ability&#xff09;的用法&#xff0c;Stage模型已采用全新的应用架构&#xff0c;推荐使用组件化的上下文获取方式&#xff0c;而非依赖featureAbility。 FA大概是API7之…...

数据结构第5章:树和二叉树完全指南(自整理详细图文笔记)

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 原创笔记&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 上一篇&#xff1a;《数据结构第4章 数组和广义表》…...

对象回调初步研究

_OBJECT_TYPE结构分析 在介绍什么是对象回调前&#xff0c;首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例&#xff0c;用_OBJECT_TYPE这个结构来解析它&#xff0c;0x80处就是今天要介绍的回调链表&#xff0c;但是先不着急&#xff0c;先把目光…...

大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程

基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...