圖數據庫
數據庫替代品并不是新鮮事物,它們已經(jīng)以對象數據庫(OODBMS)、層次數據庫(如LDAP)等形式存在很長(cháng)時(shí)間了。但是,過(guò)去幾年間,出現了大量新項目,它們被統稱(chēng)為NOSQL數據庫(NOSQL-databases),而圖數據庫是NOSQL領(lǐng)域中,處理關(guān)系型數據的利器。
在NoSQL四種分類(lèi)中,圖數據庫從最近十年的表現來(lái)看已經(jīng)成為關(guān)注度最高,也是發(fā)展趨勢最明顯的數據庫類(lèi)型。下圖就是db-engines.com對最近三年來(lái)所有數據庫種類(lèi)發(fā)展趨勢的分析結果。

圖數據庫源起歐拉和圖理論,也可稱(chēng)為面向/基于圖的數據庫,對應的英文是Graph database。圖數據庫的基本含義是以“圖”這種數據結構存儲和查詢(xún)數據,不是存儲圖片的數據庫。它的數據模型主要是以節點(diǎn)和關(guān)系(邊)來(lái)體現,也可處理鍵值對。它的優(yōu)點(diǎn)是快速解決復雜的關(guān)系問(wèn)題。
圖具有如下特征:
◆ 它包含節點(diǎn)和邊。
◆ 節點(diǎn)上有屬性(鍵值對)。
◆ 邊有名字和方向,并總是有一個(gè)開(kāi)始節點(diǎn)和一個(gè)結束節點(diǎn)。
◆ 邊也可以有屬性。
說(shuō)得正式一些,圖可以說(shuō)是頂點(diǎn)和邊的集合,或者說(shuō)更簡(jiǎn)單一點(diǎn)兒,圖就是一些節點(diǎn)和關(guān)聯(lián)這些節點(diǎn)的聯(lián)系(relationship)的集合。圖將實(shí)體表現為節點(diǎn),實(shí)體與其他實(shí)體連接的方式表現為聯(lián)系。我們可以用這個(gè)通用的、富有表現力的結構來(lái)建模各種場(chǎng)景,從宇宙火箭的建造到道路系統,從食物的供應鏈及原產(chǎn)地追蹤到人們的病歷,甚至更多其他的場(chǎng)景。
一個(gè)簡(jiǎn)單的示例如下:

產(chǎn)品架構

我們的圖數據庫產(chǎn)品由4個(gè)模塊構成.分別是,查詢(xún)和計算模塊,數據加載模塊,操作維護接口以及引擎核心。

各模塊功能說(shuō)明如下:
◆ 查詢(xún)和計算:最終用戶(hù)用于在此語(yǔ)言基礎之上進(jìn)行圖的遍歷和查詢(xún),最終返回運行結果;如能提供RESTful API則能給開(kāi)發(fā)者提供不少便利之處;
◆ 操作和運維:用于系統實(shí)時(shí)監控,例如系統配置、安裝、升級、運行時(shí)監控,甚至包括可視化界面等;
◆ 數據加載:包括離線(xiàn)數據加載和在線(xiàn)數據加載,既可以是批量的數據加載,也可以是流數據加載方式;
◆ 引擎核心:主要包括圖存儲和圖處理引擎這兩個(gè)核心。圖處理引擎負責實(shí)時(shí)數據更新和執行圖運算;圖存儲負責將關(guān)系型數據及其他非結構化數據轉換成圖的存儲格式;HA服務(wù)負責處理處理數據容錯、數據一致性以及服務(wù)不間斷等功能。
圖數據庫適用場(chǎng)景


金融反欺詐

企業(yè)關(guān)系圖譜