选型介绍

类型

目前阿里云图计算引擎支持三种独享分片规格购买:计算型、通用型、存储型。

分片规格

当前图计算引擎产品,根据机器配置(CPU:MEM)比例的高低来划分集群的优势点。

计算型:CPU资源充足,可以做复杂的计算逻辑;

存储型:磁盘较大,可以满足存储型业务的要求;

通用型:介于计算型/存储型中间;

机型规格名

CPU:MEM

特点

计算型

1:2

比例较高,在线计算性能更佳

存储型

1:8

内存与磁盘存储占比较大,存储量更大

通用型

1:4

介于计算型/存储型之间;

集群评估

图计算GraphCompute采用分布式集群架构,主要由三部分组成:节点类型(即每个分片的规格)、副本数(即replica,每个备份都可独立承担线上流量,通过增加副本数可扩展集群的水平负载能力)、分片数(即partition,通过内部Hash处理,可将数据进行分片存储到不同的节点上,从而扩展集群的数据容量能力)

节点类型:

规格代码

类型

分片规格

磁盘大小

一跳查询QPS

全字段更新TPS

部分字段更新TPS

computer.i2.small

计算型

cpu: 2核, mem: 4GiB

80GiB

2000

15000

1500

computer.i2.large

计算型

cpu: 4核, mem: 8GiB

120GiB

4000

15000

1500

computer.i2.2xlarge

计算型

cpu: 8核, mem: 16GiB

240GiB

8000

15000

1500

storage.i2ne.large

存储型

cpu: 2核, mem: 16GiB

400GiB

2500

20000

2500

storage.i2ne.2xlarge

存储型

cpu: 4核, mem: 32GiB

800GiB

2000

20000

2500

common.i2.small

通用型

cpu: 2核, mem: 8GiB

120GiB

2500

20000

2500

common.i2.large

通用型

cpu: 4核, mem: 16GiB

240GiB

5000

20000

2500

common.i2.2xlarge

通用型

cpu: 8核, mem: 32GiB

500GiB

10000

20000

2500

容量评估:

整个分布式GraphCompute的集群在线查询和数据更新能力评估:

集群的在线查询QPS = 所选节点规格对应的在线QPS * 副本数;

更新TPS评估:当前服务实例提供两种更新方式:全字段更新或者部分字段更新

1)当业务使用场景为全字段数据更新方式:

整个集群的更新能力 = 所选节点规格对应的全字段更新TPS * 分片数;

2)当业务使用场景为部分字段更新数据方式:

由于部分字段更新链路采用GraphCompute内部补全方式,额外对集群进行信息查询而消耗资源,会导致在线查询QPS下降25%

更集群的部分字段数据更新TPS = 所选节点规格对应的更新TPS * 分片数 * 副本数;

注意:以上评估数据为内部测试经验,仅作参考;如需具体业务集群真实负载能力,需要自行压测。

举例参考:

例子1:某社交APP使用图计算GraphCompute进行陌生人社交查询,用户数据百万级,用户关系千万级,整体数据存储需100GB,线上流量QPS为20000,实时数据采用全字段更新TPS为40000,查询RT为10ms。

评估思路:

1)整个业务要求较高QPS和RT,一般建议选择节点选择【common.i2.large 通用型】,基本符合大部分业务使用;

2)存储数据需要100GB,同时TPS达到40000,数据更新量较大,按照1个【common.i2.large 通用型】节点承载TPS为20000,需要对数据进行分片,从而提升集群的数据更新。选择分片数为【2】。

3)【common.i2.large 通用型】节点承载QPS为5000,业务要求QPS为20000,副本数计算值=20000/5000,选择副本数为【4】

例子2:某社交APP使用图计算GraphCompute进行特征查询,用户特征高达千万级,整体数据存储需200GB,线上流量QPS为8000,实时数据采用部分字段更新TPS为10000,查询RT为20ms。

评估思路:

1)整个业务要求较高QPS和RT,一般建议选择节点选择【common.i2.large 通用型】,基本符合大部分业务使用;

2)【common.i2.large 通用型】节点承载QPS为5000,业务要求QPS为8000,副本数计算值 = 8000/(5000 * (1-0.25)),选择取整副本数为【2】

3)存储数据需要200GB,同时TPS达到10000,数据更新量较大,按照1个【common.i2.large 通用型】节点承载TPS为2500,集群的部分字段数据更新TPS 10000 = 2500 * 分片数 * 副本数 2;计算得到分片数为【2】。

创建集群:

点击【图计算实例开通】,具体配置参考图如下:

image.png

备份

目前图计算引擎iGraph默认支持双副本,保证集群升级/数据切换中服务可用性,同时也支持用户进行备份选择和扩容操作。

备份数越多,iGraph集群提供在线服务能力的searcher越多,集群在线性能更高,同时购买价格也会越多,望您按需选择。

分片数

目前图计算引擎iGraph默认支持多分片,将海量数据索引进行hash分列,可以方便存储到固定存储的分片上。

具体的分片计算公式,如下:

分片数 = 存储量GB / 每个分片规格的磁盘量 / 2;