华为云用户手册

  • 授权 GaussDB (DWS)通过GRANT语法对角色和用户进行授权操作,普通用户如果要访问某张表,如果没有系统管理员dbadmin或者表的owner进行GRANT授权,是无法访问的,此默认机制有效地控制用户对数据的访问,防止数据泄露。 使用GRANT命令进行用户授权包括以下三种场景: 将系统权限授权给角色或用户 系统权限又称为用户属性,包括SYSADMIN、CREATEDB、CREATEROLE、AUDITADMIN和 LOG IN。 系统权限一般通过CREATE/ALTER ROLE语法来指定。其中,SYSADMIN权限可以通过GRANT/REVOKE ALL PRIVILEGE授予或撤销。但系统权限无法通过ROLE和USER的权限被继承,也无法授予PUBLIC。 将数据库对象授权给角色或用户 将数据库对象(表和视图、指定字段、数据库、函数、模式等)的相关权限授予特定角色或用户; GRANT命令将数据库对象的特定权限授予一个或多个角色。这些权限会追加到已有的权限上。 GaussDB(DWS)会将某些类型的对象上的权限授予PUBLIC。默认情况下,对表、表字段、序列、外部数据源、外部服务器、模式或表空间对象的权限不会授予PUBLIC,而以下这些对象的权限会授予PUBLIC:数据库的CONNECT权限和CREATE TEMP TABLE权限、函数的EXECUTE特权、语言和数据类型(包括域)的USAGE特权。当然,对象拥有者可以撤销默认授予PUBLIC的权限并专门授予权限给其他用户。为了更安全,建议在同一个事务中创建对象并设置权限,这样其他用户就没有时间窗口使用该对象。另外,这些初始的默认权限可以使用ALTER DEFAULT PRIVILEGES命令修改。 将角色或用户的权限授权给其他角色或用户 将一个角色或用户的权限授予一个或多个其他角色或用户。在这种情况下,每个角色或用户都可视为拥有一个或多个数据库权限的集合。 当声明了WITH ADMIN OPTION,被授权的用户可以将该权限再次授予其他角色或用户,以及撤销所有由该角色或用户继承到的权限。当授权的角色或用户发生变更或被撤销时,所有继承该角色或用户权限的用户拥有的权限都会随之发生变更。 数据库系统管理员可以给任何角色或用户授予/撤销任何权限。拥有CREATEROLE权限的角色可以赋予或者撤销任何非系统管理员角色的权限。
  • GaussDB(DWS)权限 默认情况下, IAM 管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 GaussDB(DWS)部署时通过物理区域划分,为项目级服务。授权时,“作用范围”需要选择“区域级项目”,然后在指定区域(如华北-北京四)对应的项目(cn-north-4)中设置相关权限,并且该权限仅对此项目生效;如果在“所有项目”中设置权限,则该权限在所有区域项目中都生效。访问GaussDB(DWS)时,需要先切换至授权区域。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对GaussDB(DWS)服务,IAM管理员能够控制IAM用户仅能对某一类资源进行指定的管理操作。 多数细粒度策略以API接口为粒度进行权限拆分,GaussDB(DWS)支持的API授权项请参见权限策略和授权项。 细粒度策略的创建方法,请参见GaussDB(DWS)自定义策略。 如表1所示,包括了GaussDB(DWS)的所有系统权限。 表1 GaussDB(DWS)系统权限 系统角色/策略名称 描述 类别 依赖关系 DWS ReadOnlyAccess 数据仓库 服务只读权限,拥有该权限的用户仅能查看数据仓库服务资源。 系统策略 无 DWS FullAccess 数据仓库服务数据库管理员权限,拥有数据仓库服务所有权限。 系统策略 无 DWS Administrator DWS数据库管理员权限,拥有对数据仓库服务的所有执行权限。 拥有VPC Administrator权限的GaussDB(DWS)用户可以创建VPC或子网。 拥有 云监控 Administrator权限的GaussDB(DWS)用户,可以查看GaussDB(DWS)集群的监控指标信息。 系统角色 依赖Tenant Guest和Server Administrator策略,需要在同项目中勾选依赖的策略。 DWS Database Access GaussDB(DWS)数据库访问权限,拥有该权限的用户,可以基于IAM用户生成临时数据库用户凭证以连接GaussDB(DWS)集群数据库。 系统角色 依赖DWS Administrator,需要在同项目中勾选依赖的策略。 表2列出了GaussDB(DWS)常用操作与系统权限的授权关系,您可以参照该表选择合适的系统策略。 每个区域的每个项目首次使用弹性IP绑定功能时,系统将提示创建名称为“DWSAccessVPC”委托以授权GaussDB(DWS)访问VPC。授权成功后,GaussDB(DWS)可以在绑定弹性IP的虚拟机故障时切换至健康虚拟机。 在实际业务中,除了具备策略权限外还需要给不同角色的用户授予不同的资源操作权限。例如创建快照、重启集群等操作,详情请参见策略语法:细粒度策略。 默认情况下,只有华为云账号或拥有Security Administrator权限的用户才具备查询委托和创建委托的权限。账号中的IAM用户,默认没有查询委托和创建委托的权限,在使用弹性IP绑定功能时页面会屏蔽绑定按钮,此时需联系有“DWS Administrator”权限的用户在当前页面完成对GaussDB(DWS)的委托授权。 表2 GaussDB(DWS)常用操作与系统权限的关系 操作 DWS FullAccess DWS ReadOnlyAccess DWS Administrator DWS Database Access 创建/恢复集群 √ x √ x 获取集群列表 √ √ √ x 获取单个集群详情 √ √ √ x 设置自动快照 √ x √ x 设置安全参数/参数组 √ x √ x 重启集群 √ x √ x 扩容集群 √ x √ x 重置密码 √ x √ x 删除集群 √ x √ x 设置可维护时间段 √ x √ x 绑定EIP x x √ x 解绑EIP x x √ x 创建DNS 域名 √ x √ x 释放DNS域名 √ x √ x 修改DNS域名 √ x √ x 创建 MRS 连接 √ x √ x 更新MRS连接 √ x √ x 删除MRS连接 √ x √ x 添加/删除标签 √ x √ x 编辑标签 √ x √ x 创建快照 √ x √ x 获取快照列表 √ √ √ √ 删除快照 √ x √ x 复制快照 √ x √ x
  • 资源访问控制(IAM权限控制) 如果您需要对华为云上的GaussDB(DWS)资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用 统一身份认证 服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。通过IAM,您可以在华为云账号中给员工创建IAM用户,并授权控制他们对华为云资源的访问范围。 场景一:您的员工中有负责软件开发的人员,您希望他们拥有GaussDB(DWS)的使用权限,但是不希望他们拥有删除集群等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用GaussDB(DWS),但是不允许删除集群的权限,控制他们对GaussDB(DWS)资源的使用范围。 场景二:您希望您的员工只有GaussDB(DWS)的资源使用权限,不希望拥有其他云资源的权限,以防止资源滥用。例如只开通GaussDB(DWS)的操作权限,不能使用其他云服务。 通过IAM权限控制,有效达到云资源访问控制,避免云资源误操作。了解更多请参见创建用户并授权使用GaussDB(DWS)。 父主题: 身份认证与访问控制
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 使用函数进行加密 数据加密 作为有效防止未授权访问和防护数据泄露的技术,在各种信息系统中广泛使用。作为信息系统的核心,GaussDB(DWS)数仓也提供数据加密功能,包括透明加密和使用SQL函数加密。 GaussDB(DWS)主要提供了哈希函数和对称密码算法来实现对数据列的加解密。哈希函数支持sha256,sha384,sha512和国密sm3。对称密码算法支持aes128,aes192,aes256和国密sm4。 哈希函数 md5(string) 将string使用MD5加密,并以16进制数作为返回值。MD5的安全性较低,不建议使用。 gs_hash(hashstr, hashmethod) 以hashmethod算法对hashstr字符串进行信息摘要,返回信息摘要字符串。支持的hashmethod:sha256, sha384, sha512, sm3。 对称密码算法 gs_encrypt(encryptstr, keystr, cryptotype, cryptomode, hashmethod) 采用cryptotype和cryptomode组成的加密算法以及hashmethod指定的HMAC算法,以keystr为密钥对encryptstr字符串进行加密,返回加密后的字符串。 gs_decrypt(decryptstr, keystr,cryptotype, cryptomode, hashmethod) 采用cryptotype和cryptomode组成的加密算法以及hashmethod指定的HMAC算法,以keystr为密钥对decryptstr字符串进行解密,返回解密后的字符串。解密使用的keystr必须保证与加密时使用的keystr一致才能正常解密。 gs_encrypt_aes128(encryptstr,keystr) 以keystr为密钥对encryptstr字符串进行加密,返回加密后的字符串。keystr的长度范围为1~16字节。 gs_decrypt_aes128(decryptstr,keystr) 以keystr为密钥对decryptstr字符串进行解密,返回解密后的字符串。解密使用的keystr必须保证与加密时使用的keystr一致才能正常解密。keystr不得为空。 了解更多请参见实现数据列的加解密。 父主题: 数据保护技术
  • 数据库层级的审计日志 GaussDB(DWS)的数据库层级日志,包括数据库运维日志(CN节点、DN节点和操作系统日志)和DDL/DML数据库审计日志记录,通过 云日志 服务(Log Tank Service,简称LTS)实现。LTS用于收集来自主机和云服务的日志数据,通过海量日志数据的分析与处理,可以将云服务和应用程序的可用性和性能最大化,为您提供实时、高效、安全的日志处理能力,帮助您快速高效地进行实时决策分析、设备运维管理、用户业务趋势分析等。 当前GaussDB(DWS)的CN节点、DN节点、操作系统messages日志以及数据库的DML/DDL审计日志可通过开启LTS日志进行查看。 此外,为了保证日志的保留时长,数据库审计日志可通过OBS进行转储。如何设置和查看请参见数据库审计日志。
  • 管理控制台的操作日志 GaussDB(DWS)在管理控制台上的操作日志,例如创建或删除DWS集群的日志记录,通过 云审计 服务(Cloud Trace Service, CTS )实现。CTS是华为云安全解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 用户开通云审计服务并创建和配置追踪器后,CTS可记录DWS的管理事件和数据事件用于审计。 了解更多请参见管理控制台审计日志。
  • 访问集群数据库 GaussDB(DWS)支持如下方式访问集群数据库: GaussDB(DWS)客户端方式 用户使用GaussDB(DWS)客户端访问集群数据库,请参见使用gsql命令行客户端连接集群、使用Data Studio图形界面客户端连接集群和使用SQL编辑器连接集群。 JDBC、ODBC等接口调用方式 支持调用JDBC(Java database connectivity)、ODBC(Open Database Connectivity)等标准接口开发应用程序访问GaussDB(DWS)集群中的数据库。 详细内容请参见使用JDBC连接数集群、使用ODBC连接数集群。 psycopg2、PyGreSQL第三方驱动程序 用户在创建好数据仓库集群后使用psycopg2、PyGreSQL第三方库连接到集群,则可以使用Python访问GaussDB(DWS),并进行数据表的各类操作。详细内容请参见使用Python第三方库psycopg2连接集群、使用Python第三方库PyGreSQL连接集群。 GaussDB(DWS)暂不支持跨库访问,可以通过schema进行资源隔离。详情请参见CREATE SCHEMA。
  • SSL传输加密 GaussDB(DWS)支持SSL标准协议,SSL协议是安全性更高的协议标准,它们加入了数字签名和数字证书来实现客户端和服务器的双向身份验证,保证了通信双方更加安全的数据传输。为支持SSL连接方式,GaussDB(DWS)已经从CA认证中心申请到正式的服务器、客户端的证书和密钥(假设服务器的私钥为server.key,证书为server.crt,客户端的私钥为client.key,证书为client.crt,CA根证书名称为cacert.pem)。 SSL连接方式的安全性高于普通模式,集群默认开启SSL功能允许来自客户端的SSL连接或非SSL连接,从安全性考虑,建议用户在客户端使用SSL连接方式。并且GaussDB(DWS)服务器端的证书、私钥以及根证书已经默认配置完成。 了解更多请参见使用SSL进行安全的TCP/IP连接。 父主题: 数据保护技术
  • 技术支持范围 支持的服务 GaussDB(DWS)云服务管理控制台提供的相关功能: 集群的创建、删除、扩容、缩容、规格调整、升级、补丁、备份恢复等操作 集群的监控告警管理 IAM用户委托管理 对外API接口管理 不支持的服务 不负责基于GaussDB(DWS)集群之上的客户业务应用开发问题答疑和处理,例如业务设计、代码开发、作业性能调优和业务迁移等。如需支持,可咨询购买对应专家服务。 在GaussDB(DWS)集群组件服务无明显异常或明确产品质量缺陷的情况下,不负责作业运行异常问题的排查分析。
  • 维护策略声明 GaussDB(DWS)集群资源属于数据仓库服务,GaussDB(DWS)提供基于该资源的全托管云服务能力,用户拥有对集群的完全控制权。默认情况下,云服务仅对客户集群提供相关监控、告警能力,无权限对客户集群进行操作,集群日常运维由用户负责。如果在运行过程中遇到相关技术问题,可以联系技术支持团队获得帮助,该技术支持仅协助分析处理GaussDB(DWS)云服务相关求助,不包含云服务以外的求助,例如用户基于GaussDB(DWS)构建的应用系统等。
  • 数据库访问实现权限分层 GaussDB(DWS)中可以使用Database和Schema实现业务的隔离,区别在于: Database之间无法直接互访,通过连接隔离实现彻底的权限隔离。各个Database之间共享资源极少,可实现连接隔离、权限隔离等。 Schema隔离的方式共用资源较多,可以通过GRANT与REVOKE语法便捷地控制不同用户对各Schema及其下属对象的权限,从而赋给业务更多的灵活性。 从便捷性和资源共享效率上考虑,推荐使用Schema进行业务隔离。建议系统管理员创建Schema和Database,再赋予相关用户对应的权限。 每个数据库包括一个或多个Schema。每个Schema包含表、视图、函数等其他类型的对象。 用户要访问底层的对象,必须先赋予上层对象的权限。 用户要创建或者删除Schema,需要首先被授予Database的CREATE权限。 用户要访问包含在Schema中的table1,需要首先被授予Database的CONNECT权限,再被授予Schema的USAGE权限,最后授予table1的SELECT权限。 了解更多请参见GaussDB(DWS)如何实现业务隔离。 图1 权限分层 父主题: 身份认证与访问控制
  • Region内容灾部署能力 GaussDB(DWS)提供双集群Region内容灾能力,即在另一个可用分区(Region内)部署一个同构的GaussDB(DWS)灾备集群,如果生产集群所处的地理位置发生自然灾害,或者集群内部出现了故障从而导致生产集群无法正常对外提供读写服务,那么灾备集群可以切换为生产集群,从而保障业务连续性。 双集群容灾框架基于Roach备份恢复,在两套集群之间实现周期性的同步机制。该同步机制,自由灵活,两套集群之间,可分可合,无相互影响。可以实现小时级别的RTO和RPO,并且在非恢复期间,备集群是一个热备的状态,可以提供只读服务。 了解更多请参见集群容灾。
  • 管理面安全加固 Tomcat加固:在DWS管理面容器镜像中,针对Tomcat基于开源做了功能增强。 JRE加固: 升级HuaweiJre8内核版本为1.8.0_262(这里可能比真实版本低,以实际版本号为准)。 将JRE的PATH设置在原来的PATH后面,规避本地越权问题(PATH=$PATH:$JAVA_HOME/bin)。 系统资源加固:GaussDB(DWS)在底层虚拟机已预置了安全相关参数,确保E CS /BMS底层的OS安全环境。
  • 行级访问控制 在业务开发过程中,存在多个用户共同访问和维护同一张表的场景,需要针对不同用户设置不同行数据的访问权限。例如只允许用户A查看跟自己相关的行数据,即相对于表的管理员能看到全部表数据而言,用户A执行SELECT * FROM table_name的时候,只能看到部分行数据,不能看到所有,以行级进行数据访问控制,对此GaussDB(DWS)行级访问控制特性实现了这一功能。将数据库访问控制精确到数据表行级别,使数据库达到行级访问控制的能力。不同用户执行相同的SQL查询操作,读取到的结果是不同的。 用户可以在数据表创建行访问控制(Row Level Security)策略,该策略是指针对特定数据库用户、特定SQL操作生效的表达式。当数据库用户对数据表访问时,若SQL满足数据表特定的Row Level Security策略,在查询优化阶段将满足条件的表达式,按照属性(PERMISSIVE | RESTRICTIVE)类型,通过AND或OR方式拼接,应用到执行计划上。 行级访问控制的目的是控制表中行级数据可见性,通过在数据表上预定义Filter,在查询优化阶段将满足条件的表达式应用到执行计划上,影响最终的执行结果。当前受影响的SQL语句包括SELECT,UPDATE,DELETE。 了解更多请参见行级访问控制。 父主题: 身份认证与访问控制
  • 数据备份 GaussDB(DWS)业务数据备份与恢复通过快照功能实现。快照是对GaussDB(DWS)集群在某一时间点的一次全量数据和增量数据的备份,记录了当前数据库的数据以及集群的相关信息,其中包括节点数量、节点规格和数据库管理员用户名称等。GaussDB(DWS)可通过管理控制台进行快照的手动创建,也支持自定义自动快照策略,以便在计划时间内自动创建快照,以防止数据丢失。 当前GaussDB(DWS)数据库支持基于OBS介质的备份与恢复方式,详情请参见快照概述。 父主题: 数据保护技术
  • 漏洞修复说明 表1 已修补的开源及第三方软件漏洞列表 软件名称 软件版本 CVE编号 CSS 得分 漏洞描述 受影响版本 解决版本 log4j 2.13.2 CVE-2021-44228 9.8 Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0 (along with 2.12.2, 2.12.3, and 2.3.1), this functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or other Apache Logging Services projects. 8.0.0~8.1.2 8.1.3 父主题: 安全公告
  • 功能介绍 透明数据加密(TDE)是指加密GaussDB(DWS)的数据文件。 通常在数据库的安全防护措施里面,可以采取一些消减措施来帮助保护数据安全。例如,设计一个安全系统、加密机密资产以及在数据库服务器的周围构建防火墙。 但是,如果遇到物理介质(如硬盘)被黑客或者内部人员盗取的情况,恶意破坏方只需还原或附加数据库即可浏览用户数据。 有一种解决方案是加密数据库中的敏感数据,并保护加密数据的密钥,该方案可以防止任何没有密钥的人使用这些数据,但这种保护必须事先计划。GaussDB(DWS)提供了完整的解决方案TDE。 TDE可对数据实时I/O加密和解密,只要打开透明加密开关,对正常使用的用户是无感知的。 这种加密使用数据库加密密钥 (DEK),该密钥不会直接存储在数据库系统中。 DEK是使用存储在KMS服务器的集群密钥(CEK)保护的对称密钥,数据库服务器仅仅保存其密文。在数据库启动阶段,数据库连接KMS服务器,并且解密DEK密文,从而获取到密钥明文,缓存在内存中。一旦机器下电或者集群关闭,密钥将会被清理。因此,需要保护好集群中的密钥文件,因为一旦丢失,则会造成不可恢复的危害。
  • 使用场景 传统数据库集群中,用户数据明文保存在行存/列存文件中,集群的维护人员或者恶意攻击者可在OS层面绕过数据库的权限控制机制或者窃取磁盘直接访问用户数据。GaussDB(DWS)通过对接华为云数据加密服务的密钥管理KMS,可实现数据的透明加密,保障用户数据安全。 GaussDB(DWS)数据库级透明加密,每个GaussDB(DWS)集群有一个CEK,每个数据库单独配置DEK加密保护,DEK使用CEK加密保护,保存在GaussDB(DWS)集群侧。密钥通过KMS服务申请和加解密,加密算法通过配置项统一配置。目前支持AES、SM4算法。 当前支持数据库级别的透明加密,在创建集群的时候进行加密配置。 了解更多请参见数据库加密简介。
  • 如何导出某张表结构? 建议使用Data Studio图形化客户端进行表数据导出,支持以下几种常见场景: 指定某张表数据的导出。 某个schema下的所有表数据的导出。 某个数据库下的所有表数据的导出。 具体操作请参见导出表数据。 除了使用Data Studio,您也可以通过gs_dump和gs_dumpall工具进行数据导出,支持以下几种常见场景: 导出单个数据库: 数据库级导出。 模式级导出。 表级导出。 导出所有数据库: 数据库级导出。 各库全局对象导出。 具体操作请参见gs_dump和gs_dumpall。 父主题: 数据库使用
  • 为什么GaussDB(DWS)使用一段时间后执行SQL很慢? 数据库在使用一段时间后,随着业务的增加使得表数据增加,或者对表数据经常进行增、删、改之后,引发数据膨胀和统计信息不准造成性能下降。 建议对于频繁增、删、改的表,定期执行vacuum full和analyze操作。操作步骤如下: 默认每30000条数据收集100条做统计信息,当数据量大的时候,发现sql时快时慢,一般是执行计划发生了变化,统计信息的需要调整采样率。set default_statistics_target可以提高采样率,对优化器生成最优计划有所帮助。 重新执行analyze。详细信息请参见ANALYZE | ANALYSE。 若用户想要知道是否是磁盘碎片的问题影响了数据库的性能,可以使用以下函数进行查询: SELECT * FROM pgxc_get_stat_dirty_tables(30,100000); 父主题: 数据库性能
  • 为什么GaussDB(DWS)的性能在极端场景下并未比单机数据库好 GaussDB(DWS)中由于MPP架构的限制导致少部分PG系统方法、函数无法下推到DN节点来执行,仅能在CN端出现性能瓶颈。 原理解释: 一个操作能够并行执行是有条件的,需要逻辑上能够并行,比如做汇总(SUM),可以各个节点(DN)并行汇总后,最后的汇总一定是不能并行,要在某一个节点(CN)上执行,由于大部分的汇总工作已经在DN节点完成,CN端的工作是比较轻量的。 某些场景必须要集中执行,比如事务号,必须要保证全局唯一,该任务在系统里是通过GTM来实现的,因此,GTM也是全局唯一的组件(主备)。所有需要全局唯一的任务都是通过GaussDB(DWS)中的GTM来完成,只是在设计上尽量避免阻塞在GTM上,因此GTM并没有太多瓶颈,而且有些场景下还可以GTM-Free和GTM-Lite。 从传统单机数据库的应用开发模式到并行数据库,为确保获得更好的性能,可能需要对业务进行少量改动,尤其是传统Oracle的存储过程互相嵌套的开发模式,如果要保证高性能,需要进行业务修改及对应的适配。 解决方案: 如遇到此类问题,请参考《数据仓库服务数据库开发指南》中的“优化查询性能”章节。 或者,请联系技术人员进行业务适配的修改调优。 父主题: 数据库性能
  • 如何选择公有云GaussDB(DWS)或者公有云RDS? 公有云GaussDB(DWS)和公有云RDS都让您能够在云中运行传统的关系数据库,同时转移数据库管理负载。您可将RDS数据库用于联机事务处理 (OLTP) ,报告和分析,对于大量数据的读(一般是复杂的只读类型查询)支持不足。GaussDB(DWS)利用多节点的规模和资源并使用各种优化法(列存,向量引擎,分布式框架等),专注于联机分析处理(OLAP),为传统数据库对大型数据集的分析及报告工作负荷提供了数量级改善。 当您的数据及查询的复杂性增加时,或者在您要防止报告和分析处理对OLTP工作负荷造成干扰时,GaussDB(DWS)可提供横向扩展能力。 您可以根据下表简单判断什么场景更适合用GaussDB(DWS)或RDS。 表1 OLTP和OLAP特性比较 特性 OLTP OLAP 用户 操作人员,低层管理人员 决策人员,高级管理人员 功能 日常操作处理 分析决策 设计 面向应用 面向主题 数据 最新的,细节的,二维的,分立的 历史的,集成的,多维的,统一的 存取 读/写数十条记录 读上百万条记录 工作范围 简单的读写 复杂的查询 数据库大小 百GB TB-PB级别 父主题: 通用问题
  • GaussDB(DWS)是否支持第三方客户端以及JDBC和ODBC驱动程序? 推荐使用GaussDB(DWS)客户端和驱动程序。与开源的PostgreSQL客户端和驱动程序相比,有两个主要的优点: 安全强化:PostgreSQL驱动程序只支持MD5认证,但GaussDB(DWS)驱动程序支持SHA256和MD5。 数据类型增强:GaussDB(DWS)驱动程序支持新的数据类型smalldatetime和tinyint。 GaussDB(DWS)支持开源PostgreSQL客户端和JDBC和ODBC驱动程序。 兼容的客户端和驱动程序版本如下: PostgreSQL的psql 9.2.4或更高版本 PostgreSQL JDBC驱动程序9.3-1103或更高版本 PSQL ODBC 09.01.0200或更高版本 使用JDBC/ODBC连接GaussDB(DWS),可参见《数据仓库服务开发指南》的教程:使用JDBC或ODBC开发。 建议使用官方推荐的方式连接数据库。参见连接集群方式。 其它客户端不能保证100%兼容性,需要客户自行验证。 使用其它客户端如果出现不兼容而报错,且不能替换客户端的情况,可尝试替换客户端中的libpq驱动。替换方法:参见工具下载下载并解压gsql客户端压缩包,获取gsql目录下的libpg.so,替换到客户端指定目录中。 父主题: 数据库连接
  • GaussDB(DWS)是否支持第三方客户端以及JDBC和ODBC驱动程序? 推荐使用GaussDB(DWS)客户端和驱动程序。与开源的PostgreSQL客户端和驱动程序相比,有两个主要的优点: 安全强化:PostgreSQL驱动程序只支持MD5认证,但GaussDB(DWS)驱动程序支持SHA256和MD5。 数据类型增强:GaussDB(DWS)驱动程序支持新的数据类型smalldatetime和tinyint。 GaussDB(DWS)支持开源PostgreSQL客户端和JDBC和ODBC驱动程序。 兼容的客户端和驱动程序版本如下: PostgreSQL的psql 9.2.4或更高版本 PostgreSQL JDBC驱动程序9.3-1103或更高版本 PSQL ODBC 09.01.0200或更高版本 使用JDBC/ODBC连接GaussDB(DWS),可参见《数据仓库服务开发指南》的教程:使用JDBC或ODBC开发。 建议使用官方推荐的方式连接数据库。参见连接集群方式。 其它客户端不能保证100%兼容性,需要客户自行验证。 使用其它客户端如果出现不兼容而报错,且不能替换客户端的情况,可尝试替换客户端中的libpq驱动。替换方法:参见工具下载下载并解压gsql客户端压缩包,获取gsql目录下的libpg.so,替换到客户端指定目录中。 父主题: 数据库连接
  • 处理方法 win+R打开运行窗口,输入“regedit”打开Windows的注册表编辑器,定位到以下路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 在右侧窗口中,找到名为TcpTimedWaitDelay的DWORD值。如果该值不存在,则需要手动创建。 修改TcpTimedWaitDelay参数数值为需要设置的值(以毫秒为单位),例如,将TcpTimedWaitDelay设置为1分钟(60000毫秒)。 重启计算机使配置生效。 修改TcpTimedWaitDelay的值可能会影响网络性能和安全性,请根据业务需要自行评估。单环境中包含多台Windows目标主机执行部署时,建议采用分批部署方式,避免修改TcpTimedWaitDelay值造成未知影响。
  • 部署应用时错误信息的说明有哪些? 在部署应用过程中,部署失败后日志中提示错误信息及说明,如下表所示: 错误信息 错误信息说明 The host ip is invalid, Please check 主机不可用,主机ip不能是127.0.0.1或者localhost [group_vars/all] is not found, Please check [group_vars/all]文件未找到,请确认入口文件所在目录下是否包含[group_vars/all]文件 The parameter value is invalid, Please check! 参数值存在不识别的字符,参数值仅支持ASCII(除“{{”,“{%”,“{#”) The parameter value is invalid, Please check! 参数名称中存在不识别的字符,参数只能包含_、数字与大小写字母 父主题: 应用部署
  • 查看本机器是否有IIS功能 请根据下面的步骤查看机器版本是否有iis功能。 以“Windows Server 2012 R2英文版操作系统”为例: 打开计算机,单击“卸载或更改程序”如下图所示 图1 卸载或更改程序 然后单击“启用或关闭Windows功能”如下图所示。 图2 启用或关闭Windows功能 在打开的页面中单击“Next” 如下两张图所示进行操作。 图3 操作示意 图4 操作示意 在打开的页面中查找“Web Server(IIS)” 如下图所示,如若不存在,则该版本不支持IIS功能。 图5 操作示意 父主题: 新建IIS站点
  • 问题现象 日志提示如下信息: "msg": "Failed to find handler for \"usr/local/python/Python-3.5.4.tgz\". Make sure the required command to extract the file is installed. Command \"/usr/bin/unzip\" could not handle archive. Command \"/usr/bin/gtar\" could not handle archive."}
  • 解决方法 使用命令 “ping $domainName”(其中$domainName为apt源链接对应的域名),检查网络连通性,如果网络连通正常请检查防火墙和安全组(如下2、3),否则请联系相关网络管理员打通网络。 对于防火墙限制出方向: 执行命令“iptables -nL”,查看防火墙出方向限制清单是否包含80端口。 对于云主机安全组出方向规则策略限制: 联系相关网络管理员设置安全组出方向规则策略。
共100000条