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