複製鏈接
請複製以下鏈接發送給好友

Neo4j

(計算機科學術語)

鎖定
Neo4j是一個高性能的,NOSQL圖形數據庫,它將結構化數據存儲在網絡上而不是表中。它是一個嵌入式的、基於磁盤的、具備完全的事務特性的Java持久化引擎,但是它將結構化數據存儲在網絡(從數學角度叫做圖)上而不是表中。Neo4j也可以被看作是一個高性能的圖引擎,該引擎具有成熟數據庫的所有特性。程序員工作在一個面向對象的、靈活的網絡結構下而不是嚴格、靜態的表中——但是他們可以享受到具備完全的事務特性、企業級的數據庫的所有好處。
Neo4j因其嵌入式、高性能、輕量級等優勢,越來越受到關注.
中文名
Neo4j圖形數據庫
外文名
Neo4j
定    義
面向網絡的數據庫
類    型
一種非常高效的數據存儲結構
屬    性
計算機術語

目錄

Neo4j簡介

你可以把Neo看作是一個高性能的圖引擎,該引擎具有成熟和健壯的數據庫的所有特性。程序員工作在一個面向對象的、靈活的網絡結構下而不是嚴格、靜態的表中——但是他們可以享受到具備完全的事務特性、企業級的數據庫的所有好處。 [1] 
Neo是一個網絡——面向網絡數據庫——也就是説,它是一個嵌入式的、基於磁盤的、具備完全的事務特性的Java持久化引擎,但是它將結構化數據存儲在網絡上而不是表中。網絡(從數學角度叫做圖)是一個靈活的數據結構,可以應用更加敏捷和快速的開發模式。

Neo4j特點

1.對象關係的不匹配使得把面向對象的“圓的對象”擠到面向關係的“方的表”中是那麼的困難和費勁,而這一切是可以避免的。
2.關係模型靜態、剛性、不靈活的本質使得改變schemas以滿足不斷變化的業務需求是非常困難的。由於同樣的原因,當開發小組想應用敏捷軟件開發時,數據庫經常拖後腿。
3.關係模型很不適合表達半結構化的數據——而業界的分析家和研究者都認為半結構化數據是信息管理中的下一個重頭戲。
4.網絡是一種非常高效的數據存儲結構。人腦是一個巨大的網絡,萬維網也同樣構造成網狀,這些都不是巧合。關係模型可以表達面向網絡的數據,但是在遍歷網絡並抽取信息的能力上關係模型是非常弱的。
雖然Neo是一個比較新的開源項目,但它已經在具有1億多個節點、關係和屬性的產品中得到了應用,並且能滿足企業的健壯性和性能的需求:
完全支持JTA和JTS、2PC分佈式ACID事務、可配置的隔離級別和大規模、可測試的事務恢復。這些不僅僅是口頭上的承諾:Neo已經應用在高請求的24/7環境下超過3年了。它是成熟、健壯的,完全達到了部署的門檻。
圖:是指數據原理裏的樹集合成的網絡。
Neo4j是一個嵌入式,基於磁盤的,支持完整事務的Java持久化引擎,它在圖(網絡)中而不是表中存儲數據。Neo4j提供了大規模可擴展性,在一台機器上可以處理數十億節點/關係/屬性的圖,可以擴展到多台機器並行運行。相對於關係數據庫來説,圖數據庫善於處理大量複雜、互連接、低結構化的數據,這些數據變化迅速,需要頻繁的查詢——在關係數據庫中,這些查詢會導致大量的表連接,因此會產生性能上的問題。Neo4j重點解決了擁有大量連接的傳統RDBMS在查詢時出現的性能衰退問題。通過圍繞圖進行數據建模,Neo4j會以相同的速度遍歷節點與邊,其遍歷速度與構成圖的數據量沒有任何關係。此外,Neo4j還提供了非常快的圖算法、推薦系統和OLAP風格的分析,而這一切在目前的RDBMS系統中都是無法實現的。
由於使用了“面向網絡的數據庫”,人們對Neo充滿了好奇。在該模型中,以“節點空間”來表達領域數據——相對於傳統的模型表、行和列來説,節點空間是很多節點、關係和屬性(鍵值對)構成的網絡。關係是第一級對象,可以由屬性來註解,而屬性則表明了節點交互的上下文。網絡模型完美的匹配了本質上就是繼承關係的問題域,例如語義Web應用。Neo的創建者發現繼承和結構化數據並不適合傳統的關係數據庫模型:
參考資料