更新时间:2024-11-29 GMT+08:00

配置物化视图缓存能力

对于一条SQL,创建了对应的物化视图后,执行这条SQL时,将被改写为通过物化视图查询。如果开启了物化视图的“重写缓存”功能,那么多次执行这条SQL后,改写后的SQL将会保存到缓存中(默认最多保存10000条),在缓存有效时间(默认24小时)内,执行这条SQL时会直接从缓存中获取改写后的SQL,而不是重新对SQL进行改写。

可在计算实例中添加自定义参数“rewrite.cache.timeout”和“rewrite.cache.limit”分别设置缓存有效时间和最多能保存的改写SQL的条数。

  • 创建一个新的物化视图,或者删除一个已有的物化视图时,缓存将失效。
  • 如果缓存中被改写的SQL查询所关联的物化视图失效,或者处于REFRESHING状态,该条被改写的SQL查询将不会被使用。
  • 当使用缓存时,被执行的SQL不能有任何改变,否则它将被当做一条新的SQL查询。
  • 创建的物化视图中最多有500个可以用于SQL查询的改写,也就是SQL改写时使用的物化视图如果被包含在这500个中,那么就会进行改写,否则就当做普通SQL执行。可参考•System级别:在计算实例中添加自定义参数“hetu.select.top.materialized.view”来改变允许使用的物化视图个数。

开启物化视图“重写缓存”

  • Session级别:

    参考使用HetuEngine客户端HetuEngine客户端执行set session rewrite_cache_enabled=true

  • System级别:
    1. 使用用于访问HetuEngine WebUI界面的用户登录FusionInsight Manager。
    2. 选择“集群 > 服务 > HetuEngine”,进入HetuEngine服务页面。
    3. 在概览页签下的“基本信息”区域单击“HSConsole WebUI”后的链接,进入HSConsole界面。
    4. 单击“计算实例”,查看待操作的租户的实例状态,当绿色图标和蓝色图标数量均为“0”时,可执行5配置开启物化视图改写能力。
    5. 在“计算实例”页签,在待操作的实例所属租户所在行的“操作”列单击“配置”,进入“配置实例”页签,添加如下自定义参数。

      名称

      参数文件

      描述

      rewrite.cache.enabled

      true

      coordinator.config.properties

      启用物化视图“重写缓存”

      rewrite.cache.timeout

      86400000

      coordinator.config.properties

      • 修改“重写缓存”的有效期
      • 不填则使用默认值:86400000,单位:ms

      rewrite.cache.limit

      10000

      coordinator.config.properties

      • 修改“重写缓存”的缓存上限
      • 不填则使用默认值:10000,单位:条
    6. 参数添加完成后,将“立即启动”置为“是”,单击“确定”。