GaussDB(DWS) 从入门到精通(使用DAS操作数仓)【玩转PB级数仓GaussDB(DWS)】
目录
华为云数据库
华为云提供的数据库主要分为两类:关系型和非关系型(这点与我们传统意义上的数据库分类一致)
其中,关系型数据库为以下5种
- 云数据库 GaussDB
华为新一代企业级分布式关系型数据库产品 - 云数据库 GaussDB(for MySQL)
华为新一代完全兼容MySQL的企业级数据库 - 云数据库 RDS for MySQL
全球最受欢迎的开源数据库之一 - 云数据库 RDS for PostgreSQL
开源数据库,保证数据的可靠性和完整性 - 云数据库 RDS for SQLServer
世界上广受欢迎的商用关系型数据库之一
非关系型数据库也有以下5种
- 云数据库 GaussDB(for Cassandra)
华为新一代兼容Cassandra生态的数据库 - 云数据库 GaussDB(for Mongo)
华为新一代兼容MongoDB生态的数据库 - 云数据库 GaussDB(for Redis)
华为新一代兼容Redis生态的数据库 - 云数据库 GaussDB(for Influx)
华为新一代支持并发时序数据读写的数据库 - 文档数据库服务 DDS
支持集群、副本集和单节点部署架构
什么是GaussDB
GaussDB(openGauss)定位为企业级云分布式数据库,架构上着重构筑传统数据库的企业级能力和互联网分布式数据库的高扩展和高可用能力
比起传统数据库,有如下几个优点
- 高性能:支持分布式事务强一致性,同时32节点下能够达到1200万tpmC的性能实测指标
- 高可用:支持同城跨AZ多活容灾,两地三中心金融级部署场景;
- 高拓展:当前支持最大256节点的在线扩容,同时保障客户拥有卓越的性能线性增长,打破传统DIY架构的性能天花板;
- 易运维:高度支持HTAP混合负载场景,极大的减少了业务改造成本,同时基于云平台获在线监控,运维,升级等便利的能力。
GaussDB(openGauss)在华为云上拥有两种部署形态:集中式和分布式,分别面向企业核心交易和未来海量事务型场景,打造差异化竞争力。
DWS购买试用
进入如下购买链接,试用华为云 GaussDB 云数据仓库
https://account.huaweicloud.cn/pkgbuy/?region=cn-east-3#/home?prId=P2301030739348161PUN0WH1KGC25E
选型建议(本例中选用的是实时数仓)
- 云数仓:OLAP分析场景的首选,弹性伸缩,无限算力、无限容量
- 实时数仓: 一库两用,生产即分析;适用交易、分析混合型业务场景;单机、集群两种模式
- IoT数仓:内置时序算子,最高40x压缩;适用物联网IoT场景
填入集群名称:gaussdb-cluster(可以改为你自己的名字)
管理员用户:dbadmin(默认)
管理员密码:(填你自己的密码)
数据库端口:8000(客户端连接DWS的端口,取值范围8000-30000)
购买清单确认无误后,就可以开始付款环节了
首先选择支付方式:“余额”或者“在线支付”
通过“支付宝”、“微信”、“银联在线”扫码支付
支付成功
返回订单中心(“订单管理”—>“我的订单”),可以看到我们刚刚所购买的“数据仓库服务”
注意:状态为处理中表示资源还在创建阶段,需要等待创建完成后,方能开始使用数据库服务(等待的时间比较久,大概20-30分钟左右,可以先去干点别的事)
创建好后,服务的状态会由“处理中”变为“已完成”
另外,在“订单管理”—>“续费管理”这里,也可以看到你上面所购买的gaussdb
还有,“资源”->“我的资源”,也可以查到刚刚购买的DWS
云数据仓库GaussDB(DWS)管理控制台
前面我们所购买的属于 GaussDB 的数仓服务,因此在 “大数据”—>“云数据仓库GaussDB”里面
产品地址为 https://www.huaweicloud.cn/product/dws.html
云数据仓库 GaussDB(DWS)主要有以下4个应用场景
- 传统数仓替换
- 一站式BI解决方案
- 数据湖分析
- loT数据分析
Demo体验会带你进入一个“开发者学堂”,并给你准备一个沙箱环境,教你学习如何在云上快速创建GaussDB(DWS)数据仓库集群,并将OBS源数据导入数据仓库,完成数据的简易查询
点击“管理控制台”,进入“数据仓库服务”页面
这里官方列出了4个步骤,带你入门“数据仓库”
- 创建数据仓库集群
华为云数据仓库服务(Data Warehouse Service,简称DWS)是一种即开即用、安全可靠的在线数据仓库服务,为用户提供海量数据的存储、挖掘和分析能力。 - 连接集群
Data Studio是一款运行在Windows操作系统上的SQL客户端工具,有着丰富的GUI界面,能够管理数据库和数据库对象,编辑、运行、调试SQL脚本,查看执行计划等。 - 创建目标数据并导入
在Data Studio客户端中执行SQL语句,将模拟的8.9亿条交通卡口车辆通行样例数据导入DWS,并执行查询。 - 查询并分析样例
进行车辆精确查询和车辆模糊查询,展示GaussDB(DWS) 对于历史详单数据的高性能查询能力。
注意:你在订单里买的是哪个区域的服务,就要切换到那个区域,否则默认你是看不到集群的!
例如,我这个订单买的是“华南-广州”的服务,那么在上图上默认的“北京四”区域就看不到我所购买的集群,因此要手动切换到“华南-广州”(即你所购买服务的区域)
使用DAS连接集群
DWS支持Web SQL界面化工具DAS、Data Studio和gsql三种后台连接方式
这里,我们试用DAS连接数据库,华为云官网的帮助文档为:
https://support.huaweicloud.cn/mgtg-dws/dws_01_0815.html
要进入DAS,首先登录华为云官网:https://www.huaweicloud.cn/
数据管理服务(Data Admin Service,简称DAS),用来登录和操作华为云上数据库的Web服务,提供数据库开发、运维、智能诊断一站式云上数据库管理平台,方便用户使用和运维华为云数据库。
进入后,首先要同意“隐私声明”
注意:这里要做的第一件事,还是切换区域到我们刚刚购买服务的“华南-广州”
然后点击“新增数据库实例”
- 数据库引擎:GaussDB(DWS)
- 数据库来源:DWS gaussdb-cluster(这里的名字是你购买的时候设置的名字)
- 数据库名称:gaussdb(默认)
- 登录用户名:dbadmin(购买数服务时设置的用户名)
- 登录密码:(购买数据库时设置的密码)
- 定时采集:开启(允许DAS保存实例中的仅库名、表名、字段名等结构定义数据,不包含表中的实际数据;元数据采集默认每天凌晨采集一次。若不开启,DAS只能实时的从数据库获取结构定义数据,将会影响数据库实时性能)
创建成功后,就有了数据库实例了【当前 GaussDB(GWS) 8.2.0】
点击右侧的“登录”按钮,登录DAS。
数据库
数据库结构
登录后可以查看到刚刚连上的数据库gaussdb,还有一些其它参数
- 表数量
- 表大小
- 索引大小
- 字符集
新建数据库,需要指定如下几个参数
- 数据库名
- 字符集:支持4种(UTF8, GBK, LATIN1, SQL_ASCII)
- Template:模板名。即从哪个模板创建新数据库。GaussDB(DWS)采用从模板数据库复制的方式来创建新的数据库。初始时,GaussDB(DWS)包含两个模板数据库template0、template1,以及一个默认的用户数据库gaussdb。取值范围:已有数据库的名称。不指定时,系统默认拷贝template1。另外,不支持指定为gaussdb数据库。
- Collation:排序规则,默认en_US.utf8。请注意,不同的排序规则下,相同的比较其结果可能是不同的。例如,在en_US.utf8下, select ‘a’>‘A’;为false,但在’C’下,select ‘a’>‘A’;为true; 如果从oracle迁移到GaussDB(DWS),使用’C’才能得到一致的预期。支持的排序规则,可以查询系统表 pg_collation。
- Ctype:要在新数据库中使用的字符分类(LC_CTYPE)。这会影响字符的类别,如小写、大写和数字。默认是使用模板数据库的字符分类。
- DBCOMPATIBILITY:指定兼容的数据库的类型,包含 MySQL,TD(Teradata),Oracle这三种
具体建库的SQL语句可以查阅官方文档,文档地址如下
https://support.huaweicloud.cn/sqlreference-dws/dws_06_0156.html
依次进入 数据库->schema->public表->SQL查询,可以得到如下结构
从表结构可以看出,GaussDB(GWS)是基于Postgress源码进行开发的
时区:中国处于“东8区”,GaussDB(GWS) 默认就给你设置在了“东8区(Etc/GMT-8)”
建表(DDL)
首先,创建一个员工表
CREATE TABLE EMPLOYEE (
ID INT PRIMARY KEY NOT NULL,
DEPT_ID INT NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL
);
然后再创建一个部门表
CREATE TABLE DEPARTMENT(
ID INT PRIMARY KEY NOT NULL,
DEPT CHAR(50) NOT NULL
);
DAS 支持格式化SQL的功能,格式化会将多个空格合并成一个,并且每个列占单独的一行。如下图
创建表后,左侧并不会立马显示出你的表来,需要手动点击左侧的“刷新”按钮
增(Create new records)
同时插入“员工信息”和“部门信息”,点击执行按钮,输出如下
INSERT INTO EMPLOYEE (id, dept_id, name, age, address, salary) VALUES
(100,0,'bob',31,'福建省福州市台江区', 1234.56),
(101,1,'tina',25,'福建省福州市鼓楼区', 999.00),
(102,1,'tom',38,'福建省三明市', 009.00),
(103,1,'linda',18,'福建省福清市', 1000.00001);
INSERT INTO DEPARTMENT(id, dept) VALUES (0, '总裁办'),(1, '研发部')
这个说明 DAS 的SQL执行窗体,支持多条用封号分割的SQL语句自动依次执行。
原理是:首先根据封号,对SQL语句进行拆分,然后依次执行并输出结果
查(Read existing records)
做一个表关联,把员工表和部门表做一个JOIN
SELECT a.*, b.dept
FROM EMPLOYEE a
INNER JOIN DEPARTMENT b ON a.dept_id = b.id
WHERE a.age < 100
改(Update existing records)
修改某位员工的工资,然后立即查询员工表(修改和查询,两条语句一起执行)
UPDATE EMPLOYEE SET SALARY=2222.12345 WHERE name='linda';
SELECT * FROM EMPLOYEE;
删(Delete existing records)
下面删除某位员工的信息,而后立即查询
DELETE FROM EMPLOYEE WHERE name='linda';
SELECT * FROM EMPLOYEE;
其它 DAS 操作
右击某个表,可以执行以下4个操作
- 复制表名
- 查看表详情
- 打开表:打开后的表,一样不可编辑(DBMS如DBeaver中,是可以编辑的)
- 查询表:执行
SELECT * FROM <表名>
SQL总结
通过上述操作,我们可以得出
- GaussDB默认大小写不敏感
- 通过DAS创建表后,需要刷新才能显示
- DAS支持多条语句自动先后执行
- GaussDB插入REAL类型,然后再查询,可能由于精度问题,查出来的数字和插入的不一致
清理资源
注意:本次活动购买的试用时长为1个月(30天),试用期结束后,集群如果未删除,会自动扣费,一定要在试用期到期之前删除集群清理资源
在“数据仓库服务”—>“集群管理”页面中,单击集群名字右边的“更多”按钮,然后在展开的下拉框中点击“退订”(以前叫删除,现在变成退定了)
然后在确认对话框中,点击“确认”即可
总结
本文带大家认识了华为云上支持的数据库,并带大家购买并体验了数仓GaussDB(DWS)的基本结构,然后使用数据管理服务DAS连接GaussDB(DWS)数仓,并带大家体验了一把增删改查的基本语法,至此你已经基本了解了GaussDB及官方连接工具的使用方法了,后面的文章会带你深入体验GuassDB的更高级的语法,尽请期待!
推广
【一起来玩转PB级数仓GaussDB(DWS),分享你的技术经验与体验心得,赢开发者大礼包!】第19期有奖征文火热进行中!
此外,在云声平台提出您的宝贵建议,标题以【云驻计划-定向征文】开头,还有机会赢取额外奖励。
- 点赞
- 收藏
- 关注作者
评论(0)