
- Neo4j CQL
- Neo4j CQL - 簡介
- Neo4j CQL - 建立節點
- Neo4j CQL - 建立關係
- Neo4j CQL 寫入子句
- Neo4j - 合併命令
- Neo4j - 設定子句
- Neo4j - 刪除子句
- Neo4j - 移除子句
- Neo4j - 迴圈子句
- Neo4j CQL 讀取子句
- Neo4j - 匹配子句
- Neo4j - 可選匹配子句
- Neo4j - 條件子句
- Neo4j - 計數函式
- Neo4j CQL 通用子句
- Neo4j - 返回子句
- Neo4j - 排序子句
- Neo4j - 限制子句
- Neo4j - 跳過子句
- Neo4j - With 子句
- Neo4j - Unwind 子句
- Neo4j CQL 函式
- Neo4j - 字串函式
- Neo4j - 聚合函式
- Neo4j CQL 管理
- Neo4j - 備份和恢復
- Neo4j - 索引
- Neo4j - 建立唯一約束
- Neo4j - 刪除唯一約束
- Neo4j 有用資源
- Neo4j - 快速指南
- Neo4j - 有用資源
- Neo4j - 討論
Neo4j - 概述
Neo4j 是全球領先的開源圖資料庫,使用 Java 技術開發。它具有高度可擴充套件性和無模式特性(NoSQL)。
什麼是圖資料庫?
圖是一種物件集合的圖形表示,其中某些物件對由連結連線。它由兩個元素組成 - 節點(頂點)和關係(邊)。
圖資料庫是一種用於以圖的形式建模資料的資料庫。在這裡,圖的節點表示實體,而關係表示這些節點的關聯。
流行的圖資料庫
Neo4j 是一種流行的圖資料庫。其他圖資料庫包括 Oracle NoSQL 資料庫、OrientDB、HypherGraphDB、GraphBase、InfiniteGraph 和 AllegroGraph。
為什麼要使用圖資料庫?
如今,大部分資料都以不同物件之間關係的形式存在,而且很多時候,資料之間的關係比資料本身更有價值。
關係資料庫儲存高度結構化的資料,這些資料包含儲存相同型別資料的多個記錄,因此它們可用於儲存結構化資料,但它們不儲存資料之間的關係。
與其他資料庫不同,圖資料庫將關係和連線作為一等實體儲存。
圖資料庫的資料模型比其他資料庫更簡單,並且可以與 OLTP 系統一起使用。它們提供諸如事務完整性和操作可用性等功能。
RDBMS 與圖資料庫
下表比較了關係資料庫和圖資料庫。
序號 | RDBMS | 圖資料庫 |
---|---|---|
1 | 表 | 圖 |
2 | 行 | 節點 |
3 | 列和資料 | 屬性及其值 |
4 | 約束 | 關係 |
5 | 連線 | 遍歷 |
Neo4j 的優勢
以下是 Neo4j 的優勢。
靈活的資料模型 - Neo4j 提供了一個靈活、簡單且功能強大的資料模型,可以根據應用程式和行業輕鬆更改。
即時洞察 - Neo4j 提供基於即時資料的成果。
高可用性 - Neo4j 對於大型企業即時應用程式具有很高的可用性,並提供事務保證。
連線和半結構化資料 - 使用 Neo4j,您可以輕鬆地表示連線和半結構化資料。
輕鬆檢索 - 使用 Neo4j,與其他資料庫相比,您不僅可以表示連線資料,還可以更輕鬆地更快地檢索(遍歷/導航)連線資料。
Cypher 查詢語言 - Neo4j 提供了一種宣告式查詢語言,可以使用 ASCII 藝術語法直觀地表示圖形。此語言的命令採用人類可讀格式,非常易於學習。
無需連線 - 使用 Neo4j,無需複雜的連線來檢索連線/相關資料,因為它很容易檢索其相鄰節點或關係詳細資訊,而無需連線或索引。
Neo4j 的特性
以下是 Neo4j 的一些顯著特性 -
資料模型(靈活模式) - Neo4j 遵循名為原生屬性圖模型的資料模型。在這裡,圖包含節點(實體),這些節點彼此連線(由關係表示)。節點和關係以鍵值對的形式儲存資料,稱為屬性。
在 Neo4j 中,無需遵循固定模式。您可以根據需要新增或刪除屬性。它還提供模式約束。
ACID 屬性 - Neo4j 支援完整的 ACID(原子性、一致性、隔離性和永續性)規則。
可擴充套件性和可靠性 - 您可以透過增加讀/寫次數和資料量來擴充套件資料庫,而不會影響查詢處理速度和資料完整性。Neo4j 還支援複製以確保資料安全性和可靠性。
Cypher 查詢語言 - Neo4j 提供了一種功能強大的宣告式查詢語言,稱為 Cypher。它使用 ASCII 藝術來描述圖形。Cypher 易於學習,可用於建立和檢索資料之間的關係,而無需使用諸如連線之類的複雜查詢。
內建 Web 應用程式 - Neo4j 提供了一個內建的Neo4j 瀏覽器 Web 應用程式。使用它,您可以建立和查詢您的圖形資料。
驅動程式 - Neo4j 可以與 -
REST API 結合使用,以使用 Java、Spring、Scala 等程式語言。
JavaScript 結合使用,以使用 Node JS 等 UI MVC 框架。
它支援兩種 Java API:Cypher API 和原生 Java API 以開發 Java 應用程式。除此之外,您還可以使用其他資料庫,例如 MongoDB、Cassandra 等。
索引 - Neo4j 使用 Apache Lucene 支援索引。