真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

NEO4J圖數(shù)據(jù)庫怎樣解決STEPBYSTEP

NEO4J 圖數(shù)據(jù)庫怎樣解決STEP BY STEP,針對這個(gè)問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

10年積累的網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)制作后付款的網(wǎng)站建設(shè)流程,更有南召免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

本來想收筆,開過社交網(wǎng)絡(luò)在風(fēng)控中的應(yīng)用的會后,提到了NEO4J 在更新數(shù)據(jù)庫的時(shí)候,會比較慢,當(dāng)然一般的操作流程是,通過傳統(tǒng)數(shù)據(jù)庫查找相關(guān)信息后,在根據(jù)主鍵查找NEO4J 的數(shù)據(jù),保證查詢的速度。隱約記得 NOE4J 是支持索引的,但由于NEO4J 和傳統(tǒng)數(shù)據(jù)庫是非常不一致的,所以對索引能否提高查詢和更新的速度這方面是需要驗(yàn)證。

本著這個(gè)想法,開始做這方面的研究,NEO4J 官方是非??隙?,INDEXES 在一個(gè)節(jié)點(diǎn)中,是可以加速相關(guān)和改善性能的。通過INDEX 在 MATCH WHERE  IN 這三種COLUMNS中的應(yīng)用來提高 NEO4J 的相關(guān)方面的速度。

但NEO4J 明顯和傳統(tǒng)數(shù)據(jù)庫在結(jié)構(gòu)設(shè)計(jì)上的不同,在創(chuàng)建索引的時(shí)候也有所體現(xiàn).

在圖數(shù)據(jù)庫中需要理解三個(gè)模塊, 節(jié)點(diǎn),關(guān)系,標(biāo)簽。

什么是標(biāo)簽,在NEO4J 中 標(biāo)簽可以理解為表,但也不一樣,暫時(shí)這樣理解,因?yàn)闃?biāo)簽內(nèi)的節(jié)點(diǎn)可以看做一個(gè)組

什么是節(jié)點(diǎn): 節(jié)點(diǎn)記錄著屬性,一個(gè)節(jié)點(diǎn)可以記錄多個(gè)屬性,所以我們理解節(jié)點(diǎn),是行的概念

屬性名: 列(不解釋了)

這里混亂的就是,表,的概念,按理說一個(gè)表有行,而這行信息必然屬于這個(gè)表,但是在NEO4J 中 節(jié)點(diǎn)(行),可以擁有多個(gè)標(biāo)簽,也就是這一行可能屬于多個(gè)表(暫時(shí)這樣理解,有好的理解方式在改正)。所以就牽扯出關(guān)系。

關(guān)系就可以理解為傳統(tǒng)的主外鍵之間的聯(lián)系,但不完全,這里僅僅有關(guān)系,沒有誰要服從誰的概念。

好吧我知道,說到這里,基本上腦子已經(jīng)是亂亂的。

下面是一個(gè)不和任何傳統(tǒng)數(shù)據(jù)庫之間有聯(lián)想的方式對NEO4J 數(shù)據(jù)庫中的東西進(jìn)行的總結(jié)。

  • 節(jié)點(diǎn),關(guān)系和屬性是圖數(shù)據(jù)庫重要組成部分

  • 節(jié)點(diǎn)和關(guān)系都包含屬性

  • 關(guān)系連接節(jié)點(diǎn)

  • 屬性是鍵值對

  • 節(jié)點(diǎn)用圓圈表示,關(guān)系用方向鍵表示。

  • 關(guān)系具有方向:單向和雙向。

  • 每個(gè)關(guān)系包含“開始節(jié)點(diǎn)”或“從節(jié)點(diǎn)”和“到節(jié)點(diǎn)”或“結(jié)束節(jié)點(diǎn)”

回到具體的工作,下面是一條語句,需要我們

MATCH (e1:Borrower{ApplicationNO_ID:"rt-996899991"}),(e2:borrower) where e1<>e2 and e1.Phone =e2.Phone Merge (e1)-[:`電話=`{Role:'9999999999'}]->(e2)

(數(shù)據(jù)已經(jīng)脫敏,都不是真實(shí)數(shù)據(jù))

大致意思是 E1節(jié)點(diǎn)的數(shù)據(jù) 和 E2 節(jié)點(diǎn)的數(shù)據(jù)去重,然后發(fā)現(xiàn)電話相同的情況下,建立一個(gè)E1到E2節(jié)點(diǎn)的關(guān)系,而我們都知道,E1 不等于E2的數(shù)據(jù),是要進(jìn)行 NESTLOOP的操作,必定快不了,而每次更新數(shù)據(jù),這么來,必然很慢,實(shí)測數(shù)據(jù)(數(shù)據(jù)量較少) 在 700-900MS 左右。

NEO4J ,在數(shù)據(jù)類(表設(shè)計(jì))和 查詢關(guān)系的建立比傳統(tǒng)數(shù)據(jù)庫要更燒腦,所以不良好的設(shè)計(jì),也會造成問題。

以上已經(jīng)添加索引了,在 E1 E2 節(jié)點(diǎn)中的 PHONE 屬性。 但實(shí)際上沒有幫助,問題在于數(shù)據(jù)的搜索是節(jié)點(diǎn)是所有的屬性進(jìn)行比對,E1 和 E2 中只要有一個(gè)屬性不同就被挑選出來(這有點(diǎn)類似全行全表掃描),然后還要挑揀出數(shù)據(jù)中 電話號碼相同的情況。然后CREATE 一個(gè)關(guān)系。

以上這樣的邏輯,基本上在大部分?jǐn)?shù)據(jù)庫中的邏輯查詢都是很難搞的。必然牽扯全表掃描。

NEO4J 圖數(shù)據(jù)庫怎樣解決STEP BY STEP

所以目前兩種方法可行,  1  在傳統(tǒng)數(shù)據(jù)庫中進(jìn)行數(shù)據(jù)的過濾,直接將這樣的數(shù)據(jù)過濾出來,直接插入到 NEO4J中。

2  可以嘗試redis 將兩個(gè)節(jié)點(diǎn)的數(shù)據(jù)上傳,進(jìn)行REDIS 之間的KEY VALUE的比對,終究內(nèi)存數(shù)據(jù)庫比所有數(shù)據(jù)庫的速度都快。

關(guān)于NEO4J 圖數(shù)據(jù)庫怎樣解決STEP BY STEP問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


當(dāng)前文章:NEO4J圖數(shù)據(jù)庫怎樣解決STEPBYSTEP
瀏覽路徑:http://weahome.cn/article/goicgj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部