类型
目前阿里云图计算引擎支持三种独享分片规格购买:计算型、通用型、存储型。
分片规格
当前图计算引擎产品,根据机器配置(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】。
创建集群:
点击【图计算实例开通】,具体配置参考图如下:
备份
目前图计算引擎iGraph默认支持双副本,保证集群升级/数据切换中服务可用性,同时也支持用户进行备份选择和扩容操作。
备份数越多,iGraph集群提供在线服务能力的searcher越多,集群在线性能更高,同时购买价格也会越多,望您按需选择。
分片数
目前图计算引擎iGraph默认支持多分片,将海量数据索引进行hash分列,可以方便存储到固定存储的分片上。
具体的分片计算公式,如下:
分片数 = 存储量GB / 每个分片规格的磁盘量 / 2;