
- OrientDB 教程
- OrientDB - 首頁
- OrientDB - 概述
- OrientDB - 安裝
- OrientDB - 基本概念
- OrientDB - 資料型別
- OrientDB - 控制檯模式
- OrientDB 資料庫命令
- OrientDB - 建立資料庫
- OrientDB - 修改資料庫
- OrientDB - 備份資料庫
- OrientDB - 恢復資料庫
- OrientDB - 連線資料庫
- OrientDB - 斷開資料庫連線
- OrientDB - 資料庫資訊
- OrientDB - 列出資料庫
- OrientDB - 凍結資料庫
- OrientDB - 解凍資料庫
- OrientDB - 配置資料庫
- OrientDB - 匯出資料庫
- OrientDB - 匯入資料庫
- OrientDB - 提交資料庫
- OrientDB - 回滾資料庫
- OrientDB - 最佳化資料庫
- OrientDB - 刪除資料庫
- OrientDB 記錄命令
- OrientDB - 插入記錄
- OrientDB - 顯示記錄
- OrientDB - 載入記錄
- OrientDB - 重新載入記錄
- OrientDB - 匯出記錄
- OrientDB - 更新記錄
- OrientDB - 清空記錄
- OrientDB - 刪除記錄
- OrientDB 類命令
- OrientDB - 建立類
- OrientDB - 修改類
- OrientDB - 清空類
- OrientDB - 刪除類
- OrientDB 叢集命令
- OrientDB - 建立叢集
- OrientDB - 修改叢集
- OrientDB - 清空叢集
- OrientDB - 刪除叢集
- OrientDB 屬性命令
- OrientDB - 建立屬性
- OrientDB - 修改屬性
- OrientDB - 刪除屬性
- OrientDB 頂點命令
- OrientDB - 建立頂點
- OrientDB - 移動頂點
- OrientDB - 刪除頂點
- OrientDB 邊命令
- OrientDB - 建立邊
- OrientDB - 更新邊
- OrientDB - 刪除邊
- OrientDB 高階概念
- OrientDB - 函式
- OrientDB - 序列
- OrientDB - 索引
- OrientDB - 事務
- OrientDB - 鉤子
- OrientDB - 快取
- OrientDB - 日誌
- OrientDB - 效能調優
- OrientDB - 升級
- OrientDB - 安全性
- OrientDB - Studio
- OrientDB 介面
- OrientDB - Java 介面
- OrientDB - Python 介面
- OrientDB 有用資源
- OrientDB - 快速指南
- OrientDB - 有用資源
- OrientDB - 討論
OrientDB - 基本概念
OrientDB 的主要特點是支援多模型物件,即它支援不同的模型,例如文件、圖、鍵/值和真實物件。它包含一個單獨的 API 來支援所有這四種模型。
文件模型
術語“文件模型”屬於 NoSQL 資料庫。這意味著資料儲存在文件中,文件組稱為集合。從技術上講,文件意味著一組鍵/值對,也稱為欄位或屬性。
OrientDB 使用類、叢集和連結等概念來儲存、分組和分析文件。
下表說明了關係模型、文件模型和 OrientDB 文件模型之間的比較:
關係模型 | 文件模型 | OrientDB 文件模型 |
---|---|---|
表 | 集合 | 類或叢集 |
行 | 文件 | 文件 |
列 | 鍵/值對 | 文件欄位 |
關係 | 不可用 | 連結 |
圖模型
圖資料結構是一種可以以頂點(節點)和邊(弧)互連的形式儲存資料的模型。OrientDB 圖資料庫的思想源於屬性圖。頂點和邊是圖模型的主要構件。它們包含屬性,這可以使它們看起來類似於文件。
下表顯示了圖模型、關係資料模型和 OrientDB 圖模型之間的比較。
關係模型 | 圖模型 | OrientDB 圖模型 |
---|---|---|
表 | 頂點和邊類 | 擴充套件“V”(頂點)和“E”(邊)的類 |
行 | 頂點 | 頂點 |
列 | 頂點和邊屬性 | 頂點和邊屬性 |
關係 | 邊 | 邊 |
鍵/值模型
鍵/值模型意味著資料可以以鍵/值對的形式儲存,其中值可以是簡單型別或複雜型別。它可以支援文件和圖元素作為值。
下表說明了關係模型、鍵/值模型和 OrientDB 鍵/值模型之間的比較。
關係模型 | 鍵/值模型 | OrientDB 鍵/值模型 |
---|---|---|
表 | 桶 | 類或叢集 |
行 | 鍵/值對 | 文件 |
列 | 不可用 | 文件欄位或頂點/邊屬性 |
關係 | 不可用 | 連結 |
物件模型
此模型繼承自面向物件程式設計,支援型別之間的繼承(子型別擴充套件超型別)、多型性(當您引用基類時)和與程式語言中使用的物件的直接繫結。
下表說明了關係模型、物件模型和 OrientDB 物件模型之間的比較。
關係模型 | 物件模型 | OrientDB 物件模型 |
---|---|---|
表 | 類 | 類或叢集 |
行 | 物件 | 文件或頂點 |
列 | 物件屬性 | 文件欄位或頂點/邊屬性 |
關係 | 指標 | 連結 |
在詳細介紹之前,最好了解與 OrientDB 相關的基本術語。以下是一些重要的術語。
記錄
您可以從資料庫載入和儲存的最小單元。記錄可以儲存為四種類型。
- 文件
- 記錄位元組
- 頂點
- 邊
記錄 ID
當 OrientDB 生成記錄時,資料庫伺服器會自動為記錄分配一個單元識別符號,稱為 RecordID (RID)。RID 類似於 #<叢集>:<位置>。<叢集> 表示叢集標識號,<位置> 表示記錄在叢集中的絕對位置。
文件
文件是 OrientDB 中最靈活的記錄型別。文件是弱型別的,由具有定義約束的模式類定義,但您也可以在沒有模式的情況下插入文件,即它也支援無模式模式。
文件可以輕鬆地以 JSON 格式匯出和匯入。例如,請檢視以下 JSON 示例文件。它定義了文件詳細資訊。
{ "id" : "1201", "name" : "Jay", "job" : "Developer", "creations" : [ { "name" : "Amiga", "company" : "Commodore Inc." }, { "name" : "Amiga 500", "company" : "Commodore Inc." } ] }
記錄位元組
記錄型別與 RDBMS 中的 BLOB 型別相同。OrientDB 可以與二進位制資料一起載入和儲存文件記錄型別。
頂點
OrientDB 資料庫不僅是文件資料庫,也是圖資料庫。頂點和邊等新概念用於以圖的形式儲存資料。在圖資料庫中,最基本的單元是節點,在 OrientDB 中稱為頂點。頂點儲存資料庫的資訊。
邊
有一種名為邊的單獨記錄型別,用於連線一個頂點到另一個頂點。邊是雙向的,只能連線兩個頂點。OrientDB 中有兩種型別的邊,一種是常規邊,另一種是輕量級邊。
類
類是一種資料模型型別,其概念源自面向物件程式設計正規化。基於傳統的文件資料庫模型,資料儲存在集合中,而在關係資料庫模型中,資料儲存在表中。OrientDB 遵循文件 API 和 OOP 正規化。作為一個概念,OrientDB 中的類與關係資料庫中的表關係最密切,但是(與表不同)類可以是無模式的、全模式的或混合的。類可以繼承自其他類,建立類樹。每個類都有自己的叢集或叢集(如果沒有定義,則預設建立)。
叢集
叢集是一個重要的概念,用於儲存記錄、文件或頂點。簡單來說,叢集是一個儲存一組記錄的地方。預設情況下,OrientDB 將為每個類建立一個叢集。一個類的所有記錄都儲存在與該類同名的同一個叢集中。您可以在資料庫中建立最多 32,767 (2^15-1) 個叢集。
CREATE class 命令用於建立具有特定名稱的叢集。建立集群后,您可以透過在建立任何資料模型時指定名稱來使用該叢集儲存記錄。
關係
OrientDB 支援兩種關係:引用和嵌入。引用關係表示它儲存指向關係的目標物件的直接連結。嵌入關係表示它在嵌入它的記錄記憶體儲關係。這種關係比引用關係更強。
資料庫
資料庫是訪問真實儲存的介面。它理解諸如查詢、模式、元資料、索引等高階概念。OrientDB 還提供多種資料庫型別。有關這些型別的更多資訊,請參見資料庫型別。