
@TOC[1] Here's the table of contents:
•一、圖資料庫選型
•二、圖資料模型說明
•三、股權網絡穿透一百層
•3.1 穿透一百層查詢語句
•3.2 穿透一百層10次測試執行結果
•四、股權網絡穿透一千層
•4.1 穿透一千層查詢語句
•4.2 穿透一千層10次測試執行結果
•五、測試結果統計
一、圖資料關系路徑穿透測試
本次測試運作在總體規模在11億的資料集上,股權網絡資料量超千萬,測試方式為從某公司出發股權網絡向上穿透100層和1000層,傳回一條路徑結果【LIMIT 1】。
二、圖資料庫選型
圖資料庫為ONgDB【技術交流QQ群:1061594137】,部署方式為三節點因果叢集部署,兩個CORE節點和一個REPLICA節點。服務配置為64G記憶體8核CPU。
三、圖資料模型說明
•資料規模
整個圖庫包含節點1157523466個十一億個節點,1081043246條關系十億條關系。股權網絡模組化為同構圖,節點為16001402個一千六百萬,關系為13980621萬一千四百萬。
•資料模組化方式
股權網絡實體标簽為,關系為
HORGShareHoldV002
,持股的詳情資料使用
持股
字段存儲時間序列字段時間序列的資料模組化可以參考內建ES實作。
shareholding_detail
四、股權網絡穿透一百層
4.1 穿透一百層查詢語句
使用postman執行cypher查詢
MATCH p=(n:HORGShareHoldV002)<-[r:`持股`*100]-(m) WHERE n.name='天津秦嶺商業管理有限公司' RETURN p LIMIT 1
複制
{
"statements": [
{
"statement": "MATCH p=(n:HORGShareHoldV002)<-[r:`持股`*100]-(m) WHERE n.name='天津秦嶺商業管理有限公司' RETURN p LIMIT 1",
"resultDataContents": [
"graph"
]
}
]
}
複制
4.2 穿透一百層10次測試執行結果
五、股權網絡穿透一千層
5.1 穿透一千層查詢語句
使用postman執行cypher查詢
MATCH p=(n:HORGShareHoldV002)<-[r:`持股`*1000]-(m) WHERE n.name='天津秦嶺商業管理有限公司' RETURN p LIMIT 1
複制
{
"statements": [
{
"statement": "MATCH p=(n:HORGShareHoldV002)<-[r:`持股`*1000]-(m) WHERE n.name='天津秦嶺商業管理有限公司' RETURN n,m LIMIT 1",
"resultDataContents": [
"graph"
]
}
]
}
複制
5.2 穿透一千層10次測試執行結果
六、測試結果統計
圖資料庫路徑穿透理論上算法時間複雜度為O(1),ONgDB【Neo4j】的路徑穿透性能會比Nebula Graph等分布式圖資料庫性能更好沒有在分布式圖資料庫上做測試但是從資料庫架構上可以做基本判斷,是因為分布式系統最大的性能消耗在于網絡通信上,如果是跑人工智能相關的算法模型,集中式的圖資料架構性能會更好對于巨量的圖資料模型可以考慮內建ES存儲時間序列名額,解決資料體量的問題。
•穿透一百層
平均耗時:102毫秒
最小耗時:92毫秒
最大耗時:129毫秒
複制
•穿透一千層
平均耗時:29.3秒
最小耗時:21.08秒
最大耗時:42.98秒
複制
References
[1]
TOC: 【圖資料】股權網絡穿透一千層需要多久?