跟我一起玩转GaussDB (DWS)【玩转PB级数仓GaussDB(DWS)】
1、GaussDB介绍
数据仓库服务GaussDB(DWS) 是一种基于华为云基础架构和平台的在线数据处理数据库,提供即开即用、可扩展且完全托管的分析型数据库服务。GaussDB(DWS)是基于华为融合数据仓库GaussDB产品的云原生服务 ,兼容标准ANSI SQL 99和SQL 2003,同时兼容PostgreSQL/Oracle数据库生态,为各行业PB级海量大数据分析提供有竞争力的解决方案。
2、GaussDB优势
2.1、易使用
- 一站式可视化便捷管理
GaussDB(DWS) 让您能够轻松完成从项目概念到生产部署的整个过程。通过使用GaussDB(DWS) 管理控制台,您不需要安装数据仓库软件,也不需要部署数据仓库服务器,就可以在几分钟之内获得高性能、高可靠的企业级数据仓库集群。
您只需点击几下鼠标,就可以轻松完成应用程序与数据仓库的连接、数据备份、数据恢复、数据仓库资源和性能监控等运维管理工作。
- 与大数据无缝集成
您可以使用标准SQL查询HDFS、对象存储服务(Object Storage Service,OBS)上的数据,数据无需搬迁。
- 提供一键式异构数据库迁移工具
GaussDB(DWS) 提供配套的迁移工具,可支持MySQL、Oracle和Teradata的SQL脚本迁移到GaussDB(DWS) 。
2.2、高性能
- 云化分布式架构
GaussDB(DWS) 采用全并行的MPP架构数据库,业务数据被分散存储在多个节点上,数据分析任务被推送到数据所在位置就近执行,并行地完成大规模的数据处理工作,实现对数据处理的快速响应。
- 查询高性能,万亿数据秒级响应
GaussDB(DWS) 后台还通过算子多线程并行执行、向量化计算引擎实现指令在寄存器并行执行,以及LLVM动态编译减少查询时冗余的条件逻辑判断,助力数据查询性能提升。
GaussDB(DWS)支持行列混合存储,可以同时为用户提供更优的数据压缩比(列存)、更好的索引性能(列存)、更好的点更新和点查询(行存)性能。
- 数据加载快
GaussDB(DWS)提供了GDS极速并行大规模数据加载工具。
2.3、易扩展
- 按需扩展:Shared-Nothing开放架构,可随时根据业务情况增加节点,扩展系统的数据存储能力和查询分析性能。
- 扩容后性能线性提升:容量和性能随集群规模线性提升,线性比8。
- 扩容不中断业务:扩容过程中支持数据增、删、改、查,及DDL操作(Drop/Truncate/Alter table),表级别在线扩容技术,扩容期间业务不中断、无感知。
3、应用场景
3.1、传统数仓替换
传统数据库或数仓产品面临数据存不下、查不出、扩容难、成本高的痛点。GaussDB(DWS)作为新一代全场景数据仓库,具备极致性能、高扩展、极简易用、一站式分析等特性,满足大数据时代企业构建新型数仓的需求。
优势
- 平滑迁移
提供配套的迁移工具,可支持Teradata、Oracle/Exadata、Greenplum等数据分析系统的平滑迁移
- 完备的数据库及SQL能力
支持SQL 2003标准,兼容Oracle/Teradata的部分语法和数据结构,支持全局事务、存储过程、数据强一致性保证
- 库仓一体
逻辑集群,支持一套集群容纳数据集市、数据仓库。
3.2、数据湖分析
整合数据资源,构建大数据平台,发现数据价值,成为企业经营的新趋势和迫切诉求。DWS Express可直接对存储在对象存储OBS上的大数据平台集成、处理后的数据进行分析。
优势
- 统一分析入口
以DWS的SQL作为上层应用的统一入口,应用开发人员使用熟悉的SQL语言即可访问所有数据
- 实时交互式分析
针对即时的分析需求,分析人员通过DWS Express,可实时从大数据平台中获取信息
- 弹性伸缩
客户可使用DWS Express提供的由成百上千节点组成的加速集群,相比本地托管集群,效率提升数百倍。
4、GaussDB(DWS)性能调优
4.1、登录华为云
进入【实验操作桌面】,打开浏览器进入华为云登录页面。选择【IAM用户登录】模式,于登录对话框中输入系统为您分配的华为云实验账号和密码登录华为云,然后创建虚拟私有云VPC。
点击右上角“创建虚拟私有云”。
基本信息:
① 当前区域:华北-北京四
② 名称:vpc-WP
③ 网段:192.168.0.0/16
4.2、创建DWS集群
登录华为云控制台,鼠标移动到云桌面浏览器页面中左侧菜单栏,点击服务列表->“大数据”->“数据仓库服务GaussDB(DWS)”,进入左侧栏“数据仓库服务”页面,
创建数据仓库集群
点击右上角“创建数据仓库集群”,
- 计费模式:改为“按需计费”
- 区域:华北-北京四。
- 可用区:可用区1。(如资源售罄,可更换可用区)
- 产品类型:云数仓。
- 计算类型:弹性云服务器
- 存储类型:SSD云盘
- CPU架构:鲲鹏
- 节点规格:xlarge(选择最小规格即可)
- 热数据存储 :20G
- 节点数量:3;
继续填写如下要页面的参数:① 集群名称:dws-demo。② 集群版本:选择8.1.3.x以上版本。 ③ 管理员用户:保持默认。④ 管理员密码:设置密码,需满足界面提示的密码复杂度要求,并记住此密码。 ⑤ 数据库端口:保持默认。⑥ 虚拟私有云:vpc-WP⑦ 子网:subnet-WP⑧ 安全组:自动创建安全组⑨ 公网访问:现在购买 ⑩ 宽带:1Mbit/s
高级配置选择“默认配置”,单击“立即创建”。创建DWS需要等待10分钟。
4.3、性能调优化
鼠标移动到云桌面浏览器页面中左侧菜单栏,点击服务列表->“大数据”->“数据仓库服务GaussDB(DWS)”,进入左侧栏“数据仓库服务”页面,左侧导航选择“连接管理”,选择gsql命令行客户端的OS版本:Redhat x86_64,单击“下载”。
在【实验操作桌面】,双击“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
输入以下命令连接DWS数据库
gsql -d gaussdb -h <DWS的公网IP> -U dbadmin -p 8000 -r -W <用户dbadmin密码>;
回到【实验室桌面】,重新双击【Xfce终端】,打开一个新的Terminal(原来的连接DWS数据的Terminal会话保留),执行以下命令获取AK和SK值。如下图所示,标红色的框,前面为AK,后面为SK。
cat /home/user/Downloads/credentials.csv
性能调优实践
创建TPC-H基表和导入数据步骤1 复制以下SQL语句,在步骤3.2已连接DWS数据库的Terminal命令行窗口中执行(1)复制以下SQL语句,在步骤3.2已连接DWS数据库的Terminal命令行窗口中执行,创建表1-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命令行窗口中执行,创建表2-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命令行窗口中执行,创建表SUPPLIER。
CREATE TABLE SUPPLIER
(
S_SUPPKEY BIGINT NOT NULL ,
S_NAME CHAR(25) NOT NULL ,
S_ADDRESS VARCHAR(40) NOT NULL ,
S_NATIONKEY INT NOT NULL ,
S_PHONE CHAR(15) NOT NULL ,
S_ACCTBAL DECIMAL(15,2) NOT NULL ,
S_COMMENT VARCHAR(101) NOT NULL
)
with (orientation = column)
distribute by hash(S_SUPPKEY)
PARTITION BY RANGE(S_NATIONKEY)
(
PARTITION S_NATIONKEY_1 VALUES LESS THAN(1),
PARTITION S_NATIONKEY_2 VALUES LESS THAN(2),
PARTITION S_NATIONKEY_3 VALUES LESS THAN(3),
PARTITION S_NATIONKEY_4 VALUES LESS THAN(4),
PARTITION S_NATIONKEY_5 VALUES LESS THAN(5),
PARTITION S_NATIONKEY_6 VALUES LESS THAN(6),
PARTITION S_NATIONKEY_7 VALUES LESS THAN(7),
PARTITION S_NATIONKEY_8 VALUES LESS THAN(8),
PARTITION S_NATIONKEY_9 VALUES LESS THAN(9),
PARTITION S_NATIONKEY_10 VALUES LESS THAN(10),
PARTITION S_NATIONKEY_11 VALUES LESS THAN(11),
PARTITION S_NATIONKEY_12 VALUES LESS THAN(12),
PARTITION S_NATIONKEY_13 VALUES LESS THAN(13),
PARTITION S_NATIONKEY_14 VALUES LESS THAN(14),
PARTITION S_NATIONKEY_15 VALUES LESS THAN(15),
PARTITION S_NATIONKEY_16 VALUES LESS THAN(16),
PARTITION S_NATIONKEY_17 VALUES LESS THAN(17),
PARTITION S_NATIONKEY_18 VALUES LESS THAN(18),
PARTITION S_NATIONKEY_19 VALUES LESS THAN(19),
PARTITION S_NATIONKEY_20 VALUES LESS THAN(20),
PARTITION S_NATIONKEY_21 VALUES LESS THAN(21),
PARTITION S_NATIONKEY_22 VALUES LESS THAN(22),
PARTITION S_NATIONKEY_23 VALUES LESS THAN(23),
PARTITION S_NATIONKEY_24 VALUES LESS THAN(24),
PARTITION S_NATIONKEY_25 VALUES LESS THAN(25)
);
依次按手册进行操作,可实现GaussDB性能调优。
5、小结
华为数据仓库Gauss(DB),支持集群管理、多样化的数据导入方式、应用程序接口、高可靠性、安全管理等功能。相信后续华为数据仓库Gauss(DB)会应用到更多场景中去。
【一起来玩转PB级数仓GaussDB(DWS),分享你的技术经验与体验心得,赢开发者大礼包!】第19期有奖征文火热进行中!
- 点赞
- 收藏
- 关注作者
评论(0)