我們為什麼需要圖資料庫?

2021-01-10 CDA數據分析師

作者 | 宋文喆來源 | AI前線

當前,網際網路數據呈指數級增長,但是以更快速度增加的是數據之間的關係。企業的 CIO 和 CTO 不僅要管理大量數據,還要從現有的數據中挖掘商業價值,在這種情況下處理數據之間的關係比處理單個數據更為重要。

傳統的關係型資料庫,在處理複雜數據關係運算上表現很差,隨著數據量和深度的增加,關係型資料庫無法在有效的時間內計算出結果。所以,為了更好的利用數據間的連接,企業需要一種——將關係信息存儲為實體、靈活拓展數據模型的資料庫技術,這項技術就是圖資料庫(Graph Database)。

圖資料庫具有天然可解釋性

圖資料庫是基於圖模型,對圖數據進行存儲、操作和訪問的一項技術,即使沒有專業的圖論知識儲備,也能輕鬆理解。它可以接受比實時查詢更為複雜的分析需求,來挖掘圖數據中的潛在價值。從分類上來說,圖資料庫屬於 NoSQL 的一種。

圖模型是圖資料庫中的重要概念。圖模型由兩個要素組成:節點和邊。每個節點代表一個實體(一個人,地方,事物或其他數據),每條邊代表兩個節點之間的連接,這種通用結構可以對各種場景進行建模,如社交網絡以及由關係定義的任何其他事物。

例如:下面這個圖模型中包含 3 個節點:中國、四川、大熊貓。其中他們的兩條邊分別是:大熊貓是四川的特色、四川屬於中國。

圖模型的基礎要素:節點和邊

從上面的圖模型可以看出,圖資料庫的目標就是基於圖模型以一種直觀的方式模擬這些關係。因為是基於事物關係的模型表達,圖因此也具有天然的可解釋性。

圖資料庫在處理關聯數據時的優勢

與關係型資料庫相比,圖資料庫在處理關聯數據時有三個非常突出的技術優勢:

高性能:隨著數據量的增多和關聯深度的增加,傳統關係型資料庫受制於檢索時需要多個表之間連接操作,數據寫入時也需考慮外鍵約束,從而導致較大的額外開銷,產生嚴重的性能問題。而圖模型固有的數據索引結構,使得它的數據查詢與分析速度更快。靈活:圖資料庫有非常靈活的數據模型,使用者可以根據業務變化隨時調整數據模型,比如任意添加或刪除頂點、邊,擴充或者縮小圖模型這些都可以輕鬆實現,這種頻繁的 Schema 更改在關係型資料庫上不能到很好的支持。敏捷:圖資料庫的圖模型非常直觀,支持測試驅動開發模式,每次構建時可進行功能測試和性能測試,符合當今最流行的敏捷開發需求,對於提高生產和交付效率也有一定幫助。我們可以繼續擴展前面介紹到的圖模型用例,來展示圖資料庫的優勢。北京也屬於中國,長城位於北京,Tom 去過長城,火鍋店張師傅出生於四川,Tom 出生在中國喜歡大熊貓,張師傅在北京開店,Tom 是張師傅的顧客。

拓展後的圖模型

如果你是業務 / 產品工作人員,你一定希望你的產品或業務拓展到用戶的方方面面。如果你是開發人員你一定希望能夠簡單高效地描述這個紛繁複雜的世界。

在傳統的關係型資料庫中,要想進行關聯查詢,我們需要建立多少張表呢?國家、省 / 市、人、動物、地標、動物與省 / 市的關係、國家與省 / 市的關係、人與省 / 市的關係、人與人..... 粗算一下 至少十幾張表。

構建這些表倒沒什麼。但如果,現在我們需要查詢:在哪些城市上班的人最喜歡大熊貓?

首先需要關聯動物表、人員表、人喜歡的動物表,關聯這三張表就可以查到 Tom 喜歡大熊貓。但是接下來你還需要再關聯兩張表,找到他們在哪個地標工作,然後再關聯兩張表找到這些地標在哪個城市。等等,還沒完,你還得 group by 一下,再排個序。

