OceanBase基础概念

文章目录

  • 基本概念介绍
    • 集群、Zone和OB Server
    • RootService总控服务
    • 多租户机制,资源隔离,数据隔离
    • 资源池
    • 创建租户
    • 检查集群状态
    • 查看系统日志

基本概念介绍

在这里插入图片描述

集群、Zone和OB Server

在这里插入图片描述

  • 一个集群由多个Zone组成,给集群内的一批机器打上同一个tag,则属于同一个Zone
  • 不同的Zone可以对应不同城市、一个城市的不同机房、或者一个机房的不同机架
  • Zone个数>=3,建议是奇数
  • 每个zone均有且只有一份完整的副本;单Zone的故障不影响业务
  • 每台OBServer相对独立,有独立计算和存储引擎

RootService总控服务

在这里插入图片描述
OceanBase的“总控服务”

  • OceanBase的核心模块,管理整个集群
  • 集群内置服务,无需额外软硬件部署
  • 自带高可用能力,无单点故障风险

核心功能

  • 系统初始化(BootStrap) ;系统元数据管理
  • 资源分配及调度:分区及副本管理、动态负载均衡、扩容/缩容等]
  • 全局DDL;集群数据合并

多租户机制,资源隔离,数据隔离

在这里插入图片描述
租户简介

  • 租户类似传统数据库的实例,它由系统租户根据需要(比如说为了某个业务的需要)创建出来。在创建租户的时候,除了指定租户名字以外,最重要的是指定它占用的资源情况
  • 将数据库集群按指定规格(CPU、内存、存储、TPS、QPS)划分成多个资源池,分配给不同的租户,租户之间资源隔离
  • 一般一个应用占用一个租户

租户特性

  • 可以创建自己的用户(不同的用户名和密码)
  • 可以创建数据库(database)、表(table)等所有客体对象
  • 有自己独立的information_schema等系统数据库
  • 有自己独立的系统变量
  • 数据库实例所具备的其他特性

资源池

在这里插入图片描述

Unit

  • 每个UNIT描述位于一个Server上的一组计算和存储资源,每个Unit只能属于一个租户
  • 每个Unit可以视为一个轻量级虚拟机,包括若干CPU资源,内存资源,磁盘资源等
    租户资源池
  • 一个租户拥有若干个资源池。这些资源池的集合描述该租户所能使用的所有资源
  • 一个租户在同一个Server上最多有一个UNIT。实际上,从概念上讲,副本是存储在UNIT之中,UNIT是副本的容器

注意:OceanBase可以为不同类型的应用分配不同类型和不同数量的Unit,满足业务不同的需求。资源并不是静态的,可以随着业务的发展不断调整(调高或者调低)

创建租户

  1. 创建“资源单元规格”(仅仅是规格定义,不实际分配资源)

    create resource unit unit1max_cpu = 4,max_memory = 10737418240, -- 10GBmin_memory = 10737418240, -- 10GBmax_iops = 1000,min_iops = 128,max_session_num = 300,max_disk_size = 21474836480 -- 20GB;	
    
  2. 创建资源池(会实际创建unit,按规格定义分配资源):根据资源单元规格的定义创建资源单元,并赋给一个新的资源池

    create resource pool pool1UNIT = 'unit1',UNIT_NUM = 1,ZONE_LIST = ('zone1', 'zone2', 'zone3');
    
    • 每个resource pool在每个OB Server上只能有一个resource unit;如果unit_num大于1,每个zone内都必须有和unit_num对应数目的机器
    • zone List一般与zone个数保持一致
    • 如果在某个zone内找不到有足够剩余资源的机器来创建resource unit,资源池会创建失败
  3. 创建租户,将资源池赋给一个新的租户

    create tenant mysql_tenantRESOURCE_POOL_LIST = ('pool1'),primary_zone = 'zone1,zone2,zone3'set ob_tcp_invited_nodes = '%', ob_compatibility_mode = 'mysql', recyclebin = off, ob_timestamp_service = 'GTS’;
    
    • Primary Zone:指定主副本分配到Zone内的优先级,逗号两侧优先级相同,分号左侧优先级高于右侧。比如zone1,zone2;zone3
    • ob_compatibility_mode:需要指定租户类型为MySQL还是Oracle

检查集群状态

  • 查看集群中的整体资源分配情况:all_virtual_server_stat;
    在这里插入图片描述
  • 查看系统中定义的resource unit规格:select * from __all_unit_config;
    在这里插入图片描述
  • 看系统中已经分配的resource unit:select *from_all_unit;
    在这里插入图片描述

查看系统日志

OB Server 日志(/home/admin/oceanbase/log目录)

  • observer.log:observer运行时的日志文件
  • rootservice.log:observer上RootServer的日志文件
  • election.log:observer上选举模块的日志文件
    控制OB Server日志文件个数
  • 为了避免硬盘被日志填满,可以开启日志循环
  • enable_syslog_recycle = True; max_syslog_file_count = <count>
    日志级别
  • syslog_level = [DEBUG,TRACE,INFO,WARN,USER_ERR,ERROR]

  1. 如果一个OceanBase集群有3个Zone,每个Zone有5台OB Serer。那么一个分区最多有(3)份全能型副本
  2. 如果一个集群有3个Zone,每个Zone有5台 OB Server。一个租户对应的资源池的Unit Num=3,最终该租户有(9)个资源单元

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/239880.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

综合评价 | 基于EW、EW-BP、EW-ELM的地区发展水平综合评价(Matlab)

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 综合评价 | 基于EW、EW-BP、EW-ELM的地区发展水平综合评价&#xff08;Matlab&#xff09; 程序设计 完整程序和数据获取方式&#xff1a;私信博主回复基于EW、EW-BP、EW-ELM的地区发展水平综合评价&#xff08;Matl…

ZooKeeper 实战(五) Curator实现分布式锁

文章目录 ZooKeeper 实战(五) Curator实现分布式锁1.简介1.1.分布式锁概念1.2.Curator 分布式锁的实现方式1.3.分布式锁接口 2.准备工作3.分布式可重入锁3.1.锁对象3.2.非重入式抢占锁测试代码输出日志 3.3.重入式抢占锁测试代码输出日志 4.分布式非可重入锁4.1.锁对象4.2.重入…

【MySQL】数据处理之增删改

文章目录 一、增加&#xff08;插入&#xff09;INSERT INTO...VALUES(...,...)VALUES的方式添加情况一&#xff1a;为表的所有字段按默认顺序插入数据情况二&#xff1a;为表的指定字段插入数据情况三&#xff1a;同时插入多条记录 将查询结果插入到表中 二、修改&#xff08;…

CTF CRYPTO 密码学-3

题目名称&#xff1a;反编译 题目描述&#xff1a; 分析 题目给出一个pyc后缀的文件&#xff0c;需要使用uncompyle6模块去还原成py文件 uncompyle6简介 uncompyle6 是一个 Python 反编译器&#xff0c;它能够将 Python 字节码&#xff08;.pyc 文件&#xff09;转换回源代码&…

数据结构之栈和队列

数据结构之栈和队列 1、栈1.1、栈的定义及基本运算1.2、栈的存储结构 2、队列2.1、队列的定义及基本运算2.2、队列的存储结构2.3、队列的应用 数据结构是程序设计的重要基础&#xff0c;它所讨论的内容和技术对从事软件项目的开发有重要作用。学习数据结构要达到的目标是学会从…

2024华数杯国际赛A题16页完整思路+五小问py代码数据集+后续高质量参考论文

这回带大家体验一下2024“华数杯”国际大学生数学建模竞赛呀&#xff01; 完整内容获取在文末 此题涉及到放射性废水从日本排放到海洋中的扩散问题&#xff0c;以及对环境和人类健康的潜在影响。 ## 问题重述 1. **预测污染范围和程度&#xff1a;** - 使用数学模型描述放射性…

LeetCode 104. 二叉树的最大深度

104. 二叉树的最大深度 给定一个二叉树 root &#xff0c;返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,null,15,7] 输出&#xff1a;3示例 2&#xff1a; 输入&#xff1…

多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测

多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现GRO-CNN-BiLSTM-Attention淘金算法优化卷积神经网络-双向长短期记忆网络结合注意力机制多变量时间序列预测效果一览基…

RabbitMQ交换机(1)

