摘要:多租户为满足客户混合负载处理需求而生,通过提供两层用户机制,分层资源隔离,满足客户对计算和存储资源的自主控制需求。

本文分享自华为云社区《关于GaussDB(DWS)多租户管理,这些你一定要知道》,原文作者:玛卡巴卡的小点点。

一、多租户的背景及意义

多租户为满足客户混合负载处理需求而生,通过提供两层用户机制,分层资源隔离,满足客户对计算和存储资源的自主控制需求。两级用户分别关联不同的资源池和存储空间,实现多租户下资源分组管理。

二、GaussDB(DWS)的多租户

目前GaussDB(DWS)的多租户能够进行隔离的资源包括:CPU资源、内存资源、IO资源、存储资源。

GaussDB的多租户通过绑定资源池来实现,具体原理如下图所示:

借助上图说明多租户的管控方式,见往下三、四、五章节。

三、控制组设置

通过设置控制组可以进行以下几方面的资源隔离:

(1)设置CPU核数和控制组CPU份额,进行CPU资源管理;

(2)设置异常规则来对异常作业进行终止或降级;

1、class控制组

创建名称为“class_a”的子Class控制组,CPU资源配额分别为Class的40%。
gs_cgroup -c -S class_a -s 40

2、workload控制组

创建子Class控制组“class_a”下名称为“workload_a1”的Workload控制组,CPU资源配额分别为“class_a”控制组的20%。

gs_cgroup -c -S class_a -G workload_a1 -g 20

3、异常规则

设置“class_a”下属“workload_a1”的作业阻塞到1200秒或执行2400秒时执行终止动作。

gs_cgroup -S class_a -G workload_a1 -E "blocktime=1200,elapsedtime=2400" -a

支持的控制组异常规则:

四、资源池设置

通过设置资源池属性可以进行以下几方面的资源隔离:

(1)通过设置mem_percent、memory_limit进行内存资源管理;

(2)通过设置io_limits、io_priority进行IO管控;

(3)通过设置active_statements、max_dop进行并发管控;

(4)可以设置指定的控制组,进行CPU和异常规则的管理;

(5)设置资源池异常规则;

1、组资源池

创建名称为“resource_pool_a”的组资源池关联到了“class_a”控制组。

CREATE RESOURCE POOL resource_pool_a WITH (control_group='class_a');

2、业务资源池

(1)创建名称为“resource_pool_a1”的业务资源池关联到了“workload_a1”控制组

CREATE RESOURCE POOL resource_pool_a1 WITH (control_group='class_a:workload_a1');

(2)更新一个资源池,其控制组指定为"DefaultClass"组下属的"High" Timeshare Workload控制组。

ALTER RESOURCE POOL pool1 WITH (CONTROL_GROUP="High");

(3)修改资源池“resource_pool_a1”的内存比例为可用内存大小的20%,即设置MEM_PERCEN的取值为20。

ALTER RESOURCE POOL resource_pool_a1 WITH (MEM_PERCENT=20);

3、可设置的资源池属性

4、可设置的资源池异常规则

五、用户设置

通过设置用户属性进行存储空间管控:

1、创建组用户关联组资源池

CREATE USER tenant_a RESOURCE POOL 'resource_pool_a' PASSWORD 'Gauss_234';

2、创建业务用户关联业务资源池

CREATE USER tenant_a1 RESOURCE POOL 'resource_pool_a1' USER GROUP 'tenant_a' PASSWORD 'Gauss_234';

3、通过设置用户属性(PERM SPACE、TEMP SPACE、SPILL SPACE)可以进行存储空间管控:

(1)修改用户“tenant_space_test”永久表空间限额不受限制。

ALTER USER tenant_space_test PERM SPACE 'unlimited';

(2)修改用户“tenant_space_test”临时表空间限额为100G。

ALTER USER tenant_space_test TEMP SPACE '100G';

(3)修改用户“tenant_space_test”算子落盘空间限额为200G。

ALTER USER tenant_space_test SPILL SPACE '200G';

六、总结

上文主要介绍了多租户技术的架构和使用方法,通过租户关联控制组和资源池,多租户的设置有效隔离了CPU资源、内存资源、IO资源和存储资源,提供了有力的混合负载管理能力。

想了解GuassDB(DWS)更多信息,欢迎微信搜索“GaussDB DWS”关注微信公众号,和您分享最新最全的PB级数仓黑科技~

点击关注,第一时间了解华为云新鲜技术~