你會發現這個查詢實在太難了!但這恰恰是數據分析師最基本的工作,也是大數據時代海量信息處理的一個縮影。而使用圖資料庫,我們可以輕易的描述和查詢上圖所示的關係。在處理複雜數據關係運算上,圖資料庫查詢效率遠高於關係型資料庫。

圖資料庫的應用場景

圖資料庫技術已經應用於現實生活中的方方面面,諸如 Google、Facebook 等科技巨頭已經開始使用圖資料庫的力量來蓬勃發展業務。據 Gartner 在《十大數據分析技術趨勢》預測,2012 年至 2022 年,全球圖處理及圖資料庫的應用都將以每年 100% 的速度迅猛增長。

如果說知識圖譜是圖資料庫的底層應用場景,充分利用了圖模型在存儲和查詢的優勢為多行業提供知識服務。那麼金融風控則是具有行業特點的高階應用場景。

知識圖譜

知識圖譜作為圖資料庫的底層應用,已服務於多種行業,包括:智能問答、搜索、個性化推薦等。以智能問答為例,產品主要分為聊天機器人、行業智能問答系統兩種。開放領域的知識圖譜能為聊天機器人提供廣泛知識,機器不僅能和使用者聊天還能提供日常知識。行業智能問答系統則使用行業知識圖譜,能夠為用戶有針對性的提供專業領域知識,在法律、醫療行業已得到運用。

在知識圖譜的應用落地上,主要有兩點因素影響著知識圖譜的質量和實現 -NLP 自然語言處理引擎、算法庫。NLP 自然語言處理引擎決定了 NLP 爬蟲平臺獲取數據的質量和數量,而這些原始數據作為知識圖譜的知識原料又決定了知識圖譜的水平。算法庫中的圖算法決定了圖構建、圖存儲和圖操作的能力,知識原料豐富而圖算法落後,依然不能構建出強大的知識圖譜。

金融反欺詐

圖資料庫通過利用多維交叉關聯信息深度刻畫申請和交易行為,可以有效識別規模化、隱蔽性的欺詐網絡和洗錢網絡;結合機器學習、聚類分析、風險傳播等相關算法,可以實時計算用戶的風險評分,在風險行為發生前預先識別,有效幫助金融機構提升效率、降低風險。應用圖資料庫的金融風控場景很多,例如個人信貸、洗錢路徑追蹤、個人 / 企業徵信等

基於圖資料庫在金融風控的優異表現,很多企業表示對這項技術的看好,在這之中也有一些前瞻性的企業已率先使用此技術並取得競爭性優勢。圖技術發展多年,這項技術仍然有很多企業沒有使用,是什麼原因阻礙了技術的推進?

首先是數據存儲的問題,在反洗錢的場景中,需對用戶的借記卡和信用卡數據存儲分析。在存儲時發現,僅 10 個月借記卡數據 +1 個月信用卡數據規模就有 5 個 T,這樣的數據量是過去圖資料庫無法支持的。

第二點是多步分析問題。在反洗錢應用場景中需要做到 3-10 步以上的分析,而目前的圖資料庫在企業級場景下,2 度到 3 度查詢時就會出現超時或者內存溢出的問題。這樣的性能對於欺詐甄別的幫助很小。

針對這些問題,圖資料庫廠商正在積極構建成熟的解決方案來滿足這兩點要求,市面上有越來越多高性能圖資料庫出現。目前,部分企業採取的替代方案是通過圖資料庫 + 大數據平臺的方式實現大數據量的效果,但是這樣的解決方案由於技術門檻較高無法輕易掌握。

工業領域

圖模型具有強大的表現力對於快速更新的事物有很強的適應性,在工業領域用來管理快速變化的庫存、供應鏈關係。目前已有沃爾沃等汽車製造商,依靠圖資料庫優化生產流程和供應鏈管理。

在製造業,供應鏈的管理涉及到多人協作和實時庫存信息的反饋,包括匯總後的信息和明細數據的查詢,查詢過程涉及實體很多且關係複雜。此時圖資料庫在面對這類深度關聯的場景時,優勢就顯現出來了,因為只需要通過邊的查詢就能找到相關聯的數據,而無需對某一頂點做全局掃描,圖資料庫能夠做到對於流入數據的實時更新和數據深度遍歷。

