体验GaussDB(DWS)云原生数仓-存算分离【绽放吧!GaussDB(DWS)云原生数仓】

举报
gentle_zhou 发表于 2023/11/19 13:43:37 2023/11/19
【摘要】 整体实验感受下来,让我感受到了GaussDB(DWS)将数据仓库的存储层、计算层和管理层进行分离和解耦所实现的极致的弹性和灵活性。

华为云GaussDB(DWS)历经12年技术演进,在今年发布的云原生数仓,支持存算管三层分离、湖仓一体、数智融合,具备优异性能和极致弹性能力。如服务中介绍的,存算管三层分离就是指:

  1. 存储层,支持私有格式和开放格式,开放格式主要支持ORC/Parquet/Hudi等大数据生态的主流格式。私有格式是GaussDB(DWS)的存储格式,数据存储在OBS上,在私有格式上具备更好的性能。
  2. 计算层,我们抽象了Virtual Warehouse概念(简称VW),也叫逻辑集群。VW是一组计算单元,可以灵活地添加或者释放,数据不属于任何一个VW,仅仅只是绑定关系。
  3. 管理层是指将集群管理查询优化与GaussDB(DWS)数据节点和GTM层体现出来。
    而存算管三层分离的设计,也提供了极致弹性的特点:支持管理层、计算层、存储层三层分离独立、灵活伸缩,一数多用、按需配置。

本文的目的就在于体验GaussDB(DWS)新一代Serverless云原生数仓的存算分离特性,以及在Serverless存算分离架构下的极致查询。刚好,最近在华为云沙箱里碰到了这个实验“体验GaussDB(DWS)云原生数仓-存算分离”,实验目标“了解华为云GaussDB(DWS)新一代Serverless云数仓创建和使用,掌握存算分离表用法,掌握逻辑集群的创建和跨逻辑查询数据的方法”和我的目的一致。

1/4 登录华为云

进入实验首页,点击开始实验按钮:
image.png

之后进入【实验操作桌面】,打开浏览器进入华为云登录页面。选择【IAM用户登录】模式,于登录对话框中输入系统为您分配的华为云实验账号和密码登录华为云:
image.png

2/4 创建所需云服务

2.1 创建网络虚拟云VPC

登录华为云控制台之后,在云桌面浏览器页面左侧菜单栏里搜索栏输入vpc,选中网络私有云,进入VPC控制台:
image.png

接着在页面左上角区域选择“华东-上海一”:
image.png

之后,单击右上角的“创建虚拟私有云”:
image.png

基本信息根据实验文档指示填入,然后点击确认创建:
image.png

2.2 进入数据仓库服务页面

登录华为云控制台,在左侧菜单栏的服务列表内搜索栏输入dws,选中数据仓库服务,进入DWS控制台:
image.png

2.3 创建云原生数仓集群

在DWS控制台内,点击右上角“创建数据仓库集群”,并按实验文档指示配置参数(“基础配置” - “网络配置” - “高级配置”):
image.png

image.png

image.png

配置完成之后,单击“下一步:确认配置”,单击“立即购买”。【p.s. 创建集群约等待10~15分钟,可以继续进行以下操作】

2.4 创建ECS

进入华为云“控制台”,单击“服务列表”,在搜索框中输入ECS,选择弹性云服务ECS进入云服务器控制台:
image.png

点击“购买弹性云服务器”,进入创建页面,配置参数:
image.png

image.png

image.png

image.png

image.png

在确认配置页面,配置如下信息:
① 购买数量:1,
② 勾选“我已经阅读并同意《镜像免责声明》:
image.png

3/4 存算分离表性能体现

3.1 获取AK和SK值

切换回浏览器的管理控制台页面,鼠标停留在右上角用户名,单击“我的凭证”:
image.png

左侧导航单击“访问密钥”,单击“新增访问密钥”,单击“确定”,单击“立即下载”:
image.png

回到【实验室桌面】,双击【Xfce终端】,打开一个Terminal命令行窗口,执行以下命令(cat /home/user/Downloads/credentials.csv|grep -w user)获取AK和SK值。

3.2 查看逻辑集群

回到浏览器内DWS控制台,左侧选择“集群管理”, 等待DWS创建成功后,单击集群名称进入集群详情界面,可以看到逻辑集群开关是打开的:
image.png

image.png

点击左侧的逻辑集群,可以看到有两个生成好的集群:
image.png

