产品功能
GaussDB(DWS)为用户提供GaussDB(DWS)管理控制台、GaussDB(DWS)客户端、REST API等多样化的使用方式。本章节为您介绍GaussDB(DWS)的主要功能。
企业级数据仓库和标准SQL的支持
当创建好GaussDB(DWS)集群后,用户就可以使用SQL客户端工具连接集群,然后执行创建数据库、管理数据库、导入/导出数据以及查询数据的操作。
GaussDB(DWS)为用户提供了PB(petabyte)级高性能数据库,主要体现在:
- MPP大规模并行处理框架,支持行列混存、向量化执行,实现万亿数据关联分析秒级响应。
- 内存计算,基于Bloom Filter的Hash Join优化,性能提升2~10倍。
- 支持全对称分布式的Active-Active多节点集群架构,系统无单点故障。
- 基于电信技术优化的大规模集群通信,提升计算节点间的传输效率。
- 基于代价的智能优化器,根据集群规模、数据量、生成最优计划,提高执行效率。
GaussDB(DWS)具有完备的SQL能力:
- 兼容ANSI/ISO标准的SQL92、SQL99和SQL 2003语法标准,支持存储过程,支持GBK和UTF-8字符集,支持SQL标准函数与OLAP分析函数。
- 兼容PostgreSQL/Oracle/Teradata/MySQL数据库生态,与主流第三方数据库ETL,BI(business intelligence)工具厂商对接认证。
- 支持位图roaring bitmap数据类型及对应常见函数,在互联网、零售、教育、游戏等行业,提取用户特征、用户画像等场景有广泛应用。
- 在现有范围分区(Range Partitioning)基础上,新增支持list分区方式:PARTITION BY LIST (partition_key,[...]),满足用户使用习惯。
- HDFS/OBS外表READ ONLY外表支持JSON文件格式。
- 支持系统表赋权给普通用户,VACUUM能够单独赋权,以及支持可扩展的预定义权限角色功能。
- 新增表级权限ALTER/DROP/VACUUM。
- 新增Schema级权限ALTER/DROP。
- 新增预置角色role_signal_backend、role_read_all_stats。
详细的SQL语法和数据库操作指导,请参见《数据仓库服务数据库开发指南》。
集群管理
一个GaussDB(DWS)集群由多个在相同子网中的相同规格的节点组成,共同提供服务。GaussDB(DWS)为用户提供了简单易用的Web管理控制台,让用户可以快速申请集群,轻松执行数据仓库管理任务,专注于数据和业务。
集群管理的主要功能如下:
- 创建集群
如果用户需要在云上环境中使用数据仓库服务,首先应创建一个GaussDB(DWS)集群。用户可根据业务需求选择相应的产品规格和节点规格快速创建集群。您也可以先购买包年/包月,然后再创建集群。
- 管理快照
快照是GaussDB(DWS)集群在某一时间点的完整备份,记录了这一时刻指定集群的所有配置数据和业务数据,快照可用于还原某一时刻的集群。用户可以为集群手动创建快照,也可以开启定时创建自动快照。自动快照有保留天数限制,用户可以对自动快照进行复制,生成手动快照以便长期保留。
当您从快照恢复集群时,系统支持将快照数据恢复到新集群或者原集群中。
对于不再需要的快照,可以选择在控制台删除快照(自动快照不支持手动删除),以释放存储空间。
- 管理节点
用户可查看所创集群的节点列表,在节点管理页面可以清晰的查询各节点的状态、节点规格、是否已使用等信息。若用户需要进行大规模扩容操作时,可通过节点管理功能提前分批次添加准备好用于扩容的节点。例如需要新扩容180个BMS节点,可分3批各添加60个,如果其中有一部分添加失败,可再次添加失败数量的节点,等180个节点添加成功后,再使用这些添加好的节点进行扩容,添加节点过程中不影响集群业务。
- 扩容集群
随着业务的增长,现有集群规模可能无法满足业务需要,此时,用户可以扩容集群,为集群增加计算节点。扩容时业务不中断。进行扩容操作时,用户可根据需求选择是否在线扩容和自动重分布。
- 管理重分布
默认情况下,在扩容之后将自动调起重分布任务,为了增强扩容重分布整个流程的可靠性,可以选择在扩容时关闭自动重分布功能,在扩容成功之后再手动使用重分布功能执行重分布任务,数据重分布后将大大提升业务响应速率。当前重分布支持离线重分布、在线重分布两种模式,默认情况下,提交重分布任务时将选择离线重分布模式。
- 磁盘扩容
随着客户业务的发展,磁盘空间往往最先出现资源瓶颈,在其他资源尚且充足的情况下,执行传统扩容操作不仅耗时久,还伴随着资源浪费问题。通过磁盘扩容可快速缓解存储资源瓶颈现象,操作过程中无需暂停业务,并且不会造成CPU、内存等资源浪费。用户可在没有其他业务情况下选择磁盘扩容操作,扩容成功后如果磁盘空间不够可以继续磁盘扩容,若扩容失败用户可尝试重新进行磁盘扩容操作。
- 资源管理
当您有多个数据库用户同时查询作业时,一些复杂查询可能会长时间占用集群资源,从而影响其他查询的性能。例如一组数据库用户不断提交复杂、耗时的查询,而另一组用户经常提交短查询。在这种情况下,短时查询可能不得不在队列中等待耗时查询完成。为了提高效率,GaussDB(DWS)提供了资源管理功能,GaussDB(DWS)资源管理以资源池为资源承载,对于不同的业务类型可以创建不同的资源池,为这些资源池配置不同的资源占比,并将数据库用户添加至对应的资源池中,以此来限制这些数据库用户的资源使用。
- 逻辑集群
逻辑集群是基于Node Group机制来划分物理节点的一种集群模式,从节点层次将大集群进行划分,和数据库形成交叉。一个数据库中的表可以按逻辑集群来分配到不同的物理节点,而一个逻辑集群也可以包含多个数据库的表。
- 重启集群
- 删除集群
GaussDB(DWS)为用户提供了以下两种方式管理集群:
- 管理控制台方式
使用管理控制台方式访问GaussDB(DWS)集群。用户在注册后,可直接登录管理控制台,选择“数据仓库服务”。
有关集群管理的更多内容,请参见管理集群。
- REST API方式
支持使用GaussDB(DWS)提供的REST API接口以编程的方式管理集群。如果用户需要将GaussDB(DWS)集成到第三方系统,用于二次开发,请使用API方式访问。
详细内容,请参见《数据仓库服务API参考》。
多样化的数据导入方式
GaussDB(DWS)支持多数据源高效入库,典型的入库方式如下所示。详细指导请参见迁移数据到GaussDB(DWS)章节。
- 从OBS并行导入数据
- 使用GDS从远端服务器导入数据
- 从MRS导入数据到集群
- 从GaussDB(DWS)集群导入数据到新集群
- 使用gsql元命令\COPY导入数据
- 使用COPY FROM STDIN导入数据
- 使用DLI将数据导入GaussDB(DWS)
- 使用DRS将数据导入GaussDB(DWS)
- 使用CDM迁移数据到GaussDB(DWS)
- 使用DSC工具迁移SQL脚本
- 使用gs_dump和gs_dumpall命令导出元数据
- 使用gs_restore导入数据
应用程序接口
支持调用JDBC(Java Database Connectivity)、ODBC(Open Database Connectivity)等标准接口开发应用程序访问GaussDB(DWS)集群中的数据库。
详细内容请参见使用JDBC连接数集群、使用ODBC连接数集群。
高可靠性
- 通过实例冗余、数据冗余,实现整个系统无单点故障。
- 数据多副本,且所有数据可手动备份至OBS。
- 自动隔离有故障的节点,利用副本重新恢复数据,并在必要时替换节点。
- 自动快照结合OBS存储,实现Region内容灾,若用户生产集群所处的地理位置发生自然灾害,或者集群内部出现了故障从而导致生产集群无法正常对外提供读写服务,那么灾备集群可以切换为生产集群,从而保障业务连续性。
- 当集群状态为“非均衡”时会出现某些节点主实例增多,从而负载压力较大,用户可在业务低峰期进行集群主备恢复操作。
- 用户使用客户端连接DWS集群时,如果用户仅连接一个CN节点地址,通过该CN节点内网IP或弹性公网IP连接时,只能连接到固定的CN节点上,存在CN单点问题。因此GaussDB(DWS)引入了弹性负载均衡服务,解决集群访问的单点问题。弹性负载均衡(ELB)是将访问流量根据转发策略分发到后端多台弹性云服务器的流量分发控制服务,可以通过流量分发扩展应用系统对外的服务能力,提高应用程序的容错能力。
- 当用户集群创建后,实际需要的CN数量会随着业务需求而发生变化,因此GaussDB(DWS)提供了增删CN节点功能,实现用户可以根据实际需求动态调整集群CN数量的要求。
安全管理
- 基于网络隔离、安全组规则以及一系列安全加固项,实现租户隔离和访问权限控制,保护系统和用户的隐私及数据安全。
- 支持SSL安全网络连接、用户权限管理、密码管理等功能,保证数据库在网络层、管理层、应用层和系统层的安全性。
详细内容请参见设置SSL连接和设置GaussDB(DWS)集群三权分立。
监控与审计
- 监控集群
GaussDB(DWS)与云监控 (Cloud Eye)集成,使您能够对集群中的计算节点和数据库进行实时监控。详情请参见监控集群。
- 数据库监控
数据库监控(DMS)是为GaussDB(DWS)数据库提供多维度监控服务的系统,为客户数据库的快速、稳定运行提供保驾护航的能力。该功能对业务数据库使用的磁盘、网络、OS指标数据以及集群运行关键性能指标数据进行收集、监控、分析。通过综合收集到的多种类型指标,对数据库主机、实例、业务SQL进行诊断,及时暴露数据库中关键故障及性能问题,指导客户进行优化解决。详情请参见数据库监控(DMS)。
- 告警管理
告警管理包含查看告警规则、告警规则配置与告警信息订阅功能。其中,告警规则可以提供过去一周的告警信息统计与告警信息明细,方便用户自行查看租户下的告警。该功能以默认告警规则阈值的方式提供常用的GaussDB(DWS)告警监控,还允许用户根据自己的业务特点,自定义告警阈值。详情请参见告警管理。
- 事件通知
GaussDB(DWS)与消息通知服务对接,使您能够订阅事件并查看触发的各类事件。详情请参见事件通知。
- 审计日志
- GaussDB(DWS)与云审计服务集成,使您能够对所有的管理控制台操作及API调用进行审计。详情请参见查看管理控制台关键操作审计日志。
- GaussDB(DWS)数据库还会记录所有的SQL操作,包括连接尝试、查询和数据库的变动。详情请参见设置数据库审计日志。
支持多种数据库工具
GaussDB(DWS)提供了以下几款自研工具,用户可以在GaussDB(DWS)管理控制台下载相关的工具包。有关工具的详细指导请参见《数据仓库服务工具指南》。
- gsql工具
它是一款运行在Linux操作系统的命令行SQL客户端工具,用于连接GaussDB(DWS)集群中的数据库,并对数据库进行操作和维护。
- Data Studio工具
它是一款运行在Windows操作系统上的图形界面SQL客户端工具,用于连接GaussDB(DWS)集群中的数据库、管理数据库和数据库对象,编辑、运行、调试SQL脚本,查看执行计划等。
- GDS工具
它是GaussDB(DWS)提供的数据服务工具,通过和外表机制的配合,实现数据的高速导入导出。
GDS工具包需要安装在数据源文件所在的服务器上,数据源文件所在的服务器称为数据服务器,也称为GDS服务器。
- DSC SQL语法迁移工具
DSC(Database Schema Convertor)是一款运行在Linux或Windows操作系统上的命令行工具,致力于向客户提供简单、快速、可靠的应用程序SQL脚本迁移服务,通过内置的语法迁移逻辑解析源数据库应用程序SQL脚本,并迁移为适用于GaussDB(DWS)数据库的应用程序SQL脚本。
DSC支持迁移Teradata、Oracle、Netezza、MySQL和DB2数据库的SQL脚本。