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 還提供多種資料庫型別。有關這些型別的更多資訊,請參見資料庫型別。

廣告