云服务器内容精选

  • GUC参数 表7 GUC参数 变更类型 序号 名称 变更描述 新增 1 max_queue_statements 默认为-1,标识最大排队长度,当作业排队超过该值时报错退出。对于新装和升级集群该参数不生效。 2 job_retention_time 标识pg_job执行结果最长保存天数,默认为30。 3 vector_engine_strategy 控制向量化算子的策略,默认为improve,表示尽可能将计划向量化;可设置为force,表示强制回退为行存计划。 4 enable_release_scan_lock 控制SELECT语句是否在语句执行结束后将一级锁释放。默认关闭。 5 job_queue_naptime 设置触发调度任务检查的时间间隔及任务线程启动的超时时间,默认1s。 6 approx_count_distinct_precision 该参数表示HyperLogLog++ (HLL++)算法中分桶个数,可以用来调整approx_count_distinct聚集函数的误差率。桶的个数会影响distinct值估算的精度,桶的个数越多,误差越小。默认值17。 7 llvm_compile_expr_limit 限制LLVM表达式最大编译个数。 8 llvm_compile_time_limit LLVM编译时间在执行器运行时间中的占比超过llvm_compile_time_limit所设置的阈值,说明LLVM编译时间占比过高,生成告警提示。 9 max_opt_sort_rows 控制order by子句中最大优化的limit+offset行数。如果超过这一行数,走原逻辑,小于这个行数走优化后逻辑。默认设为0,即默认走原逻辑。 10 dfs_max_memory 设置orc导出时能占用的最大内存。默认值262144KB。 11 default_partition_cache_strategy 控制分区缓存的默认策略。 12 enable_connect_standby 设置CN是否连接DN备机。仅适用于运维操作。 13 enable_stream_sync_quit 设置stream计划结束时,stream线程是否同步退出。默认关闭,实现sync quit不阻塞。 14 full_group_by_mode 用于控制disable_full_group_by_mysql语法开关打开后的两种不同行为: nullpadding表示对于非聚集列而言,对该列NULL值进行填充,取该列非NULL值,结果集可能为不同行。 notpadding表示对于非聚集列而言,不处理NULL值,取该行整行数据,非聚集列结果集为随机的一行。 修改 15 behavior_compat_options 新增选项alter_distribute_key_by_partition,控制ALTER TABLE修改分区表分布列时INSERT INTO是否按分区执行。 16 behavior_compat_options 新增选项enable_full_string_agg,控制string_agg(a, delimeter) over (partition by b order by c)场景行为,采用窗口内的全量聚合逻辑还是增量聚合逻辑。 17 behavior_compat_options 新增选项unsupported_set_function_case,控制是否支持case when条件中含有返回为多结果集函数。 18 behavior_compat_options 新增选项enable_unknown_datatype。在未设置时,不允许用户创建存在unknown类型列的表。 19 behavior_compat_options 新增选项enable_whole_row_var。针对使用表名做表达式场景(SELECT T FROM T,或 SELECT .... FROM T GROUP BY T),未设置enable_whole_row_var选项时,在parse阶段,对该类场景进行拦截,报错处理。 20 time_track_strategy 参数由USERSET级别修改为SIGHUP级别,内核层面默认修改为timer,可以通过管理控制台设置为tsc。 21 rewrite_rule 控制在重写时是否走case when改写。
  • 系统视图 表6 系统视图 变更类型 序号 名称 变更描述 新增 1 pgxc_memory_debug_info 显示当前集群每个节点在执行作业时的内存报错信息,便于定位内存报错问题。 修改 2 pgxc_stat_object 跟随pg_stat_object一起更改,预留字段extra1改名为last_autovacuum_csn。 3 gs_wlm_session_statistics 增加parse_time字段。 4 pgxc_wlm_session_statistics 增加parse_time字段。 5 gs_wlm_session_history 增加parse_time字段。 6 pgxc_wlm_session_history 增加parse_time字段。 7 gs_wlm_session_info 增加parse_time字段。 8 information_schema.tables 修改视图定义,改变筛选条件,使reloptions为空的视图可以查到。 9 gs_table_stat 优化gs_table_stat视图查询性能。 10 gs_row_table_io_stat 等价逻辑改写查询性能优化。 11 gs_column_table_io_stat 等价逻辑改写查询性能优化。 删除 12 gs_wlm_session_info_all 废弃系统视图日落。 13 pg_wlm_statistics 废弃系统视图日落。 14 pg_session_iostat 废弃系统视图日落。
  • 行为变更 表2 行为变更 变更类型 序号 名称 变更描述 删除 1 policy_oid 原policy_oid字段在升级到8.3.0版本时字段为NULL,现改为在升级阶段通过脚本对policy_oid字段填充对应的policy_oid。 修改 2 gs_dump gs_dump会带上索引的unusable状态。 3 pg_get_tabledef pg_get_tabledef会带上索引的unusable状态。 4 pg_get_indexdef pg_get_indexdef会带上索引的unusable状态。 5 create table like including复制的索引会带上源索引的unusable状态。
  • 系统函数 表5 系统函数 变更类型 序号 名称 变更描述 新增 1 dbms_job.submit_node 新增dbms_job.submit_node,功能在submit基础上增加job_node,用于指定执行节点,默认null,代表当前CN节点。 2 dbms_job.change_node 新增dbms_job.change_node用于指定执行节点,默认null,代表当前CN节点。 3 漏斗函数 新增漏斗函数windowfunnel。 4 留存函数 新增留存函数retention。 5 留存扩展函数 新增留存扩展函数range_retention_count。 6 留存扩展函数 新增留存扩展函数range_retention_sum。 7 approx_count_distinct 新增近似计算聚集函数。 8 pg_scan_residualfiles 扫描当前节点当前库中所有符合特征的残留文件。 9 pgxc_scan_residualfiles 扫描多个节点当前库中所有符合特征的残留文件。 10 pg_get_scan_residualfiles 获取当前节点扫描到的残留文件列表。 11 pgxc_get_scan_residualfiles 获取多个节点上扫描到的残留文件列表。 12 pg_archive_scan_residualfiles 归档当前节点扫描的残留文件列表。 13 pgxc_archive_scan_residualfiles 归档多个节点上扫描的残留文件列表。 14 pg_rm_scan_residualfiles_archive 删除当前节点所有残留文件归档。 15 pgxc_rm_scan_residualfiles_archive 删除多个节点上所有残留文件归档。 16 pg_partition_management_time 修改自增分区任务调用时间。 17 uniq 辅助完成精准去重等对数据的uv计算。 18 reload_cold_partition 冷热表冷分区转热。 19 reload_cold_partition 冷热表冷分区转热。 修改 20 pgxc_get_small_cu_info 增加可以查询二级分区每个分区cu数量的功能。 21 pgxc_get_wlm_session_info_bytime 增加parse_time字段。 删除 22 pg_sync_cstore_delta(text) 废弃系统函数日落。 23 pg_sync_cstore_delta 废弃系统函数日落。 24 pgxc_pool_check 废弃系统函数日落。 25 pg_delete_audit 废弃系统函数日落。 26 pg_log_comm_status 废弃系统函数日落。 27 pgxc_log_comm_status 废弃系统函数日落。 28 signal_backend 废弃系统函数日落。 29 pg_stat_get_realtime_info_internal 废弃系统函数日落。 30 pg_stat_get_wlm_session_info_internal 废弃系统函数日落。 31 pg_stat_get_wlm_session_info 废弃系统函数日落。 32 pg_stat_get_wlm_statistics 废弃系统函数日落。 33 pg_user_iostat 废弃系统函数日落。 34 pg_stat_get_wlm_session_iostat_info 废弃系统函数日落。
  • 8.3.0.101 表4 8.3.0.101新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 vacuum full适配binlog表。 - - - 解决问题 analyze语句报错Could not open file "pg_clog/000000000075" 列存表进行vacuumfull后可能提前回收clog,导致主备切换后进行analyze时无法访问clog文件。 8.3.0.100 升级到8.3.0.101及以上版本 使用\parallel on 高并发下创建job报错duplicate key value violates unique constraint "pg_jobs_id_index" ,Key(job_id)=() already exists。 获取job_id处的锁未成功加上,导致并发时取到相同job_id报错。 8.3.0.100 多个nodegroup场景下,重分布不支持跳过指定表,导致缩容失败。 重分布不支持跳过指定表。 8.3.0.100 执行Hstore用例,网卡故障时,因为内存为超大负数,导致用例执行失败。 临时变量声明后,未赋值导致参数值非预期,后续再去扣减内存,内存出现超大负数。 8.3.0.100
  • 8.3.0.105 表2 8.3.0.105新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无 - - - 解决问题 多count distinct走share scan出现结果集错误 sharescan计划生成时,CTE子查询误用了上层的等价类信息,造成分布列判断错误,生成计划缺少数据重分布算子 8.3.0.105以前版本 升级到8.3.0.105及以上版本 升级到830版本后系统表autovacuum未生效 升级830前做过容灾迁移,容灾迁移会先设置autovacuum_max_workers 为0,再修改成原来的默认值3,导致升级后未将该值设为预期的值6 8.3.0.105以前版本 修复UDF在recv接收数据时,可能存在超时后error为EAGAIN但没有被捕获直接报错的问题 当cn_retry开启时,socket recv 20s超时后,EAGAIN的错误码没有被捕获,直接走到报错逻辑 8.3.0.105以前版本
  • 8.1.3.320 表5 8.1.3.320新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 truncate、exchange与select并发: 新增GUC参数ddl_select_concurrent_mode,该特性主要解决数据量较大或复杂查询的场景中,查询语句持续时间过长,阻塞DDL的场景,与Oracle效果一致。 支持场景: 支持truncate和select并发; 支持exchange和select并发。 场景约束: 与高级别的锁冲突(大于1级),不支持并发(比如autoanalyze_mode=normal时,同时select触发了autoanalyze); 与事务块中的锁冲突,不支持并发。 DWS常用连接方式约束: jdbc、odbc、python驱动时,如果程序设置了autocommit = false,不支持该特性; Data Studio下发的所有查询语句,自动起事务,不支持该特性。 - - - 支持控制LIMIT语句是否启用early stop优化: 新增GUC参数enable_limit_stop,控制LIMIT语句是否启用early stop优化。 - - - 解决问题 语句级估算内存超过max_process_memory限制,导致ccn排队。 语句级估算内存超过max_process_memory限制。 8.1.3.310及以下版本 升级到8.1.3.320及以上版本。具体升级策略请参见版本收编策略。 执行merge报错:value xxx is out of range for type integer。 pg_toast_get_baseid()函数中使用int接口处理OID。 8.1.3.310及以下版本 查询20万行数据大表的脏页率视图,内存占用大。 查询数据的时候,查询统计信息的内置函数中创建的链表内每个结点上申请了内存空间用于存放tupStatus,查询结束后,仅释放了链表上结点的内存,结点内申请的内存未释放。 8.1.1.x版本 Vacuum执行超时被查杀后,部分DN出现线程残留,无法响应信号,阻塞其他语句执行。 由于btvacuumscan中未响应信号,导致Vacuum执行超时被查杀后,部分dn出现线程残留,无法响应信号。 8.1.1.x版本 对MySQL兼容库中的分区表、时序表执行analyze百分比采样操作时报错:unsupported feature with temporary/unlogged table for partitioned table。 由于8.1.3版本中为了兼容MySQL中CREATE TABLE LIKE语法,默认继承模式为INCLUDING ALL,且执行analyze百分比采样时,含有自动创建临时复制表命令,导致analyze时出现报错。 8.1.3.310及以下版本 冷热表的select查询语句触发runtime autoanalyze,性能慢。 执行truncate partition,exchange partition,drop partition,alter distribute,alter column type这五种操作后,再执行select该表会触发autoanalyze。 8.1.3.310及以下版本 pg_session_wlmstat中elapsed_time与TOP SQL实际执行的时间不一致。 查询pg_session_wlmstat视图,语句处于RUNNING状态时elapsed_time过大。 8.0.x 给外表执行grant select权限时报错:has no distribute type。 obs dfs server只写外表没有指定默认的分布方式导致报错。 8.1.3.310及以下版本
  • 8.1.3.325 表3 8.1.3.325新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 新增支持GB18030_2022的字符编码。 支持禁用子查询hint功能。 GDS外表兼容utf8非法字符。 - - - 解决问题 DN节点重启,日志截断,集群出现hang问题。 stream线程报错打印日志时,响应了cancel信号,再次打印日志会引发hang问题。 8.1.3.320 升级到8.1.3.325。 业务表创建偶现报错:relation “xxx” already exists。 业务偶现报错:could not read block xxx in file "xxx"。 OID使用超过42亿之后重新开始分配,在复用过程中引起业务偶现报错。 8.1.3.323及以下版本 DN备机checkpoint无法成功,导致备机xlog日志无法回收,持续堆积。 DN备机在redo checkpoint时,如果看到有不完整的btree分裂就会报告RM 11问题,实际上可能是btree分裂失败或者处于btree分裂过程中。 8.1.3.323及以下版本 列存表执行轻量化update和后台执行autovacuum并发操作时报错:Unsupported to update different rows with the same cuid and col in light update。 在轻量化update中,不支持使用相同的cuid和col更新不同的行。 8.1.3.323及以下版本 某些场景no_merge的hint操作不生效。 不支持禁用子查询hint功能。 8.1.3.323及以下版本 后台执行长时间查询语句时,通过CTRL + C方式结束语句未等语句彻底退出,又通过CTRL + Z方式退出gsql客户端,会导致语句残留。 CN收到CTRL + C的取消信号后,CN线程处于报错长跳转流程中,此时去调用EmitErrorReport,而EmitErrorReport未响应信号。 8.1.3.323及以下版本 使用大宽表与实时表做关联更新时出现内存占用率太高,影响性能。 使用大宽表与实时表做关联更新,更新时update会将无关列加上,导致执行计划做优化器估算时内存占用率太高,影响性能。 8.1.3.323及以下版本 ShareScan计划中,存放CTE的tuplestore和batchstore的内存不能扩展易产生下盘。 ShareScan执行计划结构体中的cteMaxMem未进行copy、read和write处理,导致DN上在CTE的执行计划上未获取到该值,导致创建的保存CTE结果集的tuplestore和batchstore无法进行内存扩展而下盘。 8.1.3.323及以下版本 执行列存轻量化update报错:could not determine data type of parameter。 在执行计划的Remote query中,创建parame参数为其在基表中的位置,且系统列也匹配不上该参数。 8.1.3.323及以下版本
  • 8.1.3.330 表2 8.1.3.330新增功能/解决问题列表 类别 功能或问题描述 问题原因 问题出现版本 修复建议 新增功能 无 - - - 解决问题 insert into select语句在计划生成阶段core,执行select部分不会core。 ORCLAUSE转换,对两个相同的sublink替换,将其指向同一个OpExpr,再次提升时在OffsetVarNodes中会将varno调整两次,造成后续core。 8.1.3.330以前版本 升级到8.1.3.330及以上 列存轻量化用例概率触发core: CS torePartitionInsert::findBiggestPartition。 列存分区表统计bulkloadUsedMemSize, 将update算子和insert算子混在一起统计,但是在判断是刷盘到disk时,内存自适应的大小是根据每个算子估出来的,导致g_bulkloadUsedMemSize统计常常大于估算值,update算子占用内存到估算内存临界值时,可能造成insert算子一条数据都无法插入。 8.1.3.330以前版本 出现wait ccn排队,但是看资源池的估算内存和占用内存,以及并发数未到排队阈值。 作业在CCN排队时无法进行全局内存校准,阻塞了作业。 8.1.3.330以前版本 用户直接查表没有权限 ,但是嵌套一层查询就可以查到。 light proxy的权限检查是在CN的checkLightQuery中调用权限校验公共函数ExecCheckRTPerms实现的,在DN上不会再进行权限检查。而在调用ExecCheckRTPerms时,其入参rangeTables需要是RTE_RELATION。否则会在ExecCheckRTEPerms中直接返回true。当是嵌套SQL时,类型是RTE_SUBQUERY,绕过了权限检查。 8.1.3.330以前版本 作业运行过程中偶现删除语句报错,报错信息为canceling statement due to statement timeout。 w报文未重新设置事务时间,导致线程复用。 8.1.3.330以前版本 json类型查询内存泄露,导致重分布占用大量内存影响业务。 在jsonb的out函数中存在内存未释放问题,数据量大时出现堆积造成使用内存高。 8.1.3.330以前版本 作业并发执行报错:tuple concurrently updated。 分区和表的oid相同,analyze时使用分区的oid更新了pg_object,实质上是将表的pg_object记录更新。此时有并发的DDL操作,例如alter table同时更新了表的pg_object记录,就会出现并发更新的报错。 8.1.3.330以前版本
  • 变更规格后对计费的影响 如果您在创建按需计费集群后变更了规格配置,会产生一个新订单并开始按新配置的价格计费,旧订单自动失效。 如果您在一个小时内变更了节点规格,将会产生多条计费信息。每条计费信息的开始时间和结束时间对应不同配置在该小时内的生效时间。 例如,您在9:00:00创建了一个按需计费集群,节点规格为dwsx2.8xlarge,并在9:30:00升配为dwsx2.16xlarge,那么在9:00:00 ~ 10:00:00间会产生两条计费信息。 第一条对应9:00:00 ~ 9:30:00,实例规格按照dwsx2.8xlarge计费。 第二条对应9:30:00 ~ 10:00:00,实例规格按照dwsx2.16xlarge计费。
  • 计费周期 按需计费 GaussDB (DWS)资源按秒计费,每一个小时整点结算一次费用(以UTC+8时间为准),结算完毕后进入新的计费周期。计费的起点以GaussDB(DWS)集群创建成功的时间点为准,终点以集群删除时间为准。 集群从创建到启动需要一定时长,计费的起点是创建成功的时间点,而非创建时间。您可以在GaussDB(DWS)详情页“集群详情”页签查看这两个时间,创建成功的时间点对应界面上的“启动时间”。 例如,您在8:45:30创建了一个按需计费的GaussDB(DWS)集群,相关资源包括 数据仓库 节点、快照存储空间等,然后在8:55:00将其删除,则计费周期为8:00:00 ~ 9:00:00,在8:45:30 ~ 8:55:30间产生费用,该计费周期内的计费时长为600秒。
  • 适用计费项 以下计费项支持按需计费: 表1 适用计费项 计费项 说明 数据仓库节点 对选择的节点规格按需计费,计费详情请参见GaussDB(DWS)价格详情。 快照存储空间 GaussDB(DWS)提供了部分免费存储空间,用于存放您的快照数据,免费空间内不计费。当快照数据存储空间超过免费空间大小时,超出部分按照 对象存储服务 (OBS)的计费规则进行计费,参见OBS价格详情。 免费空间大小是您的集群的总存储空间大小,即单节点存储空间大小 (副本)x 节点数。 数据仓库服务磁盘存储 按需计费集群在可选范围内自定义集群使用的存储类型与存储容量,采用存储资源独立计费的方式。 说明: 即创建集群以及创建成功后集群详情界面显示的热存储(含缓存)该存储为磁盘存储,与OBS存储不同。 冷分区数据存储 冷分区数据采用OBS存储,性价比高,按需或包周期集群均使用按需计费,无需提前购买。 公网带宽(可选) 按需计费集群搭配“按带宽计费”的弹性公网IP时,带宽的计费模式同为按需计费,由弹性云服务器(Elastic Cloud Server,ECS)负责其计费。 弹性负载均衡 ELB(可选) 按需计费集群搭配“使用已有”的弹性负载均衡时,负载均衡的计费模式同为按需计费,由弹性负载均衡服务( Elastic Load Balance,ELB)负责其计费。 数据库加密密钥(可选) 按需计费集群搭配“加密数据库”的功能时,密钥的计费模式同为按需计费,由 数据加密 服务( Data Encryption Workshop,DEW)负责其计费。 假设您计划创建一个GaussDB(DWS)集群,开启数据库加密且选择“按带宽计费”的弹性公网IP和“使用已有”的弹性负载均衡。在创建数据仓库集群页面底部,您将看到参考价格,如下图所示: 图1 配置费用示例 配置费用将包括以下部分: 节点费用:根据所选节点规格和节点数量计算的费用。 存储费用:数据仓库服务磁盘存储费用。 公网带宽:根据所选带宽大小计算的费用,由ECS负责其计费。 弹性负载均衡:根据所选弹性负载均衡大小计算的费用,由ELB负责其计费。 数据库加密密钥:根据所选密钥计算的费用,由DEW负责其计费。
  • 计费示例 假设您在2023/04/18 9:59:30创建了一个按需计费GaussDB(DWS)集群(节点规格:dwsx2.2xlarge.m7,每节点热数据存储50GB),然后在2023/04/18 10:45:46将其删除,则: 第一个计费周期为9:00:00 ~ 10:00:00,在9:59:30 ~ 10:00:00间产生费用,该计费周期内的计费时长为30秒。 第二个计费周期为10:00:00 ~ 11:00:00,在10:00:00 ~ 10:45:46间产生费用,该计费周期内的计费时长为2746秒。 您需要为每个计费周期付费,各项DWS资源单独计费,计费公式如表2-3所示。产品价格详情中标出了资源的每小时价格,您需要将每小时价格除以3600,得到每秒价格。 表2 计费公式 资源类型 计费公式 资源单价 数据仓库节点 节点规格单价 * 计费时长 请参见GaussDB(DWS)价格详情中的“价格详情”。 快照存储空间 存储单价*存储量*计费时长 GaussDB(DWS) 提供了部分免费存储空间,用于存放您的快照数据,免费空间内不计费。当快照数据存储空间超过免费空间大小时,超出部分按照对象存储服务(OBS)的计费规则进行计费。 免费空间大小是您的集群的总存储空间大小,即单节点存储空间大小 x 节点数。 请参见OBS价格详情中的“价格详情”。 数据仓库服务磁盘存储 热数据存储容量单价*热数据存储容量*节点数量 *数据副本数量*计费时长 请参见GaussDB(DWS)价格详情中的“热数据存储资源”。 冷分区数据存储 冷分区数据存储容量单价*冷分区数据存储容量*节点数量 *数据副本数量*计费时长 冷分区数据采用OBS存储,性价比高,按需或包周期集群均使用按需计费,无需提前购买。 公网带宽(可选) 按固定带宽值采用阶梯计费: 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 请参见弹性 云服务器价格 详情中的“带宽价格”,或者弹性公网IP价格详情。 弹性负载均衡ELB(可选) 按照您实际使用时长收取费用: LCU费用:根据独享型实例每小时使用的性能容量单位 (Loadbalancer Capacity Unit,简称LCU) 数计费。 实例费用:根据用户的独享型实例使用时长(不足1小时按实际使用时长计算)计费。 请参见弹性负载均衡价格详情中的“带宽价格”。 数据库加密密钥(可选) 密钥管理(KMS): 密钥个数:按创建成功或导入成功的密钥实例进行按需计费,以小时为单位,不设最低消费标准。 API请求次数:免费请求次数为20000次,超出的部分进行计费,以万次为单位。 请参见数据加密服务价格详情中的“价格详情”。 下图给出了上述示例配置的费用计算过程。 图中价格仅供参考,实际计算请以GaussDB(DWS)价格详情中的价格为准。 图2 按需计费DWS费用计算示例
  • 查看资源包详情 如果您已购买折扣套餐包,您可以在GaussDB(DWS)管理控制台上查看已购买资源包的使用详情,并且可以根据使用情况决定是否退订相应资源包,详情想参见折扣套餐资源。 查看方法 在GaussDB(DWS)管理控制台,左侧导航栏单击“资源包管理”。 选择所要查看的资源包对应的详细信息,包括资源包规格、区域、状态、剩余量/总量、开始时间、结束时间、订单号和使用明细。 图1 查看资源包详情
  • 计费示例 假设您在2023/03/08 15:50:04购买了一个冷数据套餐(DWS 3.0存储:100 GB,购买数量:1)。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59 第二个计费周期为:2023/04/08 23:59:59 ~ 2023/05/08 23:59:59 您需要为每个计费周期预先付费,各项DWS资源单独计费,计费公式如下表所示。 表2 计费公式 资源类型 计费公式 资源单价 冷数据存储 冷数据存储容量(GB)*冷数据存储容量价格*计费时长(小时)*购买数量 请参见数据仓库服务价格详情中的“规格价格”。 下图给出了上述示例配置的费用计算过程。 图中价格仅供参考,实际计算请以GaussDB(DWS)价格详情中的价格为准。 图2 折扣套餐DWS费用计算示例