關系型數(shu)據庫(ku)是(shi)主流的(de)(de)數(shu)據存儲形式(shi),曾作為數(shu)據持(chi)久化(hua)領(ling)域的(de)(de)唯一(yi)可選方案,但是(shi)現在有多(duo)種(zhong)(zhong)不同的(de)(de)數(shu)據庫(ku),每一(yi)種(zhong)(zhong)都代表了(le)不同形式(shi)的(de)(de)數(shu)據,并提供了(le)適應多(duo)種(zhong)(zhong)領(ling)域模型的(de)(de)功(gong)能。
1.MongoDB:最流行的開(kai)源文檔數據庫之一
有一(yi)些(xie)(xie)數(shu)(shu)據(ju)的(de)(de)(de)最佳表(biao)現(xian)形式(shi)是(shi)文(wen)檔(dang)(dang),也(ye)就(jiu)是(shi)說,不要把(ba)這些(xie)(xie)數(shu)(shu)據(ju)分散到(dao)多個表(biao)、節點或實(shi)體(ti)中,將這些(xie)(xie)信息收集到(dao)一(yi)個非規范化(也(ye)就(jiu)是(shi)文(wen)檔(dang)(dang))的(de)(de)(de)結構中會更有意(yi)義。盡管文(wen)檔(dang)(dang)之間可能(neng)彼此有關(guan)聯,但是(shi)通常來(lai)講(jiang),文(wen)檔(dang)(dang)是(shi)獨立的(de)(de)(de)實(shi)體(ti)。能(neng)夠按照(zhao)這種方式(shi)優化并處理文(wen)檔(dang)(dang)的(de)(de)(de)數(shu)(shu)據(ju)庫(ku)稱之為文(wen)檔(dang)(dang)數(shu)(shu)據(ju)庫(ku)。
文檔(dang)數據(ju)(ju)庫不是通用(yong)的(de)(de)數據(ju)(ju)庫,它們所(suo)擅長的(de)(de)是一個(ge)很(hen)小的(de)(de)問題(ti)集。有些(xie)數據(ju)(ju)具(ju)有明顯的(de)(de)關(guan)聯關(guan)系(xi),文檔(dang)數據(ju)(ju)庫并沒有針對(dui)存儲這(zhe)樣的(de)(de)數據(ju)(ju)進(jin)行優(you)化。
在(zai)訂單(dan)(dan)數據應(ying)(ying)用(yong)上(shang),傳統的關系(xi)型數據庫會將(jiang)訂單(dan)(dan)中的某(mou)些(xie)條(tiao)目保存在(zai)另外一(yi)個數據庫表中,通過外鍵進行應(ying)(ying)用(yong),而在(zai)文檔數據庫中,這(zhe)(zhe)些(xie)條(tiao)目只(zhi)是同(tong)一(yi)個訂單(dan)(dan)文檔中內嵌(qian)的一(yi)部分,沒有(you)必要將(jiang)這(zhe)(zhe)種關聯關系(xi)持(chi)久化為文檔。
2.Neo4j:世(shi)界(jie)領先的開源(yuan)圖形數(shu)據庫
文檔型數(shu)據(ju)庫會(hui)(hui)將數(shu)據(ju)存(cun)儲到粗粒度的文檔中(zhong)(zhong),而圖(tu)數(shu)據(ju)庫會(hui)(hui)將數(shu)據(ju)存(cun)儲到多個細粒度的節點(dian)(dian)(dian)中(zhong)(zhong),這些節點(dian)(dian)(dian)之間通(tong)過關(guan)(guan)系(xi)建立(li)關(guan)(guan)聯。圖(tu)數(shu)據(ju)庫中(zhong)(zhong)的一個節點(dian)(dian)(dian)通(tong)常會(hui)(hui)對應(ying)數(shu)據(ju)庫中(zhong)(zhong)的一個概念(nian)(concept),它會(hui)(hui)具(ju)備描述(shu)節點(dian)(dian)(dian)狀態的屬(shu)(shu)性,連接兩個節點(dian)(dian)(dian)的關(guan)(guan)聯關(guan)(guan)系(xi)可能(neng)也會(hui)(hui)帶(dai)有屬(shu)(shu)性。
按照最簡單的(de)(de)形式,圖(tu)數據(ju)(ju)(ju)(ju)庫(ku)(ku)比文檔(dang)數據(ju)(ju)(ju)(ju)庫(ku)(ku)更加通用,有(you)可能會(hui)成為(wei)關(guan)系(xi)型數據(ju)(ju)(ju)(ju)庫(ku)(ku)的(de)(de)無模式替代方案(an)。因為(wei)數據(ju)(ju)(ju)(ju)的(de)(de)結構是圖(tu),所以(yi)可以(yi)遍歷關(guan)聯關(guan)系(xi)以(yi)查找(zhao)數據(ju)(ju)(ju)(ju)中(zhong)你所關(guan)心的(de)(de)內(nei)容,這在其他數據(ju)(ju)(ju)(ju)庫(ku)(ku)中(zhong)是很難甚至無法實現的(de)(de)。
3.Redis:Key-Value存儲
Redis是一種特殊類型的數據庫(ku),它(ta)被稱為key-value存儲(chu),即鍵(jian)值(zhi)對存儲(chu),與hash Map有很大的相(xiang)似性(xing)。
————————————————
版權聲(sheng)明:本文(wen)為(wei)CSDN博主「凡心Dustin_CC」的原創文(wen)章,遵循CC 4.0 BY-SA版權協議(yi),轉載請附上原文(wen)出處鏈接及本聲(sheng)明。
原文鏈接://blog.csdn.net/a312257323/article/details/115982577