華為云計(jì)算 云知識(shí) 什么是文檔數(shù)據(jù)庫(kù)
什么是文檔數(shù)據(jù)庫(kù)

   

Lotus通過(guò)其群件產(chǎn)品Notes提出了數(shù)據(jù)庫(kù)技術(shù)的全新概念" 文檔數(shù)據(jù)庫(kù) ",文檔數(shù)據(jù)庫(kù)區(qū)別于傳統(tǒng)的其它數(shù)據(jù)庫(kù),它是用來(lái)管理文檔。在傳統(tǒng)的數(shù)據(jù)庫(kù)中,信息被分割成離散的數(shù)據(jù)段,而在文檔數(shù)據(jù)庫(kù)中,文檔是處理信息的基本單位。一文檔可以很長(zhǎng)、很復(fù)雜、可以無(wú)結(jié)構(gòu),與字處理文檔類(lèi)似。一個(gè)文檔相當(dāng)于關(guān)系數(shù)據(jù)庫(kù)中的一條記錄。

面向文檔的數(shù)據(jù)庫(kù)是鍵值數(shù)據(jù)庫(kù)的子類(lèi)型,這是從NoSQL數(shù)據(jù)庫(kù)繼承的另一個(gè)概念。 它們之間的區(qū)別在于數(shù)據(jù)的處理方式:在鍵值數(shù)據(jù)庫(kù)中,數(shù)據(jù)對(duì)數(shù)據(jù)庫(kù)是不透明的; 而面向文檔的數(shù)據(jù)庫(kù)系統(tǒng)則依賴(lài)于文件的內(nèi)部結(jié)構(gòu),文件的內(nèi)部結(jié)構(gòu)會(huì)獲取元數(shù)據(jù)以進(jìn)一步優(yōu)化數(shù)據(jù)庫(kù)引擎。 盡管由于系統(tǒng)工具的不同,這種差異并不明顯,但在設(shè)計(jì)概念上,此文檔存儲(chǔ)方法使用了現(xiàn)代編程技術(shù)來(lái)提供更豐富的體驗(yàn)。

  文檔數(shù)據(jù)庫(kù)與傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)明顯不同。 關(guān)系數(shù)據(jù)庫(kù)通常將數(shù)據(jù)存儲(chǔ)在程序開(kāi)發(fā)人員定義的相互獨(dú)立的表中,并且單個(gè)對(duì)象可以分散在多個(gè)表中。 對(duì)于數(shù)據(jù)庫(kù)中單個(gè)實(shí)例中的給定對(duì)象,文檔數(shù)據(jù)庫(kù)存儲(chǔ)其所有信息,并且每個(gè)存儲(chǔ)的對(duì)象可以與任何其他對(duì)象不同。 這簡(jiǎn)化了對(duì)象到數(shù)據(jù)庫(kù)的映射,并且通常消除了類(lèi)似于對(duì)象關(guān)系映射的任何操作。 這也使文檔數(shù)據(jù)庫(kù)對(duì)網(wǎng)絡(luò)應(yīng)用程序更有價(jià)值,因?yàn)楹笳叩臄?shù)據(jù)一直在變化,而對(duì)于后者,部署速度是一個(gè)重要的問(wèn)題。

  文檔數(shù)據(jù)庫(kù)也不同于關(guān)系數(shù)據(jù)庫(kù)。 關(guān)系數(shù)據(jù)庫(kù)是高度結(jié)構(gòu)化的,而Notes文檔數(shù)據(jù)庫(kù)則允許創(chuàng)建許多不同類(lèi)型的非結(jié)構(gòu)化或任意格式的字段。 與關(guān)系數(shù)據(jù)庫(kù)的主要區(qū)別在于,它不提供參數(shù)完整性和分布式事務(wù)支持,但與關(guān)系數(shù)據(jù)庫(kù)不互斥,它們可以相互交換數(shù)據(jù)以相互補(bǔ)充和擴(kuò)展。