1.交换机Exchange RabbitMQ消息传递模型的核心思想是: 生产者生产的消息从不会直接发送到队列。实际上&#xff0c;通常生产者甚至都不知道这些消息传递传递到了哪些队列中。 相反&#xff0c;生产者只能将消息发送到交换机(exchange)&#xff0c;交换机工作的内容非常简单&am…

Python中如何简化if...else...语句

一、引言 我们通常在Python中采用if...else..语句对结果进行判断&#xff0c;根据条件来返回不同的结果&#xff0c;如下面的例子。这段代码是一个简单的Python代码片段&#xff0c;让用户输入姓名并将其赋值给变量user_input。我们能不能把这几行代码进行简化&#xff0c;优化…

【数据结构】红黑树

导语 之前平衡二叉树讲解中&#xff0c;可以了解到AVL在插入或删除频繁的场景&#xff0c;需要消耗大量的时间来调整&#xff0c;使树重新满足平衡条件。红黑树就此作出优化&#xff0c;在查询速率和平衡调整中寻找平衡&#xff0c;放宽了树的平衡条件&#xff0c;从而可以用于…

Java实现海南旅游景点推荐系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

YUM仓库和NFS共享

目录 一、yum仓库 1. yum仓库介绍 1.1 简介 1.2 实现过程 1.3 实现安装服务 2. yum配置文件及命令 2.1 yum配置文件 2.1.1 yum主配置文件 2.1.2 仓库设置文件 2.1.3 日志文件 2.2 yum命令详解 2.2.1 查询 2.2.2 yum安装升级 2.2.3 软件卸载 3. 搭建仓库的方式 …

使用 Categraf 采集 Nginx 指标

1. 前言 工作中需要监控 Nginx 的指标&#xff0c;选用的指标采集器是 Categraf&#xff0c;特此记录下&#xff0c;以备后用。 此文档并未详细记录详细的操作细节&#xff0c;只记录了大概的操作步骤&#xff0c;仅供参考。 2. 采集基础指标 2.1. 暴露 Nginx 自带的指标采…

SparkSQL——DataFrame

DataFrame Dataframe 是什么 DataFrame 是 SparkSQL中一个表示关系型数据库中 表的函数式抽象, 其作用是让 Spark处理大规模结构化数据的时候更加容易. 一般 DataFrame可以处理结构化的数据, 或者是半结构化的数据, 因为这两类数据中都可以获取到 Schema信息. 也就是说 DataFra…

Kafka系列(四)

本文接kafka三&#xff0c;代码实践kafkaStream的应用&#xff0c;用来完成流式计算。 kafkastream 关于流式计算也就是实时处理&#xff0c;无时间概念边界的处理一些数据。想要更有性价比地和java程序进行结合&#xff0c;因此了解了kafka。但是本人阅读了kafka地官网&#…

【每日一题】2744. 最大字符串配对数目-2024.1.17

题目&#xff1a; 2744. 最大字符串配对数目 给你一个下标从 0 开始的数组 words &#xff0c;数组中包含 互不相同 的字符串。 如果字符串 words[i] 与字符串 words[j] 满足以下条件&#xff0c;我们称它们可以匹配&#xff1a; 字符串 words[i] 等于 words[j] 的反转字符…

Pytorch各种Dropout层应用于详解

目录 torch框架Dropout functions详解 dropout 用途 用法 使用技巧 参数 数学理论公式 代码示例 alpha_dropout 用途 用法 使用技巧 参数 数学理论公式 代码示例 feature_alpha_dropout 用途 用法 使用技巧 参数 数学理论 代码示例 dropout1d 用途 用…

Windows无法登录管理路由器故障排查

问题描述 家里的路由器使用拨号上网&#xff0c;路由器DHCP分发IP的范围是192.168.1.0/24。默认使用192.168.1.1管理路由器。然后拨号上网成功后&#xff0c;修改了私网IP的分发范围&#xff1a;192.168.5.1-192.168.5.10。为了防止有人蹭网&#xff0c;只分配的10个IP地址。修…

rust跟我学三:文件时间属性获得方法

图为RUST吉祥物 大家好,我是get_local_info作者带剑书生,这里用一篇文章讲解get_local_info是怎样获得杀毒软件的病毒库时间的。 首先,先要了解get_local_info是什么? get_local_info是一个获取linux系统信息的rust三方库,并提供一些常用功能,目前版本0.2.4。详细介绍地址…