内容
活动
关注

【赵渝强老师】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恢复数据的完整流程,并附带视频讲解,帮助用户更好地理解和应用该工具。
193 0
|
5月前
|
Oracle 关系型数据库 MySQL
【赵渝强老师】OceanBase中的租户
OceanBase数据库采用多租户架构,支持云数据库部署。租户是资源分配单位,分为系统租户、用户租户和Meta租户。系统租户管理集群生命周期,用户租户提供完整数据库功能(支持MySQL和Oracle模式),Meta租户存储用户租户的私有数据。多租户架构降低运维复杂度,支持多种部署形式,确保数据隔离与安全。
370 0
|
2月前
|
SQL 关系型数据库 MySQL
阿里云的云数据库RDS简介
阿里云关系型数据库RDS(Relational Database Service)是一种安全稳定、高性价比、可弹性伸缩的在线数据库服务。支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供容灾、备份、恢复、监控、迁移等全套解决方案,帮助用户轻松应对数据库运维挑战。RDS具备高可用性、高安全性、轻量运维和弹性伸缩等优势,适用于各类业务场景,助力企业降低成本、提升效率。
|
数据可视化 API 索引
ES常见Index API操作最佳实践!
【10月更文挑战第21天】
587 1
ES常见Index API操作最佳实践!
|
运维 监控 Ubuntu
在Linux中,如何查看系统日志文件?
在Linux中,如何查看系统日志文件?
|
机器学习/深度学习 Kubernetes 异构计算
在 Kubernetes 上调用 GPU
在 Kubernetes 上调用 GPU
|
数据库 OceanBase
OceanBase数据库中,clog和slog文件夹的内容
OceanBase数据库中,clog和slog文件夹的内容
448 1
|
SQL 存储 自然语言处理
玩转阿里云RDS PostgreSQL数据库通过pg_jieba插件进行分词
在当今社交媒体的时代,人们通过各种平台分享自己的生活、观点和情感。然而,对于平台管理员和品牌经营者来说,了解用户的情感和意见变得至关重要。为了帮助他们更好地了解用户的情感倾向,我们可以使用PostgreSQL中的pg_jieba插件对这些发帖进行分词和情感分析,来构建一个社交媒体情感分析系统,系统将根据用户的发帖内容,自动判断其情感倾向是积极、消极还是中性,并将结果存储在数据库中。
1029 1
玩转阿里云RDS PostgreSQL数据库通过pg_jieba插件进行分词
|
SQL 存储 Oracle
这可能是目前Oracle兼容性最好的数据库 - 十四年Oracle兼容性淬炼
标签 PostgreSQL , EDB , ppas , epas , enterprisedb , 阿里云 背景 Oracle兼容性越高,迁移改造工作量越少,时间成本越低。对于大多数传统企业来说,去O已势在必行。 PostgreSQL 数据库本身与O的兼容性还行,同时功能覆盖度也还是很不错的,所以自己有专业研发团队的企业,选择PG来去O是不错的选择,其中也有很多非常成功的案例,例如平
2134 0
下一篇