Hologres用法有区别吗?因为我们测试环境是通用型,生产环境选择了计算组型,担心后续环境不一致会导致未知故障.需要手动指定计算组吗?还是意思说新增了一个可选字段?不选择就用默认计算组?
Hologres是阿里云自研的HSAP(Hybrid Serving/Analytical Processing)服务/分析一体化系统,它充分兼容PostgreSQL协议并与大数据生态无缝打通。在实际应用中,如果测试环境使用的是通用型,而生产环境选择了计算组型,那么确实需要关注环境一致性问题,以避免可能出现的未知故障。
首先,对于建表优化,它在Hologres中是一个非常重要的步骤。一个良好的建表可以显著提高查询性能和写入性能。如果建表不当,可能导致不必要的索引和数据冗余存储,从而增加了成本。因此,无论您选择哪种计算模型,都需要确保进行充分的建表优化。
其次,关于计算组型的使用,如果您没有手动指定计算组,系统会默认使用默认计算组。这意味着,除非您有特殊需求,否则您不需要进行任何额外的操作。
Hologres计算组型和通用型的主要区别在于对资源的使用方式。
计算组型是基于共享资源池的服务化计算模型,它可以动态分配资源,使计算过程更加灵活高效。通用型则是一次性的实例化,它会在启动时分配全部资源,并在整个生命周期中一直占用这些资源。
因此,如果你希望在生产环境使用计算组型,请务必确认你已安装了最新版的客户端,因为它支持计算组型。如果你不希望更改现有环境,也可以继续使用通用型,不过会受到一定的性能影响。
至于使用方法,两者基本相同。在新建或更新表时,只需要指定 COMPUTE_GROUP
参数即可,如果不指定,则会使用默认计算组。如果你想手动指定计算组,可以使用以下命令:
CREATE TABLE my_table (
field_name data_type [NOT NULL],
...
)
WITH (
COMPUTE_GROUP = 'group_name'
)
这样,新建的表就会被放置到指定的计算组中。同样,更新已有表时也可以使用 ALTER TABLE
命令来更改计算组:
ALTER TABLE my_table SET COMPUTE_GROUP TO 'group_name';
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975