计算
弹性云服务器 ECS
Flexus云服务
裸金属服务器 BMS
弹性伸缩 AS
镜像服务 IMS
专属主机 DeH
函数工作流 FunctionGraph
云手机服务器 CPH
Huawei Cloud EulerOS
网络
虚拟私有云 VPC
弹性公网IP EIP
虚拟专用网络 VPN
弹性负载均衡 ELB
NAT网关 NAT
云专线 DC
VPC终端节点 VPCEP
云连接 CC
企业路由器 ER
企业交换机 ESW
全球加速 GA
安全与合规
安全技术与应用
Web应用防火墙 WAF
企业主机安全 HSS
云防火墙 CFW
安全云脑 SecMaster
DDoS防护 AAD
数据加密服务 DEW
数据库安全服务 DBSS
云堡垒机 CBH
数据安全中心 DSC
云证书管理服务 CCM
边缘安全 EdgeSec
威胁检测服务 MTD
CDN与智能边缘
内容分发网络 CDN
CloudPond云服务
智能边缘云 IEC
迁移
主机迁移服务 SMS
对象存储迁移服务 OMS
云数据迁移 CDM
迁移中心 MGC
大数据
MapReduce服务 MRS
数据湖探索 DLI
表格存储服务 CloudTable
云搜索服务 CSS
数据接入服务 DIS
数据仓库服务 GaussDB(DWS)
数据治理中心 DataArts Studio
数据可视化 DLV
数据湖工厂 DLF
湖仓构建 LakeFormation
企业应用
云桌面 Workspace
应用与数据集成平台 ROMA Connect
云解析服务 DNS
专属云
专属计算集群 DCC
IoT物联网
IoT物联网
设备接入 IoTDA
智能边缘平台 IEF
用户服务
账号中心
费用中心
成本中心
资源中心
企业管理
工单管理
国际站常见问题
ICP备案
我的凭证
支持计划
客户运营能力
合作伙伴支持计划
专业服务
区块链
区块链服务 BCS
Web3节点引擎服务 NES
解决方案
SAP
高性能计算 HPC
视频
视频直播 Live
视频点播 VOD
媒体处理 MPC
实时音视频 SparkRTC
数字内容生产线 MetaStudio
存储
对象存储服务 OBS
云硬盘 EVS
云备份 CBR
存储容灾服务 SDRS
高性能弹性文件服务 SFS Turbo
弹性文件服务 SFS
云硬盘备份 VBS
云服务器备份 CSBS
数据快递服务 DES
专属分布式存储服务 DSS
容器
云容器引擎 CCE
容器镜像服务 SWR
应用服务网格 ASM
华为云UCS
云容器实例 CCI
管理与监管
云监控服务 CES
统一身份认证服务 IAM
资源编排服务 RFS
云审计服务 CTS
标签管理服务 TMS
云日志服务 LTS
配置审计 Config
资源访问管理 RAM
消息通知服务 SMN
应用运维管理 AOM
应用性能管理 APM
组织 Organizations
优化顾问 OA
IAM 身份中心
云运维中心 COC
资源治理中心 RGC
应用身份管理服务 OneAccess
数据库
云数据库 RDS
文档数据库服务 DDS
数据管理服务 DAS
数据复制服务 DRS
云数据库 GeminiDB
云数据库 GaussDB
分布式数据库中间件 DDM
数据库和应用迁移 UGO
云数据库 TaurusDB
人工智能
人脸识别服务 FRS
图引擎服务 GES
图像识别 Image
内容审核 Moderation
文字识别 OCR
AI开发平台ModelArts
图像搜索 ImageSearch
对话机器人服务 CBS
华为HiLens
视频智能分析服务 VIAS
语音交互服务 SIS
应用中间件
分布式缓存服务 DCS
API网关 APIG
微服务引擎 CSE
分布式消息服务Kafka版
分布式消息服务RabbitMQ版
分布式消息服务RocketMQ版
多活高可用服务 MAS
事件网格 EG
企业协同
华为云会议 Meeting
云通信
消息&短信 MSGSMS
云生态
合作伙伴中心
云商店
开发者工具
SDK开发指南
API签名指南
Terraform
华为云命令行工具服务 KooCLI
其他
产品价格详情
系统权限
管理控制台
客户关联华为云合作伙伴须知
消息中心
公共问题
开发与运维
应用管理与运维平台 ServiceStage
软件开发生产线 CodeArts
需求管理 CodeArts Req
部署 CodeArts Deploy
性能测试 CodeArts PerfTest
编译构建 CodeArts Build
流水线 CodeArts Pipeline
制品仓库 CodeArts Artifact
测试计划 CodeArts TestPlan
代码检查 CodeArts Check
代码托管 CodeArts Repo
云应用引擎 CAE
开天aPaaS
云消息服务 KooMessage
云手机服务 KooPhone
云空间服务 KooDrive
更新时间:2024-06-11 GMT+08:00

教程:已有数据的物理集群转换逻辑集群

场景介绍

大规模数据库集群通常会同时包含很多业务数据,不同业务有不同的数据表,可以通过功能创建多个资源池来实现不同业务的资源隔离。GaussDB(DWS)支持将不同业务用户分配给不同资源池,以便减少业务之间资源(CPU资源、内存资源、IO资源和存储资源)竞争。

