一部分Neo4j的記錄

Neo4j 爲什麼需要圖數據庫

隨着技術的發展,我們對數據的需求已經不再侷限於對數據本身的獲取了,我們還需要獲取數據與數據間的關係(也就是連接數據).
簡單地說,我們可以說圖數據庫主要用於存儲更多的連接數據(因爲圖結構相比其他數據結構而言,能保存更多的數據間的關係).
如果我們使用RDBMS數據庫來存儲更多連接的數據,那麼它們不能提供用於遍歷大量數據的適當性能.在這些情況下,Graph Database提高了應用程序性能.
如今,大多數社交網絡應用程序(如Facebook,Google+,Linkedln,Twitter,Yammer等)和視頻託管應用程序(如Goggle Youtube,Flickr,Yahoo Video等)都在使用更多連接的數據.
我們將觀察什麼是連接數據?以及這些應用程序如何與某些實時應用程序存儲數據.

Neo4j的特點:

  • SQL就像簡單的查詢語言Neo4j CQL
  • 它遵循屬性圖數據模型
  • 它通過使用Apache Lucence支持索引
  • 它支持UNIQUE約束
  • 它包含一個用於執行CQL命令的UI: Neo4j數據瀏覽器
  • 它支持完整的ACID (原子性,一致性,隔離性和持久性)規則
  • 它採用原生圖形庫與本地GPE (圖形處理引擎)
  • 它支持查詢的數據導出到JSON和XLS格式
  • 它提供了REST API,可以被任何編程語言 (如Java,Spring,Scala等)訪問
  • 它提供了可以通過任何UI MVC框架 (如Node JS) 訪問的Java腳本
  • 它支持兩種Java API: Cypher API和Native Java API來開發Java應用程序

Neo4j的優點:

  • 它很容易表示連接的數據
  • 檢索/遍歷/導航更多的連接數據是非常容易和快速的
  • 它非常容易地表示半結構化數據
  • Neo4j CQL查詢語言命令是人性化的可讀格式,非常容易學習
  • 使用簡單而強大的數據模型
  • 它不需要複雜的連接來檢索連接的/相關的數據,因爲它很容易檢索它的相鄰節點或關係細節沒有連接或索引

Neo4j 屬性圖數據模型
屬性圖模型規則

  • 表示節點,關係和屬性中的數據
  • 節點和關係都包含屬性
  • 關係連接節點
  • 屬性是鍵值對
  • 節點用圓圈表示,關係用方向鍵表示
  • 關係具有方向: 單向和雙向
  • 每個關係包含“開始節點”或“從節點”和“到節點”或“結束節點”
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章