浅谈GaussDB (DWS)性能调优【玩转PB级数仓GaussDB(DWS)】
1、介绍
GaussDB是华为自主创新研发的分布式关系型数据库。该产品具备企业级复杂事务混合负载能力,同时支持分布式事务,同城跨AZ部署,数据0丢失,支持1000+的扩展能力,PB级海量存储。同时拥有云上高可用,高可靠,高安全,弹性伸缩,一键部署,快速备份恢复,监控告警等关键能力,能为企业提供功能全面,稳定可靠,扩展性强,性能优越的企业级数据库服务。
2、产品优势
- 高安全
GaussDB拥有TOP级的商业数据库安全特性:数据动态脱敏,TDE透明加密,行级访问控制,密态计算。能够满足政企&金融级客户的核心安全诉求。
- 健全的工具与服务化能力
GaussDB已经拥有华为云,商用服务化部署能力,同时支持DAS、UGO、DRS等生态工具。有效保障用户开发、运维、优化、监控、迁移等日常工作需要。
- 全栈自研
GaussDB基于鲲鹏生态,是当前国内唯一能够做到全栈自主可控的国产品牌。同时GaussDB能够基于硬件优势在底层不断进行优化,提升产品综合性能。
- 开源生态
GaussDB已经支持开源社区,并提供主备版版本下载。
3、应用场景
- 交易型应用
大并发、大数据量、以联机事务处理为主的交易型应用,如政务、金融、电商、O2O、电信CRM/计费等,服务能力支持高扩展、弹性扩缩,应用可按需选择不同的部署规模。
- 详单查询
具备PB级数据负载能力,通过内存分析技术满足海量数据边入库边查询要求,适用于安全、电信、金融、物联网等行业的详单查询业务。
4、调优操作
进入【实验操作桌面】,打开浏览器进入华为云登录页面。选择【IAM用户登录】模式,于登录对话框中输入系统为您分配的华为云实验账号和密码登录华为云。
拟私有云(Virtual Private Cloud)是用户在华为云上申请的隔离的、私密的虚拟网络环境。用户可以自由配置VPC内的IP地址段、子网、安全组等子服务,也可以申请弹性带宽和弹性IP搭建业务系统。
创建虚拟私有云
点击右上角“创建虚拟私有云”。
基本信息:
① 当前区域:华北-北京四
② 名称:vpc-WP
③ 网段:192.168.0.0/16
子网配置:
① 可用分区:可用区1
② 子网名称:subnet-WP
③ 子网IPv4网段:192.168.0.0/24
④ 子网IPv6网段:默认不勾选
登录华为云控制台,鼠标移动到云桌面浏览器页面中左侧菜单栏,点击服务列表->“大数据”->“数据仓库服务GaussDB(DWS)”,进入左侧栏“数据仓库服务”页面。
点击右上角“创建数据仓库集群”,并按下图配置以下参数。
- 计费模式:改为“按需计费”
②区域:华北-北京四。
③ 可用区:可用区1。(如资源售罄,可更换可用区)
④ 产品类型:云数仓。
⑤ 计算类型:弹性云服务器
⑥ 存储类型:SSD云盘
⑦ CPU架构:鲲鹏
⑧ 节点规格:xlarge(选择最小规格即可)
⑨ 热数据存储 :20G
⑩ 节点数量:3。
继续填写如下要页面的参数:
① 集群名称:dws-demo。
② 集群版本:选择8.1.3.x以上版本。
③ 管理员用户:保持默认。
④ 管理员密码:设置密码,需满足界面提示的密码复杂度要求,并记住此密码。
⑤ 数据库端口:保持默认。
⑥ 虚拟私有云:vpc-WP
⑦ 子网:subnet-WP
⑧ 安全组:自动创建安全组
⑨ 公网访问:现在购买
⑩ 宽带:1Mbit/s
核对无误,单击“提交”。创建DWS时需等待10分钟左右。
鼠标移动到云桌面浏览器页面中左侧菜单栏,点击服务列表->“大数据”->“数据仓库服务GaussDB(DWS)”,进入左侧栏“数据仓库服务”页面,左侧导航选择“连接管理”,选择gsql命令行客户端的OS版本:Redhat x86_64,单击“下载”;
回到实验室桌面,双击打开【Xfce终端】(请将终端窗口最大化),执行以下命令将将下载的dws_client_8.1.x_redhat_x64.zip包拷贝到/home/user/Desktop/目录下。
cp /home/user/Downloads/dws_client_8.1.x_redhat_x64.zip /home/user/Desktop/
切换回到DWS管理控制台,左侧选择“集群管理”,单击“dws-demo”集群名称,记录DWS的公网IP。
在【实验操作桌面】,双击“Xfce终端”,进入Terminal命令行窗口,执行以下命令进入/home/user/Desktop/目录。
cd /home/user/Desktop/
执行以下命令,解压客户端,并执行环境变量。其中,dws_client_8.1.x_redhat_x64.zip替换为实际的包名。
unzip dws_client_8.1.x_redhat_x64.zip
source gsql_env.sh
切换回浏览器的管理控制台页面,鼠标停留在右上角用户名,单击“我的凭证”;
回到【实验室桌面】,重新双击【Xfce终端】,打开一个新的Terminal(原来的连接DWS数据的Terminal会话保留),执行以下命令获取AK和SK值。如下图所示,标红色的框,前面为AK,后面为SK;
cat /home/user/Downloads/credentials.csv
复制以下SQL语句,在步骤3.2已连接DWS数据库的Terminal命令行窗口中执行,创建REGION
CREATE TABLE REGION
(
R_REGIONKEY INT NOT NULL,
R_NAME CHAR(25) NOT NULL,
R_COMMENT VARCHAR(152)
)
with (orientation = column)
DISTRIBUTE BY REPLICATION;
复制以下SQL语句,在Terminal命令行窗口中执行,创建表NATION
CREATE TABLE NATION
(
N_NATIONKEY INT NOT NULL,
N_NAME CHAR(25) NOT NULL,
N_REGIONKEY INT NOT NULL,
N_COMMENT VARCHAR(152)
)
with (orientation = column)
DISTRIBUTE BY REPLICATION;
复制以下SQL语句,在Terminal命令行窗口中执行,创建表CUSTOMER
CREATE TABLE CUSTOMER
(
C_CUSTKEY BIGINT NOT NULL ,
C_NAME VARCHAR(25) NOT NULL ,
C_ADDRESS VARCHAR(40) NOT NULL ,
C_NATIONKEY INT NOT NULL ,
C_PHONE CHAR(15) NOT NULL ,
C_ACCTBAL DECIMAL(15,2) NOT NULL ,
C_MKTSEGMENT CHAR(10) NOT NULL ,
C_COMMENT VARCHAR(117) NOT NULL
)
with (orientation = column)
distribute by hash(C_CUSTKEY)
PARTITION BY RANGE(C_NATIONKEY)
(
PARTITION C_NATIONKEY_1 VALUES LESS THAN(1),
PARTITION C_NATIONKEY_2 VALUES LESS THAN(2),
PARTITION C_NATIONKEY_3 VALUES LESS THAN(3),
PARTITION C_NATIONKEY_4 VALUES LESS THAN(4),
PARTITION C_NATIONKEY_5 VALUES LESS THAN(5),
PARTITION C_NATIONKEY_6 VALUES LESS THAN(6),
PARTITION C_NATIONKEY_7 VALUES LESS THAN(7),
PARTITION C_NATIONKEY_8 VALUES LESS THAN(8),
PARTITION C_NATIONKEY_9 VALUES LESS THAN(9),
PARTITION C_NATIONKEY_10 VALUES LESS THAN(10),
PARTITION C_NATIONKEY_11 VALUES LESS THAN(11),
PARTITION C_NATIONKEY_12 VALUES LESS THAN(12),
PARTITION C_NATIONKEY_13 VALUES LESS THAN(13),
PARTITION C_NATIONKEY_14 VALUES LESS THAN(14),
PARTITION C_NATIONKEY_15 VALUES LESS THAN(15),
PARTITION C_NATIONKEY_16 VALUES LESS THAN(16),
PARTITION C_NATIONKEY_17 VALUES LESS THAN(17),
PARTITION C_NATIONKEY_18 VALUES LESS THAN(18),
PARTITION C_NATIONKEY_19 VALUES LESS THAN(19),
PARTITION C_NATIONKEY_20 VALUES LESS THAN(20),
PARTITION C_NATIONKEY_21 VALUES LESS THAN(21),
PARTITION C_NATIONKEY_22 VALUES LESS THAN(22),
PARTITION C_NATIONKEY_23 VALUES LESS THAN(23),
PARTITION C_NATIONKEY_24 VALUES LESS THAN(24),
PARTITION C_NATIONKEY_25 VALUES LESS THAN(25)
);
复制以下SQL语句,在Terminal命令行窗口中执行,创建表PART
CREATE TABLE PART
(
P_PARTKEY BIGINT NOT NULL ,
P_NAME VARCHAR(55) NOT NULL ,
P_MFGR CHAR(25) NOT NULL ,
P_BRAND CHAR(10) NOT NULL ,
P_TYPE VARCHAR(25) NOT NULL ,
P_SIZE BIGINT NOT NULL ,
P_CONTAINER CHAR(10) NOT NULL ,
P_RETAILPRICE DECIMAL(15,2) NOT NULL ,
P_COMMENT VARCHAR(23) NOT NULL)
with (orientation = column)
distribute by hash(P_PARTKEY)
PARTITION BY RANGE(P_SIZE)
(
PARTITION P_SIZE_1 VALUES LESS THAN(11),
PARTITION P_SIZE_2 VALUES LESS THAN(21),
PARTITION P_SIZE_3 VALUES LESS THAN(31),
PARTITION P_SIZE_4 VALUES LESS THAN(41),
PARTITION P_SIZE_5 VALUES LESS THAN(51)
);
按手册逐步操作,即可实现调优功能。
5、小结
华为GaussDB目前已应用到了诸多行业中,相信后续随着业务不断发展,华为GaussDB的应用会更加广泛。
【一起来玩转PB级数仓GaussDB(DWS),分享你的技术经验与体验心得,赢开发者大礼包!】第19期有奖征文火热进行中!
- 点赞
- 收藏
- 关注作者
评论(0)