圖資料庫技術的架構

圖資料庫的技術架構如下圖所示,整體上採用分層架構的模式,由上至下分別是:接口層、計算層、存儲層。

圖資料庫的系統架構

(1)接口層:接口層對外提供服務,有如下幾種方式:

查詢語言接口:提供除該圖資料庫原有查詢語言之外的語言查詢,例如 Cypher、Gremlin 等主流圖查詢語言接口。API:提供 ODBC、JDBC、RPC、RESTful 等接口與應用端交互。SDK:在 Python、Java、C++ 等程式語言中通過庫函數的方式調用圖資料庫的接口。可視化組件:通過圖形化界面的形式展示和實現用戶的交互。(2)計算層:提供對操作的處理和計算,包括語法解析、查詢引擎、優化器、事務管理、任務調度和圖算法實現等。其中,圖算法可能是由圖資料庫本身提供,也可能是提供接口與圖處理引擎對接

(3)存儲層:圖資料庫有原生和非原生存儲兩種存儲方式,圖存儲引擎提供了圖數據結構、索引邏輯上的管理。

圖查詢語言標準統一代表市場認可度提升

與關係型資料庫不同,圖資料庫領域目前沒有統一的查詢語言,大多數查詢語言與產品緊密關聯。當企業需要使用新的圖數據時需要重新學習語法,這帶來了不必要的學習成本。是否擁有一個統一的查詢語言標準,也標誌著圖資料庫市場的成熟度。

在 2019 年 9 月 17 日,SQL 標準國際委員會投票決定,將 GQL 作為一種新的圖數據查詢標準語言。目前還無法確定 GQL 的第一個可實現版本,但很有可能在 2020 下半年會推出 GQL 圖查詢語言的完備草案。

查詢語言統一帶來的好處:

降低企業學習成本—前期的學習成果是能夠積累在將來發揮作用的。新的查詢語言不只是簡單的語法,還是一種新的語言使用思考方式。統一語言後,使用不同的圖資料庫將只意味工具不同,但是語言基礎是相通的。提升技術成熟度—企業不只擔心學習成本,更擔心的是整個技術的成熟程度。如果業界有一門統一的查詢語言,也就是當企業認為這種分析方式是穩定而成熟的,才會認可它。雲讓數據查詢和分析變得簡單易用目前將圖資料庫上雲的廠商並不多,少數圖資料庫廠商提供雲上圖資料庫部署,供數據科學家,開發人員,業務分析師,學生和其他愛好者使用。開發者可以在短時間裡通過簡單的步驟開啟基於圖的解決方案配置。

大數據時代時代的業務增長帶來了數據量的劇增和數據關聯的複雜化,與此同時企業對數據價值的期望也越來越高。根據 DB Engines 近 7 年資料庫流行趨勢顯示,圖資料庫相較其他主流資料庫受歡迎程度遙遙領先,目前,國內越來越多的廠商進入圖資料庫領域,開始構建自己的圖資料庫,圖資料庫的建設既需要全面的大數據技術又需要圖資料庫工程師和業務專家的持續協作,是一項長期持續的工作,未來,圖資料庫技術必將成為最為熱點的技術之一。