3.3 使用gsql客户端连接DWS集群

回到DWS控制台首页,左侧选择“连接客户端”,选择命令行客户端的OS版本:Redhat x86_64,单击“下载”:
image.png

切换到ECS控制台。查看已创建的ECS的公网IP,并记录此弹性IP:124.71.177.233(这只是个demo,记录自己实验环境的)。

回到实验室桌面,双击打开【Xfce终端】重新打开一个新的窗口,(请将终端窗口最大化,否则会导致实验进度显示不正确,以下步骤用到Xfce终端的操作请同样处理),执行以下命令将下载的dws_client_8.1.x_redhat_x64.zip包拷贝到ECS的/opt目录下:scp /home/user/Downloads/dws_client_8.1.x_redhat_x64.zip root@124.71.177.233:/opt
image.png

执行以下命令ssh root@EIP,输入相关密码,连接创建的ECS:
image.png

执行以下命令进入/opt目录cd /opt;执行以下命令(unzip dws_client_8.1.x_redhat_x64.zipsource gsql_env.sh),解压客户端,并执行环境变量:
image.png

切换回到DWS管理控制台,左侧选择“集群管理”,单击“dws-demo”集群名称,记录DWS的内网IP:
image.png

回到ecs命令行窗口,输入以下命令(gsql -d gaussdb -h <DWS的内网IP> -U dbadmin -p 8000 -r;)连接DWS数据库。

3.4 创建存算分离表

复制以下SQL语法,在上面已连接数据库的命令行窗口中执行,创建关联逻辑集群v3_logical的用户write_user:CREATE USER write_user with SYSADMIN NODE GROUP "v3_logical" PASSWORD "Gauss@123"

切换到write_user用户:SET ROLE write_user PASSWORD 'Gauss@123';

输入SQL语法,以用户write_user创建8张存算分离表,所有建表语法中的COLVERSION设置为3.0。

在【实验操作桌面】重新打开一个【Xfce】终端窗口,执行以下命令(vim a),创建一个a文件用于创建外表SQL语句的编辑。按i,创建外表的SQL语句到a文件中。

完成后按ESC键,输入:wq!保存退出。执行命令,用于批量替换a文件中的AK值、SK值。用SQL语句导入数据到表里面。

4/4 跨VW查询的并发扩展和线性扩展比

通过obsutil工具获取并发查询脚本:需要执行并发查询脚本进行8张表的关联查询,以体验新一代云数仓的分析性能。查询脚本需要通过obs后台命令行工具obsutil获取。
脚本介绍:本实验包括3个脚本:run.sh、run_2.sh、worker.sh

  1. run.sh定义:使用write_user用户连接数据库,执行逻辑集群v3_logical下的tpc-h 数据集8张表的复杂查询。
  2. run_2.sh定义:使用read_user用户连接数据库,执行逻辑集群v3_logical2下的tpc-h数据集8张表的复杂查询。
  3. worker.sh定义:同时调用run.sh和run_2.sh进行查询。

执行单逻辑集群查询:单逻辑集群查询,主要通过执行run.sh脚本来验证单逻辑集群下2个并发作业的耗时情况,该实验步骤主要用于跨逻辑查询的对比分析。

增加逻辑集群,执行多个逻辑集群并发查询:跨逻辑集群查询,同时执行run.sh和run_2.sh脚本来验证跨逻辑集群下2个并发作业的耗时情况,再基于4.2单逻辑集群的查询分析的情况下,验证跨集群查询的性能。

我的感受

整体实验感受下来,让我感受到了GaussDB(DWS)将数据仓库的存储层、计算层和管理层进行分离和解耦所实现的极致的弹性和灵活性。

在实验中,我可以通过华为云的控制台,轻松创建和管理数据仓库的计算层;还可以根据我的数据分析需求,选择不同的规格和数量,实现按需配置和付费;而且,我也可以随时添加或者释放计算层,实现弹性伸缩和成本优化。

我个人体验下来,觉得GaussDB(DWS)云原生数仓的存算分离技术,提供了一种高性能、高可靠、高灵活的数据分析服务,让我可以专注于业务逻辑,而不用关心底层的细节。我认为这是一种非常实用和创新的技术。

征文活动结尾

我正在参加【有奖征文 第27期】绽放吧!GaussDB(DWS)云原生数仓!:https://bbs.huaweicloud.com/blogs/412962

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。