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

基本概念

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

Hologres基于实例的资源规格提供默认的最大连接数和预分配的Shard数,这些参数是针对大多数场景,经过调校和优化的默认配置。其中,最大连接数不可修改,Shard数可通过创建新的Table Group调整。系统扩容或者缩容时,最大连接数同时调整,但扩缩容之前的DB默认Shard数不调整,需要手动修改,新建的DB其Shard数为对应规格的默认值

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

实例规格推荐

在使用Hologres实例实践过程中存在数据量可预估,最适宜实例规格以及对应Shard数区间应该设置为多少的问题,由于最适宜实例规格和Shard数不仅和数据存储量有关,还和实际访问频率、实际数据访问量、计算负载的类型(点查、分析等)、写入吞吐、Table Group上表的个数等因素有关,该问题无法给出准确答案。您可参见下表中根据数据量估算的所需Shard数和实例规格的推荐数,选择适合您的参数配置。
说明 下表根据数据量估算的所需Shard数和实例规格的推荐数不是唯一标准,小数据量的表也可以放在多的Shard Count之上,大数据量的表也可以放在单个Shard上。请您根据实际业务场景选择一个合适的Shard Count,既满足有较高的并发度,带来更高计算效率,又满足数据较集中,从而避免不必要的Shuffle开销。
数据总规模推荐规格推荐Shard数使用说明
4000万行以下32Core以上10~20不适合压力测试,建议用于开发环境。
4000万行~4亿行64Core以上20~40适合业务场景较为单一,没有混合负载场景。
4亿行~40亿行128Core以上40~80写入查询能力较为均衡,建议生产系统默认起步配置。
40亿行~400亿行256Core以上80~240建议考虑两个Table Group,大表和小表分别属于不同的Table Group,设计不同的Shard。
400亿行~4000亿行512Core以上160~400建议考虑多个Table Group,仅对部分超大表划分较多Shard,普通表不建议Shard过多。

实例默认资源表

Hologres基于实例的资源规格提供默认的最大连接数和预分配的Shard数,默认规格配置如下表所示。
说明
  • 每个实例规格包括了计算节点和Frontend接入节点,在512Core及以下规格中,默认计算节点数与Frontend节点数相同,在更大规格中,Frontend节点数会略少于计算节点数。
  • 在规格扩容小于5倍时,不建议调整Shard。该默认规格适合绝大部分场景,考虑了写入和查询的平衡配置。
  • 单个节点的内存上限是64GB,内存会分为三部分,分别为计算、缓存和元数据。在Hologres V1.1.24版本之前,单个节点计算运行时内存上限是20GB,V1.1.24版本之后,计算内存采用运行时弹性分配,当前节点剩余未使用内存都会尽量用于计算时分配,提高整体内存利用率。
  • 最大总连接数=单Frontend节点最大连接数*Frontend节点数,括号中为具体每个节点的规格,其中括号前部分为单接入节点最大连接数,后部分为总Frontend接入节点个数。
实例规格默认计算节点数默认Shard数(适用于V0.10.31及以上版本)最大总连接数(适用于V0.10.25及以上版本)Superuser预留总连接数(适用于V1.1及以上版本)
32Core220256(128*2)10(5*2)
64Core440512(128*4)20(5*4)
96Core660768(128*6)30(5*6)
128Core8801024(128*8)40(5*8)
160Core10801280(128*10)50(5*10)
192Core12801536(128*12)60(5*12)
256Core161202048(128*16)80(5*16)
384Core241603072(128*24)120(5*24)
512Core321604096(128*32)160(5*32)

新增实例规格

自2022年4月25日起,Hologres默认提供了512CU至1024CU之间的计算资源规格,如需更高规格,请您搜索(钉钉群号:32314975)加入实时数仓Hologres交流群申请升级。。在升级更大资源规格前,请先将实例升级至V1.1.58及以上版本。默认规格配置如下表所示。
实例规格默认计算节点数默认Shard数(适用于V1.1.58及以上版本)最大总连接数(适用于V1.1.58及以上版本)Superuser预留总连接数(适用于V1.1.58及以上版本)
640Core401605120(128*40)200(5*40)
768Core481606144(128*48)240(5*48)
896Core561607168(128*56)280(5*56)
1024Core642008192(128*64)320(5*64)
1280Core8020010240(128*80)400(5*80)
1536Core9620012288(128*96)480(5*96)
1792Core11220014336(128*112)560(5*112)
2048Core12820016384(128*128)640(5*128)
2304Core14424018432(128*144)720(5*144)
2560Core16024020480(128*160)800(5*160)
3072Core19224024576(128*192)960(5*192)
3584Core22424028672(128*224)1120(5*224)
4096Core25632032768(128*256)1280(5*256)
4608Core28832036864(128*288)1440(5*288)
5120Core32032040960(128*320)1600(5*320)
5632Core35232045056(128*352)1760(5*352)
6144Core38432049152(128*384)1920(5*384)
6656Core41632053248(128*416)2080(5*416)
7168Core44832057344(128*448)2240(5*448)
7680Core48032061440(128*480)2400(5*480)
8192Core51240065536(128*512)2560(5*512)

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

Hologres支持您查看并管理实例默认连接数。
  • 查看连接数。
    当您创建实例并连接开发工具之后,可以执行如下语句进行查看,其中返回值是单个Frontend接入节点的最大连接数。
    说明 Hologres实例总的最大连接数=单Frontend节点最大连接数*Frontend节点数。
    --查看单接入节点的最大连接数(实际连接在多个接入节点间均衡分配)。
    show max_connections;
  • 管理连接。

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

查看并修改实例Shard数

在实例扩容后,大多数情况下不需要调整Shard数,更多的Core资源可以提供更好的查询并发能力。如果您需要更大的写入能力,可以通过扩大Shard数来提高并发写入的吞吐量。

同时,行存表由于天然的分布特性,更多的Shard读取性能会更高。如果因业务需求,需要查看以及修改实例的Shard数,请参见Table Group与Shard Count操作指南