• <ruby id="bi9vj"><b id="bi9vj"></b></ruby>

        <b id="bi9vj"></b>

        高手問答第 233 期 ——?圖數據庫的設計和實踐

        xplanet 發布于 09/24 07:29
        閱讀 4K+
        收藏 17

        隨著抖音、小紅書等社交內容平臺的“爆紅”,誕生了一種基于社交關系網路的推薦需求,而以垂直領域作為切入點的知識圖譜過去兩年的“爆火”,加上傳統數據庫在處理社交推薦、風控、知識圖譜等方面的性能缺陷,圖數據庫的研發應運而生。

        圖數據庫是一種非關系型數據庫,用以解決現有關系數據庫的局限性。它是一個使用圖結構進行語義查詢的數據庫,它使用節點、邊和屬性來表示和存儲數據。該系統的關鍵概念是圖,它直接將存儲中的數據項,與數據節點和節點間表示關系的邊的集合相關聯。正是圖數據庫記錄關系這種特性,它的典型使用場景便是基于社交關系網絡的社交推薦,eg:抖音的視頻推薦;銀行保險業務的風控、知識圖譜、圖結構引入 AI 訓練模型、區塊鏈、IoT 等則是圖數據庫的其他應用場景。

        OSCHINA 本期高手問答(9 月 24 日 - 9 月 30 日)將以「圖數據庫的設計和實踐」為切入點展開討論,包括:「圖數據庫的存儲設計」、「圖數據庫的計算設計」、「圖數據庫的架構設計」,除了上述三個范圍,你也可以將討論的內容外延到圖數據庫整個領域,包括圖數據庫的現狀、應用場景等等, 還可以專注于開源的分布式圖數據庫 Nebula Graph 的源碼、實踐等細節。為此,我們邀請到了嘉賓陳恒@dangleptr 來和大家一起探討圖數據庫。

        嘉賓簡介

        陳恒,開源的分布式圖數據庫 Nebula Graph 技術總監,圖數據庫領域專家 & HBase Committer。北京郵電大學碩士,曾就職于螞蟻金服(P8 級別),猿題庫、網易等公司,一直從事基礎設施相關研發工作。

        為了鼓勵踴躍提問,人民郵電出版社會在問答結束后從提問者中抽取 5 名幸運會員贈予《深入淺出 MySQL:數據庫開發、優化與管理維護(第3版)》一書。

        購書地址:https://item.jd.com/12574719.html

        OSChina 高手問答一貫的風格,不歡迎任何與主題無關的討論和噴子。

        下面歡迎大家就圖數據庫的存儲和實踐等相關問題向@dangleptr  積極提問,直接回帖提問即可

        加載中
        0
        xplanet
        xplanet

        高手問答第 233 期 —— 圖數據庫的設計和實踐
        @Li_Peng @梅開源 @海參拉面 @荒野刀客 @鈦元素
        恭喜以上五位網友分別獲得《深入淺出 MySQL:數據庫開發、優化與管理維護(第3版)》一本
        請私信 @xplanet   獲取圖書兌換地址及兌換碼

        0
        鈦元素
        鈦元素

        @dangleptr 恒大你好,我對圖數據庫不是很明白,是否可以這樣理解:它可以被認為是mysql中的一種數據庫引擎,具備特殊的查詢功能,以及特殊的數據結構?謝謝。

        sixliu
        sixliu
        你可以這樣理解,原先這些數據都是用關系數據庫存的,分別為主體表和關系表,但是在應用使用時查詢性能,比如查n度關系。所以為了提升查詢使用那么圖天然符合,節點(主體)和邊(關系)。比如說要查A的2度關系,那么通過id直接key匹配到A,然后再獲取到路徑<=2的節點
        dangleptr
        dangleptr
        不是特別準確, 圖數據庫是為了網絡結構的數據(比如社交網絡,資金網絡等)而專門設計的一類數據庫。 這類的數據庫有著自己獨特的數據組織形式, 以及自己獨特的查詢語句。 它并不是mysql中的一種存儲引擎, 而是一個獨立的產品,就像HBase與Mysql的關系一樣。
        0
        紅薯
        紅薯
        能評價一下 #arangodb# 嗎
        dangleptr
        dangleptr
        我對于arangodb了解的也并不多, 我們客戶有使用這款產品的, 聽他們介紹這是一款多模數據庫, 底層還是關系數據庫的數據組織形式, 只不過在上面封裝了一層graph的接口, 性能存在比較大的問題。
        0
        5G加ios
        5G加ios

        @dangleptr   Mysql分表和分區的區別 , 怎么思考什么時候應該使用mysql 分表  ,或是使用mysql分區?

        0
        5G加ios
        5G加ios

         @dangleptr   Nebula 和 Neo4j 的圖數據庫的優勢和劣勢? 為何要新開發使用Nebula ??

        dangleptr
        dangleptr
        Neo4j 是目前市面上知名度最高的圖數據庫, 是一款非常優秀的產品。 但是開源的Neo4j最大的問題在于它是一款單機數據庫, 擴展能力存在比較大的問題。 Nebula 是在互聯網公司的長期實踐中誕生的一款產品, 相比于Neo4j, nebula最大的特色便是分布式的架構, 擴展性要好很多。
        0
        wongkimshing
        wongkimshing
        可否評價一下#OrientDB#?之前用過,感覺還不錯,但某些場景性能特別差,例如count的時候
        dangleptr
        dangleptr
        看起來也是一款多模數據庫, 與arangodb類似?
        0
        crf1111
        crf1111

        @dangleptr 你好,最近在開發分布式任務處理系統,使用到了有向無環圖(DAG)的概念。請問,圖數據庫目前主要用于哪些應用場景。

         

        對于`nubula`,目前提供了幾種client庫,是否能兼容python-networkx中的Graph對象?

        dangleptr
        dangleptr
        圖數據庫主要應用于網絡結構數據的存儲與查詢, 比如在社交關系中, 查找一個人的N度好友(可以帶一些過濾條件), 用傳統的關系數據庫來搞,不僅性能不能滿足要求, 還會使用很復雜的sql描述, 對于用戶十分不友好。 而在圖數據庫中, 這樣的查詢就是一條語句而已。 當前nebula提供了go/java/c++ 的client, 對于其他語言可以直接使用thrift 生成相應的接口
        0
        書生小蘭
        書生小蘭
        @dangleptr 我司是傳統軟件行業,圖數據庫適合erp的應用場景嗎?
        0
        不好好上班天天發動彈
        不好好上班天天發動彈

        @dangleptr 文檔太少了,缺少自己的可視化操作及展示,目前我們用的是neo4j 因為他文檔比較多。

        dangleptr
        dangleptr
        謝謝您的反饋, 目前我們在盡力完善我們的文檔, 有些問題也可以直接加我們的微信群直接提問。
        0
        domicc
        domicc

        Neo4J 怎樣 求評價

        NebulaGraph
        NebulaGraph
        可以參見 dangleptr 上面對 Nebula 和 Neo4j 優劣勢對比的回復 Neo4j 是目前市面上知名度最高的圖數據庫, 是一款非常優秀的產品。 但是開源的Neo4j最大的問題在于它是一款單機數據庫, 擴展能力存在比較大的問題。 Nebula 是在互聯網公司的長期實踐中誕生的一款產品, 相比于Neo4j, nebula最大的特色便是分布式的架構, 擴展性要好很多。
        返回頂部
        頂部
        聚看影院