【赵渝强老师】OceanBase的内存管理

简介: OceanBase数据库采用多租户架构,内存分为500虚拟租户、系统租户和业务租户三类。通过memory_limit_percentage和memory_limit参数控制OBServer节点总内存上限,并在创建Resource Unit时设定业务租户内存,实现资源隔离与管理。

b397.png

OceanBase数据库是多租户设计的数据库,同一个进程会运行着多个租户的请求,从租户资源划分上可以分为三类,500租户内存、系统租户内存、业务租户内存。

  • 500是个特殊的虚拟租户,共享性的、非实体租户消耗的内存都被OceanBase数据库划归500租户。
  • 系统租户是OceanBase数据库自动创建的第一个实体租户,管理着集群相关的内部表,这些内部表上的请求触发的内存就划归到了sys租户。
  • 业务租户就是集群安装后由DBA创建的跑业务流量的实体租户,这些租户的请求触发的内存就划归租户自己。


视频讲解如下:


OceanBase数据库支持通过参数来设置和管理内存的使用,这里主要关注两个方面的内存参数:OBServer节点总内存业务租户内存

(*)OBServer节点总内存


表示OBServer节点所有内存的上限,即所有租户累加不可能超过的上限,由以下两个参数控制:

  • memory_limit_percentage物理机或者容器物理内存的百分比
  • memory_limit 内存的绝对数值
# 当memory_limit不为0M时,使用memory_limit作为上限,
# 否则使用memory_limit_percentage计算后的值作为上限。


下面展示了这两个参数的相关信息:

ob> show parameters  like 'memory_limit%' \G;

# 输出的信息如下:
*************************** 1. row ***************************
         zone: zone1
     svr_type: observer
       svr_ip: 192.168.79.10
     svr_port: 2882
         name: memory_limit_percentage
    data_type: INT
        value: 80
         info: the size of the memory reserved for internal use
(for testing purpose). Range: [10, 95]
      section: OBSERVER
        scope: CLUSTER
       source: DEFAULT
   edit_level: DYNAMIC_EFFECTIVE
default_value: 80
    isdefault: 1
*************************** 2. row ***************************
         zone: zone1
     svr_type: observer
       svr_ip: 192.168.79.10
     svr_port: 2882
         name: memory_limit
    data_type: CAPACITY
        value: 10G
         info: the size of the memory reserved for internal use
(for testing purpose), 
0 means follow memory_limit_percentage. Range: 0, [1G,).
      section: OBSERVER
        scope: CLUSTER
       source: DEFAULT
   edit_level: DYNAMIC_EFFECTIVE
default_value: 0M
    isdefault: 0
2 rows in set (0.014 sec)


通过使用命令obd cluster edit-config <集群名称> 可以修改OBServer节点的总内存大小。


(*)业务租户内存


业务租户内存由租户创建ResourceManager Unit(资源单元)时指定。系统租户可以通过视图查询Resource Unit的规格,例如:

ob> select name,MAX_CPU,MIN_CPU,MEMORY_SIZE,LOG_DISK_SIZE 
from oceanbase.DBA_OB_UNIT_CONFIGS;

# 输出的信息如下:
+-----------------+---------+---------+-------------+---------------+
| name            | MAX_CPU | MIN_CPU | MEMORY_SIZE | LOG_DISK_SIZE |
+-----------------+---------+---------+-------------+---------------+
| sys_unit_config |       1 |       1 |  2147483648 |    2147483648 |
| ru1             |       1 |       1 |  2147483648 |    2147483648 |
| ru2             |       1 |       1 |  2147483648 |    2147483648 |
| ru3             |       1 |       1 |  2147483648 |    2147483648 |
+-----------------+---------+---------+-------------+---------------+
4 rows in set (0.004 sec)



