Hologres不同的实例规格定义了不同的Core和内存资源,由于计算和存储分离架构,存储资源与实例规格不相关。本文将为您介绍实例的资源规格,您可以根据需要动态调整实例的规格,包括升配、降配,独立修改计算和存储资源。

基本概念

Hologres运行时的资源包括用于元数据管理的进程资源、用于查询服务的计算资源、用于优化数据写入的导入链路资源以及缓存服务。所有服务基于容器技术,通过多个并行的容器计算节点实现高性能并行计算能力。

Hologres基于实例的资源规格提供默认的最大连接数和预分配的Shard数,这些参数是针对大多数场景,经过调校和优化的默认配置。其中,最大连接数不可修改,Shard数可通过相关函数调整。系统扩容或者缩容时,最大连接数同时调整,但默认Shard数不调整

在扩容后,更多的Core资源可以提供更好的查询并发能力,大多数使用场景不需要调整Shard数。当您需要更大的写入能力时,可以扩大Shard数,提高并发写入的吞吐量。同时,行存表由于天然的分布特性,Shard的个数越多,其读取性能会更高。

实例默认资源表

Hologres基于实例的资源规格提供默认的最大连接数和预分配的Shard数,默认规格配置如下表所示。
说明 该配置针对Hologres V0.8及以上版本适用。
实例规格 默认Shard数(个) 最大总连接数(个) ① Superuser预留总连接数
32Core 20 128(64*2) 6
64Core 40 256(128*2) 6
96Core 60 384(192*2) 6
128Core 80 512(171*3) 9
160Core 100 640(160*4) 12
192Core 120 768(154*5) 15
256Core 160 1024(171*6) 18
400Core 240 1600(160*10) 30
512Core 320 2048(171*12) 36
① 最大总连接数 = 单Frontend节点最大连接数 * Frontend节点数,括号中为具体每个节点的规格。

查看并管理实例默认连接数

Hologres支持您查看并管理实例默认连接数。
  • 查看连接数。
    当您创建实例并连接开发工具之后,可以执行如下是语句进行查看:
    show max_connections;
  • 管理连接。

    实例会为Superuser提供预留连接数,当连接数达到默认规格上限时,Superuser可以连接Hologres使用SQL命令查看空闲连接并进行释放,或者根据业务情况升配。查看空闲连接并进行释放连接的具体操作,请参见连接数

查看并修改实例Shard数

Hologres支持您查看当前实例的Shard数,当您创建实例并连接开发工具之后,您可以执行如下步骤进行查看。

  1. 查看table group。
    首先查看这张表在哪个table group中,一个table group中的表Shard数相同。如下示例中,您需要将table_name修改为实际需要查询的表名称。
    select property_value from hologres.hg_table_properties where table_name = 'tmp' and property_key = 'table_group';
  2. 查看该table group对应的Shard数。
    查询结果中,shard_count代表当前的Shard数。
    select * from hologres.hg_table_group_properties;
    shard数
  3. 修改Shard数。
    您可以执行如下命令更改table group的Shard数。其中,Shard数可以根据实际情况进行调整。
    call hg_update_database_property('shard_count', '60');
    该语句执行成功后,将会新建一个table group,并将其设置为该DB的默认table group,其Shard数为60。此后新建的表都会放到该table group下,除非再次修改table group。