OrientDB基本概念

OrientDB的主要功能是支持多模型對象,即支持不同的模型,如文檔,圖形,鍵/值和實體對象。 它包含一個單獨的API來支持所有這四種模型。

文檔模型

術語文檔模型屬於NoSQL資料庫。 這意味著數據存儲在文檔中,並且該組文檔被稱為集合。 從技術上講,文檔表示一組鍵/值對或者也稱為字段或屬性。

OrientDB使用類,簇和鏈接等概念來存儲,分組和分析文檔。

下表說明了關係模型,文檔模型和OrientDB文檔模型之間的比較 -

關係模型 文檔模型 OrientDB文檔模型
集合 類或簇
文檔 文檔
鍵/值對 文檔字段
關係 無法使用 鏈接

圖模型

圖形數據結構是一種數據模型,可以按照邊(弧)互連的頂點(節點)形式存儲數據。 OrientDB圖形資料庫的思想來自屬性圖。 頂點和邊是Graph模型的主要構件。 它們包含的屬性可以使這些屬性與文檔類似。

下表顯示了圖形模型,關係數據模型和OrientDB圖形模型之間的比較。

關係模型 圖模型 OrientDB圖形模型
頂點和邊緣類 擴展“V”(用於頂點)和“E”(用於邊緣)的類
頂點 頂點
頂點和邊緣屬性 頂點和邊緣屬性
關係 邊緣 邊緣

鍵/值模型

鍵/值模型意味著數據可以以鍵/值對的形式存儲,其中值可以是簡單和複雜的類型。 它可以支持文檔和圖形元素作為值。

下表說明了關係模型,鍵/值模型和OrientDB鍵/值模型之間的比較。

關係模型 鍵/值模型 OrientDB鍵/值模型
Bucket 類或集群
鍵/值對 文檔
不可用 文檔字段或頂點/邊緣屬性
關係 不可用 鏈接

對象模型

此模型已由面向對象編程繼承,並支持類型之間的繼承(子類型擴展超類型),引用基類時的多態性和編程語言中使用的對象之間的直接綁定。

下表說明了關係模型,對象模型和OrientDB對象模型之間的比較。

關係模型 對象模型 OrientDB對象模型
類或簇
對象 文檔或頂點
對象屬性 文檔字段或頂點/邊緣屬性
關係 指針 鏈接

在詳細介紹之前,最好瞭解與OrientDB相關的基本術語。 以下是一些重要的術語。

記錄

可以從資料庫中加載並存儲的最小單位。 記錄可以存儲在四種類型中。

  • 記錄位元組
  • 頂點
  • 邊緣

記錄ID

OrientDB生成記錄時,資料庫伺服器會自動為記錄分配一個單元識別字,稱為RecordID(RID)。 RID看起來像#<cluster>:<position><cluster>表示簇標識號,<position>表示簇中記錄的絕對位置。

文檔

文檔是OrientDB中最靈活的記錄類型。 文檔是軟輸入的,由具有已定義約束的模式類定義,但您也可以在不使用任何模式的情況下插入文檔,即它也支持無模式模式。

可以通過導出和導入JSON格式輕鬆處理文檔。 例如,看看下麵的JSON示例文檔。 它定義了文檔的詳細資訊。

{
   "id"        : "1201",
   "name"      : "Jay",
   "job"       : "Developer",
   "creations" : [
      {
         "name"    : "Amiga",
         "company" : "Commodore Inc."
      },

      {
         "name"    : "Amiga 500",
         "company" : "Commodore Inc."
      }
   ]
}

RecordBytes

記錄類型與RDBMS中的BLOB類型相同。 OrientDB可以加載和存儲文檔記錄類型以及二進位數據。

頂點
OrientDB資料庫不僅是一個文檔資料庫,也是一個圖形資料庫。 VertexEdge等新概念用於以圖形的形式存儲數據。 在圖形資料庫中,最基本的數據單元是節點,它在OrientDB中稱為頂點。 頂點存儲資料庫的資訊。

邊緣

有一個獨立的記錄類型稱為Edge,它將一個頂點連接到另一個頂點。 邊是雙向的,只能連接兩個頂點。 OrientDB中有兩種邊緣類型,一種是常規的,另一種是羽量級的。

該類是一種數據模型和從面向對象編程範例中繪製的概念。 基於傳統的文檔資料庫模型,數據以集合的形式存儲,而在關係資料庫模型中,數據存儲在表中。 OrientDB遵循Document API和OPPS範例。 作為一個概念,OrientDB中的類與關係資料庫中的表有最密切的關係,但是(不像表)類可以是無模式,全模式或混合的。 類可以從其他類繼承,創建類的樹。 每個類都有自己的一個或多個集群(如果沒有定義,則默認創建)。


集群是用於存儲記錄,文檔或頂點的重要概念。 簡而言之,Cluster是存儲一組記錄的地方。 默認情況下,OrientDB將為每個類創建一個群集。 一個類的所有記錄都存儲在與該類具有相同名稱的同一個群集中。最多可以在資料庫中創建32,767(2 ^ 15-1)個群集。

CREATE類是用於創建具有特定名稱的集群的命令。 創建群集後,可以使用群集通過在創建任何數據模型期間指定名稱來保存記錄。

關係

OrientDB支持兩種關係:引用和嵌入。 引用關係意味著它存儲與關係的目標對象的直接鏈接。 嵌入式關係意味著它將關係存儲在嵌入它的記錄中。 這種關係比參考關係更強。

資料庫
資料庫是訪問真實存儲的介面。 IT人員理解高級概念,如查詢,模式,元數據,索引等。 OrientDB還提供多種資料庫類型。 有關這些類型的更多資訊,請參閱資料庫類型。


上一篇: OrientDB安裝 下一篇: OrientDB數據類型