W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
OrientDB的主要特點(diǎn)是支持多模型對(duì)象,即它支持不同的模型,如文檔,圖形,鍵/值和真實(shí)對(duì)象。 它包含一個(gè)單獨(dú)的API來(lái)支持所有這四個(gè)模型。
術(shù)語(yǔ)Document模型屬于NoSQL數(shù)據(jù)庫(kù)。 這意味著數(shù)據(jù)存儲(chǔ)在文檔中,文檔組稱為集合。 技術(shù)上,文檔意味著一組鍵/值對(duì)或者也稱為字段或?qū)傩浴?/p>
OrientDB使用類,集群和鏈接等概念來(lái)存儲(chǔ),分組和分析文檔。
下表說(shuō)明了關(guān)系模型,文檔模型和OrientDB文檔模型之間的比較:
關(guān)系模型 | 文檔模型 | OrientDB文檔模型 |
---|---|---|
表 | 集合 | 級(jí)或集群 |
行 | 文件 | 文件 |
縱行 | 鍵/值對(duì) | 文檔字段 |
關(guān)系 | 不可用 | 鏈接 |
圖形數(shù)據(jù)結(jié)構(gòu)是可以以通過(guò)邊(Arc)互連的頂點(diǎn)(節(jié)點(diǎn))的形式存儲(chǔ)數(shù)據(jù)的數(shù)據(jù)模型。 OrientDB圖數(shù)據(jù)庫(kù)的想法來(lái)自屬性圖。 頂點(diǎn)和邊是Graph模型的主要工件。 它們包含屬性,這些屬性可以使它們看起來(lái)類似于文檔。
下表顯示了圖形模型,關(guān)系數(shù)據(jù)模型和OrientDB圖形模型之間的比較。
關(guān)系模型 | 圖模型 | OrientDB圖模型 |
---|---|---|
表 | 頂點(diǎn)和邊緣階層 | 延伸“V”(用于頂點(diǎn))和“E”(用于邊緣) |
行 | 頂點(diǎn) | 頂點(diǎn) |
縱行 | 頂點(diǎn)和邊屬性 | 頂點(diǎn)和邊屬性 |
關(guān)系 | 邊緣 | 邊緣 |
鍵/值模型意味著數(shù)據(jù)可以以鍵/值對(duì)的形式存儲(chǔ),其中值可以是簡(jiǎn)單和復(fù)雜類型。 它可以支持文檔和圖形元素作為值。
下表說(shuō)明了關(guān)系模型,鍵/值模型和OrientDB鍵/值模型之間的比較。
關(guān)系模型 | 鍵/值模型 | OrientDB鍵/值模型 |
---|---|---|
表 | 桶 | 類或集群 |
行 | 鍵/值對(duì) | 文件 |
縱行 | 不可用 | 文檔字段或頂點(diǎn)/邊緣屬性 |
關(guān)系 | 不可用 | 鏈接 |
這種模式已經(jīng)由面向?qū)ο蟮某绦蛟O(shè)計(jì)繼承,并支持類之間的繼承 (子類型擴(kuò)展超類型), 多態(tài)性 ,當(dāng)你引用一個(gè)基類, 直接從綁定 /編程語(yǔ)言中使用的對(duì)象。
下表說(shuō)明關(guān)系模型,對(duì)象模型,以及OrientDB對(duì)象模型之間的比較。
關(guān)系模型 | 對(duì)象模型 | OrientDB對(duì)象模型 |
---|---|---|
表 | 類 | 級(jí)或集群 |
行 | 目的 | 文檔或頂點(diǎn) |
縱行 | Object屬性 | 文檔字段或頂點(diǎn)/邊屬性 |
關(guān)系 | 指針 | 鏈接 |
在詳細(xì)介紹之前,最好先了解與OrientDB相關(guān)的基本術(shù)語(yǔ)。以下是一些重要的術(shù)語(yǔ)。
您可以從數(shù)據(jù)庫(kù)加載并存儲(chǔ)在數(shù)據(jù)庫(kù)中的最小單位。記錄可以存儲(chǔ)四種類型。
1、文件
2、記錄字節(jié)
3、頂點(diǎn)
4、邊緣
當(dāng)OrientDB生成記錄時(shí),數(shù)據(jù)庫(kù)服務(wù)器自動(dòng)為記錄分配單位標(biāo)識(shí)符,稱為RecordID(RID)。 RID看起來(lái)像#:。 表示集群標(biāo)識(shí)號(hào),表示集群中記錄的絕對(duì)位置。
文檔是OrientDB中最靈活的記錄類型。文檔是軟類型的,并且由具有定義的約束的模式類定義,但是您也可以插入沒(méi)有任何模式的文檔,即它也支持無(wú)模式模式。
文檔可以通過(guò)以JSON格式導(dǎo)出和導(dǎo)入輕松處理。例如,查看以下JSON示例文檔。它定義文檔詳細(xì)信息。
{ "id" : "1201", "name" : "Jay", "job" : "Developer", "creations" : [ { "name" : "Amiga", "company" : "Commodore Inc." }, { "name" : "Amiga 500", "company" : "Commodore Inc." } ] }
記錄類型與RDBMS中的BLOB類型相同。 OrientDB可以加載和存儲(chǔ)文檔記錄類型以及二進(jìn)制數(shù)據(jù)。
OrientDB數(shù)據(jù)庫(kù)不僅是一個(gè)文檔數(shù)據(jù)庫(kù),而且是一個(gè)圖形數(shù)據(jù)庫(kù)。諸如Vertex和Edge的新概念用于以圖形的形式存儲(chǔ)數(shù)據(jù)。在圖數(shù)據(jù)庫(kù)中,最基本的數(shù)據(jù)單位是節(jié)點(diǎn),在OrientDB中稱為頂點(diǎn)。頂點(diǎn)存儲(chǔ)數(shù)據(jù)庫(kù)的信息。
有一個(gè)單獨(dú)的記錄類型稱為Edge,將一個(gè)頂點(diǎn)連接到另一個(gè)頂點(diǎn)。邊是雙向的,只能連接兩個(gè)頂點(diǎn)。在OrientDB中有兩種類型的邊,一種是規(guī)則的,另一種是輕量的。
該類是一種數(shù)據(jù)模型和從面向?qū)ο缶幊谭独L制的概念?;趥鹘y(tǒng)文檔數(shù)據(jù)庫(kù)模型,數(shù)據(jù)以收集的形式存儲(chǔ),而在關(guān)系數(shù)據(jù)庫(kù)中,模型數(shù)據(jù)存儲(chǔ)在表中。 OrientDB遵循文檔API以及OPPS范例。作為一個(gè)概念,OrientDB中的類與關(guān)系數(shù)據(jù)庫(kù)中的表具有最接近的關(guān)系,但是(與表不同)類可以是無(wú)模式的,模式完整的或混合的。類可以從其他類繼承,創(chuàng)建類的樹(shù)。每個(gè)類都有自己的一個(gè)或多個(gè)集群(默認(rèn)情況下創(chuàng)建,如果沒(méi)有定義)。
集群是用于存儲(chǔ)記錄,文檔或頂點(diǎn)的重要概念。簡(jiǎn)單來(lái)說(shuō),Cluster是存儲(chǔ)一組記錄的地方。默認(rèn)情況下,OrientDB將為每個(gè)類創(chuàng)建一個(gè)集群。類的所有記錄都存儲(chǔ)在與該類具有相同名稱的同一集群中。您可以在數(shù)據(jù)庫(kù)中創(chuàng)建多達(dá)32,767(2 ^ 15-1)個(gè)集群。
CREATE類是用于創(chuàng)建具有特定名稱的集群的命令。創(chuàng)建集群后,可以使用集群通過(guò)在創(chuàng)建任何數(shù)據(jù)模型期間指定名稱來(lái)保存記錄。
OrientDB支持兩種關(guān)系:引用和嵌入。引用關(guān)系意味著它存儲(chǔ)到關(guān)系的目標(biāo)對(duì)象的直接鏈接。嵌入關(guān)系意味著它在嵌入它的記錄中存儲(chǔ)關(guān)系。這種關(guān)系比參考關(guān)系更強(qiáng)。
數(shù)據(jù)庫(kù)是訪問(wèn)實(shí)際存儲(chǔ)的接口。 IT了解高級(jí)概念,例如查詢,模式,元數(shù)據(jù),索引等。 OrientDB還提供多種數(shù)據(jù)庫(kù)類型。有關(guān)這些類型的更多信息,請(qǐng)參閱數(shù)據(jù)庫(kù)類型。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: