更新时间:2024-11-12 GMT+08:00
分享

HTAP混合负载

本章节介绍HTAP(Hybrid Transactional/Analytical Processing,混合事务/分析处理)特性相关参数。

enable_htap

参数说明是否开启HTAP特性,开启HTAP特性后,会加载COLVIEW关键字指定列的存量行存数据到内存IMCV(In-memory Column View,列式内存引擎)中,用于提高AP(Analytical Processing,分析处理)查询效率。使用多租数据库特性时需要关闭该参数。

参数类型:布尔型

参数单位:

取值范围:

  • on:打开HTAP特性。
  • off:关闭HTAP特性。

默认值off

设置方式该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。

设置建议该参数默认关闭,如果需要开启,请结合数据库使用场景,存在大量AP查询时,开启该参数可以优化查询效率。纯TP查询场景不建议开启该参数。

设置不当的风险与影响请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

htap_max_mem_size

参数说明依赖HTAP特性开启状态,设置HTAP特性可用的内存上限。当GaussDB动态内存使用达到上限后,即使HTAP内存使用未达到上限,也无法继续分配内存。

参数类型:整型

参数单位:kB

取值范围:102400 ~ 1073741824

默认值1048576(即1GB)

设置方式该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。例如,设置为1000000,不带单位,表示1000000kB;设置为1GB,带单位,表示1GB。取值如果要带单位,必须为kB、MB、GB。

设置建议该参数不应该超过max_process_memory和最大共享内存,并根据实际使用场景合理分配空闲内存作为该参数的值。

设置不当的风险与影响htap_max_mem_size的设置基于GaussDB的动态内存和内存管理机制。当max_process_memory设置不当、htap_max_mem设置过大、关闭逻辑内存管理时,可能会导致系统内存不足。当htap_max_mem_size设置过小,可能会导致创建的IMCV频繁触发内存不足异常。

最大动态内存和已使用的动态内存可以通过gs_total_memory_detail视图查询获得,max_dynamic_memory表示最大动态内存,dynamic_used_memory表示已使用的动态内存。

htap_memctl_policy

参数说明依赖HTAP特性开启状态,设置HTAP特性内存管理的策略模式。

参数类型:枚举类型

参数单位:

取值范围:

  • delete:表示当HTAP内存不足时,删除内存列内存数据,释放内存。HTAP内存上限由参数htap_max_mem_size设置。
  • swap:表示当HTAP内存不足时,会发生数据交换,不常用数据落盘到本地磁盘中。当前版本,该功能暂不生效。

默认值delete

设置方式该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。

设置建议推荐使用默认值。

设置不当的风险与影响请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

enable_imcvscan

参数说明依赖HTAP特性开启状态,设置是否打开HTAP内存列扫描算子IMCVScan。

参数类型:布尔型

参数单位:

取值范围:

  • on:打开HTAP内存列扫描算子IMCVScan。
  • off:关闭HTAP内存列扫描算子IMCVScan。

默认值on

设置方式该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。

设置建议推荐使用默认值。

设置不当的风险与影响请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

enable_parallel_populate

参数说明依赖HTAP特性开启状态,设置是否开启存量行存转内存列IMCV的并行加载特性,以加速IMCV表创建流程。

参数类型:布尔型

参数单位:

取值范围:

  • on:并行加载数据。
  • off:串行加载数据。

默认值off

设置方式该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。

设置建议推荐使用默认值。

设置不当的风险与影响开启该参数后,加载行存数据到IMCV表可能会影响行存表的性能,请根据使用场景进行设置。开启该参数后,一次同时进行并发加载的表/分区数量(这里计算非分区表的表数量与分区表的分区数量的和)不应过多,其最大值计算公式为min(max_connections/40, 100),对于多表场景,建议分批次进行表的并发加载操作。

htap_router_mode

参数说明依赖HTAP特性开启状态,设置HTAP透明路由的模式。

参数类型:枚举类型

参数单位:

取值范围:

  • row:强制使查询负载选择行存计划。
  • column:当查询请求中的列加载到IMCV时,无视代价高低,强制执行列存(IMCVScan)计划;若存在未加载到IMCV的列时,执行行存计划。
  • auto:根据查询请求中的列是否加载到IMCV,以及行列计划代价高低,自动选择行、列、行列混合计划。

默认值row

设置方式该参数属于USERSET类型参数,请参见表1中对应设置方法进行设置。

设置建议当使用场景有混合负载时,推荐该参数设置为auto。

设置不当的风险与影响:请在充分理解参数含义,并经过测试验证后进行修改,避免出现意料之外的结果。

htap_flush_workers

参数说明:依赖HTAP特性开启状态,设置同步增量行存数据到IMCV行组的最大工作线程数。

参数类型:整型

参数单位:

取值范围:1~100

默认值:3

设置方式:该参数属于POSTMASTER类型参数,请参见表1中对应设置方法进行设置。

设置建议:一般不建议修改,提高该参数可以提高AP性能,但是可能会影响TP性能;降低该参数会影响AP性能。

设置不当的风险与影响:设置过大可能影响TP性能,设置过小可能影响AP性能,建议使用默认值。

htap_flush_pagenum

参数说明:依赖HTAP特性开启状态,设置同步增量行存数据到IMCV行组的脏页阈值,脏页数量大于该值触发同步过程。

参数类型:整型

参数单位:

取值范围:1~1000

默认值:512

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:一般不建议修改,降低该参数可以提高AP性能,但是可能会影响TP性能;增加该参数会影响AP性能。

设置不当的风险与影响:设置过小可能影响TP性能,设置过大可能影响AP性能,建议使用默认值。

htap_flush_interval

参数说明:依赖HTAP特性开启状态,设置同步增量行存数据到IMCV行组的最大时间间隔。

参数类型:整型

参数单位:

取值范围:1~36000

默认值:300

设置方式:该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。

设置建议:一般不建议修改,降低该参数可以提高AP性能,但是可能会影响TP性能;增加该参数会影响AP性能。

设置不当的风险与影响:设置过小可能影响TP性能,设置过大可能影响AP性能,建议使用默认值。

相关文档