企业级数据仓库和标准SQL的支持
当创建好DWS 集群后,用户就可以使用SQL客户端工具连接集群,然后执行创建数据库、管理数据库、导入/导出数据以及查询数据的操作。
DWS 为用户提供了PB(petabyte)级高性能数据库,主要体现在:
- MPP大规模并行处理框架,支持行列混存、向量化执行,实现万亿数据关联分析秒级响应。
- 内存计算,基于Bloom Filter的Hash Join优化,性能提升2~10倍。
- 基于电信技术优化的大规模集群通信,提升计算节点间的传输效率。
- 基于代价的智能优化器,根据集群规模、数据量、生成最优计划,提高执行效率。
DWS 具有完备的SQL能力:
- 支持SQL 92、SQL 2003标准,支持存储过程,支持GBK和UTF-8字符集,支持SQL标准函数与OLAP分析函数。
- 兼容PostgreSQL生态,与主流第三方数据库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。
集群管理
一个DWS 集群由多个在相同子网中的相同规格的节点组成,共同提供服务。DWS 为用户提供了简单易用的Web管理控制台,让用户可以快速申请集群,轻松执行数据仓库管理任务,专注于数据和业务。
集群管理的主要功能如下:
- 创建集群
如果用户需要在云上环境中使用数据仓库服务,首先应创建一个DWS集群。用户可根据业务需求选择相应的产品规格和节点规格快速创建集群。
- 管理快照
快照是DWS 集群在某一时间点的完整备份,记录了这一时刻指定集群的所有配置数据和业务数据,快照可用于还原某一时刻的集群。用户可以为集群手动创建快照,也可以开启定时创建自动快照。自动快照有保留天数限制,用户可以对自动快照进行复制,生成手工快照以便长期保留。
当您从快照恢复集群时,系统将为您创建一个与原始集群规格相同、节点数也相同的新集群,并导入快照数据。
对于不再需要的快照,可以选择删除快照,以释放存储空间。
- 管理节点
用户可查看所创集群的节点列表,在节点管理页面可以清晰的查询各节点的状态、节点规格、是否已使用等信息。若用户需要进行大规模扩容操作时,可通过节点管理功能提前分批次添加准备好用于扩容的节点。例如需要新扩容180个BMS节点,可分3批各添加60个,如果其中有一部分添加失败,可再次添加失败数量的节点,等180个节点添加成功后,再使用这些添加好的节点进行扩容;添加节点过程中不影响集群业务。
- 扩容集群
随着业务的增长,现有集群规模可能无法满足业务需要,此时,用户可以扩容集群,为集群增加计算节点。扩容时业务不中断。进行扩容操作时,用户可根据需求选择是否在线扩容和自动重分布。
- 管理重分布
默认情况下,在扩容之后将自动调起重分布任务,为了增强扩容重分布整个流程的可靠性,可以选择在扩容时关闭自动重分布功能,在扩容成功之后再手动使用重分布功能执行重分布任务,数据重分布后将大大提升业务响应速率。当前重分布支持离线重分布、在线重分布两种模式,默认情况下,提交重分布任务时将选择离线重分布模式。
- 工作负载管理
当您有多个数据库用户同时查询作业时,一些复杂查询可能会长时间占用集群资源,从而影响其他查询的性能。例如一组数据库用户不断提交复杂、耗时的查询,而另一组用户经常提交短查询。在这种情况下,短时查询可能不得不在队列中等待耗时查询完成。为了提高效率,DWS提供了工作负载管理功能,DWS工作负载管理以工作负载队列为资源承载,对于不同的业务类型可以创建不同的工作负载队列,为这些队列配置不同的资源占比,然后将数据库用户添加至对应的队列中,以此来限制这些数据库用户的资源使用。
- 逻辑集群
逻辑集群是基于Node Group机制来划分物理节点的一种集群模式,从节点层次将大集群进行划分,和数据库形成交叉。一个数据库中的表可以按逻辑集群来分配到不同的物理节点,而一个逻辑集群也可以包含多个数据库的表。
- 重启集群
重启集群将有可能会导致正在运行中的业务数据丢失,如果需要执行重启操作,请确定不存在正在运行的业务,所有数据都已经保存。
- 删除集群
当用户不再需要集群时,可选择删除集群。此操作为高危操作,删除集群可能导致数据丢失,请谨慎操作。
DWS 为用户提供了以下两种方式管理集群和快照:
- 管理控制台方式
使用管理控制台方式访问DWS集群。用户在注册后,可直接登录管理控制台,选择“数据仓库服务”。
- REST API方式
支持使用DWS 提供的REST API接口以编程的方式管理集群。如果用户需要将DWS 集成到第三方系统,用于二次开发,请使用API方式访问。
多样化的数据导入方式
DWS 支持多数据源高效入库,典型的入库方式如下所示。详细指导请参见《数据仓库服务用户开发指南》中的“迁移数据到DWS”章节。
- 从OBS并行导入数据
- 使用GDS从远端服务器导入数据
- 从MRS导入数据到集群
- 从DWS集群导入数据到新集群
- 使用gsql元命令\COPY导入数据
- 使用COPY FROM STDIN导入数据
- 使用CDM迁移数据到DWS
- 使用DSC工具迁移SQL脚本
- 使用gs_dump和gs_dumpall命令导出元数据
- 使用gs_restore导入数据
应用程序接口
支持调用JDBC(Java database connectivity)、ODBC(Open Database Connectivity)等标准接口开发应用程序访问DWS 集群中的数据库。
详细内容请参见《数据仓库服务用户指南》中“使用JDBC和ODBC连接集群”章节。
高可靠性
- 通过实例冗余、数据冗余,实现整个系统无单点故障。
- 数据多副本,且所有数据可手工备份至OBS。
- 自动隔离有故障的节点,利用副本重新恢复数据,并在必要时替换节点。
- 自动快照结合OBS存储,实现跨AZ容灾,若用户生产集群所处的地理位置发生自然灾害,或者集群内部出现了故障从而导致生产集群无法正常对外提供读写服务,那么灾备集群可以切换为生产集群,从而保障业务连续性。
- 当集群状态为“非均衡”时会出现某些节点主实例增多,从而负载压力较大,用户可在业务低峰期进行集群主备恢复操作。
- 用户使用客户端连接DWS集群时,如果用户仅连接一个CN节点地址,通过该CN节点内网IP或弹性公网IP连接时,只能连接到固定的CN节点上,存在CN单点问题。因此DWS引入了弹性负载均衡服务,解决集群访问的单点问题。弹性负载均衡(ELB)是将访问流量根据转发策略分发到后端多台弹性云主机的流量分发控制服务,可以通过流量分发扩展应用系统对外的服务能力,提高应用程序的容错能力。
- 当用户集群创建后,实际需要的CN数量会随着业务需求而发生变化,因此DWS提供了增删CN节点功能,实现用户可以根据实际需求动态调整集群CN数量的要求。
安全管理
- 基于网络隔离、安全组规则以及一系列安全加固项,实现租户隔离和访问权限控制,保护系统和用户的隐私及数据安全。
- 支持SSL安全网络连接、用户权限管理、密码管理等功能,保证数据库在网络层、管理层、应用层和系统层的安全性。
监控与审计
- 监控集群
DWS 与云监控服务集成,使您能够对集群中的计算节点和数据库进行实时监控。详情请参见《数据仓库服务用户指南》中“监控集群”章节。
- 事件通知
DWS 与消息通知服务对接,使您能够查看触发的各类事件。详情请参见《数据仓库服务用户指南》中的“事件通知”。
- 告警管理
告警管理包含查看告警规则、告警规则配置与告警信息订阅功能。其中,告警规则可以提供过去一周的告警信息统计与告警信息明细,方便用户自行查看租户下的告警。该特性除了以默认值的形式提供一套DWS告警最佳实践外,还允许用户根据自己的业务特点,个性化修改告警阈值。详情请参见《数据仓库服务用户指南》中“告警管理”章节。
- 审计日志
DWS 与云审计服务集成,使您能够对所有的管理控制台操作及API调用进行审计。
DWS 数据库还会记录所有的SQL操作,包括连接尝试、查询和数据库的变动。详情请参见《数据仓库服务用户指南》中“设置数据库审计日志”章节。
支持多种数据库工具
DWS 提供了以下几款自研工具,用户可以在DWS 管理控制台下载相关的工具包。
- gsql工具
它是一款运行在Linux操作系统的命令行SQL客户端工具,用于连接DWS 集群中的数据库,并对数据库进行操作和维护。
- Data Studio工具
它是一款运行在Windows操作系统上的图形界面SQL客户端工具,用于连接DWS 集群中的数据库、管理数据库和数据库对象,编辑、运行、调试SQL脚本,查看执行计划等。
- GDS工具
它是DWS 提供的数据服务工具,通过和外表机制的配合,实现数据的高速导入导出。
GDS工具包需要安装在数据源文件所在的服务器上,数据源文件所在的服务器称为数据服务器,也称为GDS服务器。
- DSC SQL语法迁移工具
DSC(Database Schema Convertor)是一款运行在Linux或Windows操作系统上的命令行工具,致力于向客户提供简单、快速、可靠的应用程序SQL脚本迁移服务,通过内置的语法迁移逻辑解析源数据库应用程序SQL脚本,并迁移为适用于DWS 数据库的应用程序SQL脚本。
DSC支持迁移Teradata、Oracle、Netezza、MySQL和DB2数据库的SQL脚本。
- gs_dump和gs_dumpall
gs_dump支持导出单个数据库或其内的对象,而gs_dumpall支持导出集群中所有数据库或各库的公共全局对象。
通过导入工具将导出的元数据信息导入至需要的数据库,可以完成数据库信息的迁移。
- gs_restore
在数据库迁移场景下,支持使用gs_restore工具将事先使用gs_dump工具导出的文件格式,重新导入DWS集群,实现表定义、数据库对象定义等元数据的导入。