相关文章
|
5月前
|
存储 SQL 关系型数据库
【赵渝强老师】使用mydumper备份MySQL
本文介绍了使用mydumper工具进行MySQL数据库备份与恢复的操作方法。相比单线程工作的mysqldump,mydumper支持多线程,速度提升可达10倍。其功能包括事务性表快照、快速压缩、导出binlog等,并提供详细的参数说明和操作步骤。文章通过实例演示了安装mydumper、创建存储目录、全库备份、指定数据库及表备份、删除数据库以及使用myloader恢复数据的完整流程,并附带视频讲解,帮助用户更好地理解和应用该工具。
240 0
|
5月前
|
Oracle 关系型数据库 MySQL
【赵渝强老师】OceanBase中的租户
OceanBase数据库采用多租户架构,支持云数据库部署。租户是资源分配单位,分为系统租户、用户租户和Meta租户。系统租户管理集群生命周期,用户租户提供完整数据库功能(支持MySQL和Oracle模式),Meta租户存储用户租户的私有数据。多租户架构降低运维复杂度,支持多种部署形式,确保数据隔离与安全。
422 0
|
27天前
|
SQL NoSQL Java
Neo4j-图数据库入门图文保姆攻略
Neo4j-图数据库入门图文保姆攻略
405 2
|
10天前
|
人工智能 数据可视化 数据挖掘
2025主流BI产品深度评测,一文看懂企业BI选型
在数字经济时代,数据成为企业核心战略资源。商业智能(BI)已从传统报表工具演变为支撑决策、优化运营的关键基础设施。面对全民化分析、AI增强、嵌入式分析与云原生等趋势,企业需构建涵盖业务适配性、性能、成本、智能化与国产化等维度的选型体系。 本文对比Tableau、Power BI、Quick BI、FineBI、观远BI五大主流产品,揭示其在数据源支持、可视化、智能化、部署模式等方面差异,为企业提供科学选型参考,助力实现数据驱动转型。
2025主流BI产品深度评测,一文看懂企业BI选型
|
11天前
|
开发框架 Java 测试技术
领域驱动设计(DDD)在中小型项目中的落地实践
本文探讨领域驱动设计(DDD)在中小型项目中的落地实践,涵盖核心概念如领域模型、聚合、限界上下文与事件驱动架构,并结合电商订单系统案例,展示分层架构、仓储模式与领域服务的实际应用,助力团队构建高内聚、易维护的业务系统。
261 10
|
11天前
|
搜索推荐 JavaScript 关系型数据库
基于用户评论分析挖掘的旅游景点推荐系统
本研究基于用户评论分析,构建个性化旅游景点推荐系统。融合自然语言处理与情感分析技术,挖掘游客真实偏好,结合Django、Vue.js与MySQL等技术实现系统开发,提升旅游决策效率与体验质量,推动旅游产业智能化发展。
|
13天前
|
消息中间件 监控 Kafka
从“数据堆积如山”到“实时驱动业务”——聊聊Kafka到Flink的实时数据处理演进
从“数据堆积如山”到“实时驱动业务”——聊聊Kafka到Flink的实时数据处理演进
85 3
|
1月前
|
SQL 关系型数据库 MySQL
(SQL)SQL语言中的查询语句整理
查询语句在sql中占了挺大一部分篇幅,因为在数据库中使用查询语句的次数远多于更新与删除命令。而查询语句比起其他语句要更加的复杂,可因为sql是数据库不可或缺的一部分,所以即使不懂,也必须得弄懂,以上。
206 0
|
2月前
|
消息中间件 监控 Cloud Native
高效设计:支持亿级用户社交关系的100W QPS架构方案
面对亿级用户与百万QPS的高并发场景,性能测试成为系统稳定的关键。本文剖析真实业务痛点,详解从接口压测、全链路监控到瓶颈定位的完整性能体系,助你掌握大厂级性能优化能力,从容应对卡顿、宕机等线上挑战。
|
数据可视化 API 索引
ES常见Index API操作最佳实践!
【10月更文挑战第21天】
631 1
ES常见Index API操作最佳实践!
下一篇
oss云网关配置