但随着业务规模不断扩大,集群系统中的业务数目越来越多,通过划分多个资源池来管理越来越难以控制资源竞争。由于GaussDB(DWS)的分布式架构,业务数据被分散存储在多个节点上即每个表都会分布在数据库集群的所有DN节点上,因此每次数据表操作都可能会涉及所有DN节点,导致网络压力增大和系统资源大量消耗,仅通过扩大集群规模也很难解决,GaussDB(DWS)建议用户划分多个逻辑集群来解决业务数量扩大带来的网络压力和资源消耗问题。

通过划分独立的逻辑集群,将新增的业务分配到独立的逻辑集群上,这样新增业务对原有业务的影响会很小。而原有逻辑集群中的业务规模如果扩大,也可以通过对原有逻辑集群扩容来解决。

图1所示,假设某企业原有业务数据表都在原物理集群dws-demo(绿色部分),切换到逻辑集群lc1(蓝色部分)后,物理集群再通过扩容方式,新增一套新的逻辑集群lc2,原有业务数据表统一切换到逻辑集群lc1,新的业务数据表统一写入到逻辑集群lc2,实现新老业务的数据隔离。而新的逻辑集群lc2关联的用户u2,通过授权可以跨逻辑集群访问逻辑集群lc1的表。

  • 集群规模:从原始的物理集群3节点,扩容到6节点并拆分成2套逻辑集群。
  • 业务隔离:新、老业务数据隔离在不同逻辑集群中。
图1 跨逻辑集群访问数据

创建集群并准备表数据

  1. 参见创建集群章节创建集群。
  2. 连接数据库后,以系统管理员dbadmin创建表t1,并插入2条数据。

    1
    2
    CREATE TABLE t1 (id int, name varchar(20));
    INSERT INTO t1 VALUES (1,'joy'),(2,'lily');
    

转换成逻辑集群lc1

转换期间,用户可执行增删改查等简单DML语句,执行数据库对象等复杂DDL语句会阻塞业务,请选择业务低峰窗口期进行。

  1. 登录GaussDB(DWS)管理控制台,在左导航栏选择“集群 > 专属集群 ”,单击指定集群名称进入“集群详情”页面。
  2. 打开“逻辑集群开关”按钮。

    图2 打开逻辑集群开关

  3. 左导航栏选择“逻辑集群管理”进入逻辑集群页面,单击右上角“添加逻辑集群”,输入逻辑集群名称lc1,单击“确定”。

    切换期间当前集群不可用,请耐心等待约2分钟(转换时间因业务数据量大小不同,有所差异),待逻辑集群页面出现lc1,表示转换成功。

    图3 添加逻辑集群
    图4 逻辑集群转换成功

扩容节点到弹性集群elastic_group中

  1. 返回集群管理页面,在指定集群所在行操作列选择“更多 >节点变更> 扩容”。

    图5 扩容集群

  2. 跳转至扩容页面,可选择扩容3个节点;打开“在线扩容”按钮;选择扩容到逻辑集群,即“elastic_group”。确认无误后,勾选“我已确认”,并单击“下一步:确认”。

    图6 扩容过程

  3. 单击“提交”,并单击“确定”。

    请耐心等待约10分钟,扩容成功。

添加逻辑集群lc2

  1. 在专属集群页面,单击指定集群名称进入“集群详情”页面,在左导航栏单击“逻辑集群管理”。
  2. 进入逻辑集群页面,单击右上角“添加逻辑集群”,从右侧勾选3个节点到左侧列表中,并输入逻辑集群名称lc2,单击“确定”。

    请耐心等待约2分钟,逻辑集群添加成功。

    图7 添加逻辑集群
    图8 勾选主机环
    图9 添加逻辑集群成功

创建逻辑集群关联用户并实现跨逻辑查询数据

  1. 以系统管理员连接数据库,执行以下SQL语句查询原业务表t1。

    验证转换后,业务数据查询正常。

    1
    SELECT * FROM t1;
    

  2. 执行以下语句创建u1关联逻辑集群lc1,u2关联逻辑集群lc2,并将原业务表t1的所有权限授予用户u1。

    1
    2
    3
    CREATE USER u1 NODE GROUP 'lc1' password '{password}';
    CREATE USER u2 NODE GROUP 'lc2' password '{password}';
    GRANT ALL ON TABLE t1 TO u1;
    

  3. 切换到用户u2,查询原业务表t1数据,提示无权访问逻辑集群lc1,说明逻辑集群间数据隔离。

    1
    2
    SET ROLE u2 PASSWORD '{password}';
    SELECT * FROM t1;
    

  4. 切回系统管理员dbadmin,将逻辑集群lc1的访问权限授予用户u2。

    1
    2
    SET ROLE dbadmin PASSWORD '{password}';
    GRANT USAGE ON NODE GROUP lc1 TO u2;
    

  5. 再次切到用户u2,查询表t1成功。结果验证绑定了逻辑集群lc2的用户可以跨逻辑集群查询到原业务表t1。实现逻辑集群间的数据共享。

    1
    2
    SET ROLE u2 PASSWORD '{password}';
    SELECT * FROM t1;
    

我们使用cookie来确保您的高速浏览体验。继续浏览本站,即表示您同意我们使用cookie。 详情