類型
目前阿里云圖計算引擎支持三種獨享分片規格購買:計算型、通用型、存儲型。
分片規格
當前圖計算引擎產品,根據機器配置(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;