想做DBA,多租户管理你一定要知道这些的更多相关文章

  1. Salt Stack 官方文档翻译 - 一个想做dba的sa - 博客频道 - CSDN.NET

    OSNIT_百度百科 Salt Stack 官方文档翻译 - 一个想做dba的sa - 博客频道 - CSDN.NET Salt Stack 官方文档翻译 分类: 自动运维 2013-04-02 11 ...

  2. “医疗信息化行业之中的联发科”- 我们在医疗行业中的定位及目标 想做一个面对中小企业的专业上游软件供应商 台湾联发科技颠覆掉的是一个封闭的手机产业系统 解决方案,即AgileHIS.NET数字化医院基础方案

    “医疗信息化行业之中的联发科”- 我们在医疗行业中的定位及目标   我们做中国医疗信息化行业之中的联发科 ---我们在医疗行业中的定位及目标 从我个人来讲,我从2001年到现在这10年之间基本上一直在 ...

  3. 初识ABP vNext(7):vue身份认证管理&租户管理

    Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 目录 前言 开始 按钮级权限 身份认证管理 R/U权限 权限刷新 租户管理 租户切换 效果 最后 前言 上一篇介绍了vue+ABP国际化 ...

  4. TODO:小程序的春天你想做什么

    TODO:小程序的春天你想做什么 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 初步了解小程序的特点 导航明确,来去自如 统一稳定, 视觉规范 ...

  5. 想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研

    想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研 http://blog.csdn.net/testing_is_believing/article/details/22 ...

  6. ABP Zero 多租户管理

    ABPZero - 多租户管理 启用多租户 ASP.NET Boilerplate和module-zero可以运行多租户或单租户模式.多租户默认为禁用.我们可以在我们的模块PreInitialize方 ...

  7. 番外篇--Moddule Zero多租户管理

    番外篇--Moddule Zero多租户管理 2.1.1 关于多租户 强烈建议阅读这个文件前阅读多租户文档. 2.1.2 启用多租户 ASP.NET Boilerplate和module-zero可以 ...

  8. 想做微信小程序第三方代理,各位觉得一键生成平台能赚到钱吗?

    这几年生意不景气,这是很多人的共识.从2009年开始,各种专家就判断"明年经济是最差的一年."然后,这个明年,一直"明"到了2018年,到最后,我们发现,经济就 ...

  9. 泥瓦匠想做一个与众不同的技术"匠"

    点击蓝字,关注泥瓦匠 本文阅读大约 3 分钟.感谢阅读 喝了最后一口百事可乐,想到它的 slogan:新一代的选择.新一代的选择,每个人选择不同,人生道路历程也不同.就像我刚毕业的时候,毕业选择不一样 ...

  10. 想做web前端project师应该学习些什么?

    偶然间看到这篇文章.感觉博主写的挺不错的,假设你想做web前端project师的话,建议您阅读下面这篇文章,事实上web前端project师所做的工作事实上就是站点设计,有些小公司的美工事实上就是做w ...

随机推荐

  1. Pushpin:开源即时通信神器,让你的API秒变实时API,轻松实现WebSocket,HTTP流和HTTP长轮询等服务

    作为一个开发者,你可能已经利用过REST API来构建和集成各种应用.REST API是基于HTTP协议的交互模式,它使得客户端和服务器可以通过请求和响应来进行数据交换,简单.灵活.通用. 然而,当你 ...

  2. 关于Xftp7和Xshell7是最新版本但是报错这件事

    以win11为例,仅供参考.只能说捣鼓这么久还是建议各位转用MobaXterm. 先说一下,我的解决方法只能说是跳过问题,不是解决问题. <要继续使用此程序 您必须应用最新的更新或使用新版本&g ...

  3. Java内部类与匿名类

    内部类 定义: 一个类的内部又完整的嵌套了另一个类结构,被嵌套的类就被我们称为内部类,嵌套内部类的类被我们称为外部类 //外部类 class Outer { //内部类 class Inner { } ...

  4. Android WebAPIOperator

    package com.example.myapplication2.models.CommonClasses; import org.json.JSONObject; import java.io. ...

  5. 实现MyBatisPlus自定义sql注入器

    目标:新增mysql下的 插入更新的语法 INSERT INTO %s %s VALUES %s ON DUPLICATE KEY UPDATE %s 新增方法类,新增的方法名称为insertOrUp ...

  6. Codeforces Round #736 (Div. 2). D - Integers Have Friends

    原题:D - Integers Have Friends 题意: 给定一个数组,求一个最长子数组满足\(a_i \,\, mod \,\, m \,\, = \,\, a_{i + 1} \,\, m ...

  7. 什么是物理信息系统(cps)?

    物理信息系统(Cyber-Physical Systems,简称CPS)是由计算机.网络和物理组件相互交互的智能系统.它集成了实时计算.通信网络和物理过程控制,以提供智能化的感知.决策和执行功能. C ...

  8. TIOBE 12月榜单: C# 即将成为2023 年度编程语言

    TIOBE 公布了 2023 年 12 月的编程语言排行榜. 2022年C# 在挑战成为年度编程语言,但在最后一刻,C++出人意料地夺得了冠军.今年,我们确信 C# 将获胜成为2023年度编程语言.它 ...

  9. vertx学习总结5之回调函数及其限制,如网关/边缘服务示例所示未来和承诺——链接异步操作的简单模型响应式扩展——一个更强大的模型,特别适合组合异步事件流Kotlin协程

    这章我们讲回调,英文名:Beyond callbacks 一.章节覆盖: 回调函数及其限制,如网关/边缘服务示例所示 未来和承诺--链接异步操作的简单模型 响应式扩展--一个更强大的模型,特别适合组合 ...

  10. ubuntu 22.04搭建本地源

    ubuntu 22.04搭建本地源 基于服务器无法联网的情况下,从一台可以上网的服务器下载软件包和依赖,再在无法联网的服务器中搭建本地源,安装环境. 下载(包括依赖): cd /root mkdir ...