相關焦點

  • 為什麼需要圖資料庫?這篇文章為你介紹圖資料庫原理-數易軒
    數易軒致力於圖資料庫標註技術服務,為您介紹圖資料庫成為未來首選資料庫的必然理由。有充分的證據表明圖資料庫將成為2020年代的首選資料庫,圖資料庫從上世紀初就以各種各樣的形式出現了,但與關係型資料庫相比,圖資料庫的速度普遍較慢,工作比較複雜,適用性也比較有限。
  • 數易軒:圖資料庫的定義是什麼?圖資料庫如何設計
    學習完圖資料庫發展的契機,我們來學習下圖資料庫存儲方式和一種圖資料庫存儲層的設計探討。基於分布式 kv 之上的圖資料庫,對於大規模深度遍歷和計算,對於graph model 的支持,有其缺陷。圖資料庫需要有分類,我們需要明白討論的是哪一種。1. 實時在線圖資料庫,2. 線下圖資料庫,3. 大規模數學分析用圖資料庫。如果講到第 3 種,圖結構基於內存的方案有優勢。
  • 圖資料庫和關係型資料庫的比較
    為什麼要使用圖形資料庫,或者更具體地說是Neo4j作為我們資料庫選擇?人們在邏輯上通常很自然使用類似圖的結構來模擬或描述它們的特定問題域。權限控制就是一個例子。在許多企業應用程式中。您通常擁有用戶表,角色表和資源表。然後你會使用多對多關係表來將用戶映射到對應的角色和角色資源。
  • 為什麼 HugePages 可以提升資料庫性能
    為什麼這麼設計(Why’s THE Design)是一系列關於計算機領域中程序設計決策的文章,我們在這個系列的每一篇文章中都會提出一個具體的問題並從不同的角度討論這種設計的優缺點、對具體實現造成的影響。如果你有想要了解的問題,可以在文章下面留言。
  • 百度安全開源大規模圖資料庫HugeGraph
    圖 1 db-engines.com資料庫發展趨勢 圖資料庫是基於圖論的資料庫,其基本含義是以「圖」這種數據結構存儲和查詢數據。需要注意的是圖資料庫並不是存儲圖片的資料庫。百度安全對圖資料庫的需求非常多,例如金融安全業務希望使用圖資料庫進行金融反欺詐關聯分析、威脅情報業務希望通過圖資料庫進行黑產研究和情報分析、還有社交關係分析、知識圖譜等需求場景。我們也試用過包括TitanDB、Neo4j在內的多款圖資料庫產品,但由於各種原因無法滿足實際業務需求。在此背景下我們基於對安全業務的理解和自身業務需求,設計了HugeGraph圖資料庫系統。
  • 《人工智慧之圖資料庫》報告重磅發布
    1 什麼是圖資料庫 圖資料庫(Graph Database)是一個基於圖模型的在線資料庫管理系統,具有圖數據的創建(Create)、讀取(Retrieve)、更新(Update)和刪除(Delete)功能,簡稱CRUD。
  • 我們為什麼需要偏置電路?
    打開APP 我們為什麼需要偏置電路? 發表於 2019-09-09 09:09:07 運放為什麼需要偏置電路?
  • 字節跳動的圖資料庫研發實踐
    1、為什麼不選擇開源圖資料庫圖資料庫在 90 年代出現,直到最近幾年在數據爆炸的大趨勢下快速發展,百花齊放;但目前比較成熟的大部分都是面對傳統行業較小的數據集和較低的訪問吞吐場景,比如開源的 Neo4j 是單機架構;因此,在網際網路場景下,通常都是基於已有的基礎設施定製系統:比如 Facebook 基於 MySQL 系統封裝了 Social Graph 系統 TAO,幾乎承載了
  • STRING:蛋白相互作用資料庫的使用
    對於基因組數據分析而言的話,我們能用到網絡分析的就是蛋白相互作用分析(protein-protein ineraction, PPI)分析了。蛋白相互作用分析的資料庫有很多,至於為什麼選擇STRING,還是在於其強大的可視化,以及自定義功能。
  • 產品經理是否需要懂資料庫
    產品經理是否需要懂資料庫?如果需要,那麼可以通過哪些途徑學習?需要懂到什麼程度?產品經理確實應該懂些資料庫的知識。資料庫SQL語句個人覺得是性價比最高的一項技能,如果腦袋還算開竅,學習基本上沒有門檻,基本上最多1周時間就可以學會日常需要中的大部分SQL查詢語句。應該了解哪些資料庫知識?了解關係型資料庫、非關係型資料庫的關係、區別、優劣等,哪些資料庫屬於關係型資料庫,哪些資料庫又屬於非關係型。
  • 一個預後六張圖,這個寶藏資料庫,真捨不得拿出來!
    從網址和頁面右下角可以看出該資料庫由日本人於2009年最初研發,網頁最上方的標題就已經向我們展示了它的用途:PrognoScan: A new database for meta-analysis of the prognostic value of genes。劃重點,最重要的關鍵詞無疑是prognostic value。
  • 我們為什麼需要睡眠?
    但是,我們人類乃至其他生物為什麼一定要睡覺呢?這從進化上來說挺詭異的:甘願冒著生命危險,也要睡上一覺。匈牙利的研究人員發現,狗也會由於白天的積極或消極經歷影響到其晚上的睡眠。睡前經歷過負面或糟糕體驗的狗,夜間更容易醒來,這也就意味著它的睡眠壓力越大。
  • 資料庫是什麼?怎樣學習SQL Server資料庫?
    比如我們所熟悉的DHCP(動態分配ip)服務、全球資訊網(提供網站發布)服務等,本質上都是沒有界面的程序。為什麼要了解服務呢?因為資料庫就是一種服務。資料庫就是一種服務拿SQL Server資料庫來說,你下載、安裝SQL Server之後,系統服務中就會多出來好幾個和SQL Server相關的服務。
  • SQL Server跨伺服器操作資料庫?其實很簡單! - Excel教案
    為什麼要進行跨伺服器操作隨著數據量的增多,業務量的擴張,需要在不同的伺服器安裝不同的資料庫,有時候因為業務需要,將不同的伺服器中的數據進行整合,這時候就需要進行跨伺服器操作了。跨伺服器操作的工具是什麼?
  • 撰寫畢業論文需要的期刊資料庫
    ▶圖書查找   1、超星數字圖書館   超星數字圖書館目前擁有數字圖書200多萬冊,按照"中圖法"分為文學、歷史、法律、軍事、經濟、科學、醫藥、工程、建築、交通、計算機、環保等22個學科門類,是國內資源最豐富的數字圖書館。
  • OSDI重磅 螞蟻金服實時金融級分布式圖資料庫
    圖資料庫「明星」——螞蟻金服GeaBase眾所周知,近十年來,圖資料庫一直是業界關注的焦點,未來的前景也被普遍看好,其最大優點是通過節點和關聯的數據模型去快速解決複雜的關係問題。毫不誇張地說,圖資料庫是為當前豐富、快速變化的網際網路應用場景而生的,因為它非常善於處理大量的、複雜的、關聯的、多變的網狀數據,而且具備奇高的效率。由於圖資料庫擁有獨一無二的特性,因此它非常適合在社交網絡、實時推薦、銀行交易環路、金融徵信系統等領域應用。
  • 走近NoSQL資料庫的四大家族 深度解讀
    NoSQL顧名思義就是Not-Only SQL,它可以作為關係型資料庫的良好補充。在TechTarget資料庫之前的報導中,我們也對NoSQL資料庫的應用場景做了詳細的介紹。NoSQL 不像傳統的關係型資料庫,其種類繁多,且各有各的優勢和缺點,對於DBA來說如何區分彼此的不同是一件比較頭痛的工作。在本文中,我們就將進一步為您接受關於NoSQL資料庫的分類以及各自的優缺點。
  • 為什麼要使用 SQLite 資料庫?
    SQLite 是一個被大家低估的資料庫,但有些人認為它是一個不適合生產環境使用的玩具資料庫。事實上,SQLite 是一個非常可靠的資料庫,它可以處理 TB 級的數據,但它沒有網絡層。接下來,本文將與大家共同探討 SQLite 在過去一年中最新的 SQL 功能。
  • 嵌入式實時資料庫技術研究
    但是這種模型結構比較複雜,尤其當嵌入式系統規模增大時,其資料庫的結構變得非常龐大,可能會影響到系統的實時性能。圖3所示的是在相同數目的記錄下,關係模型和網狀模型的系統開銷比較,從圖中可以看出,網狀模型因為避免了索引操作使得其開銷要小於關係模型。
  • 最全的資料庫分類及實例介紹
    資料庫從字面上的理解就是數據的倉庫,其實我們平時說的資料庫是指資料庫管理系統(Database Management System),它是一種操縱和管理資料庫的大型軟體,用於建立、使用和維護資料庫,簡稱DBMS。嚴格來說資料庫是資料庫管理系統的實例,一個資料庫管理系統可以有多個資料庫實例。