網(wǎng)站設(shè)計(jì)需要根據(jù)數(shù)據(jù)的類(lèi)型,結(jié)構(gòu),數(shù)據(jù)模型,數(shù)據(jù)存儲(chǔ)使用不同的系統(tǒng),所需的架構(gòu)或查詢(xún)機(jī)制,用于本地存儲(chǔ)的動(dòng)態(tài)配置數(shù)據(jù)的系統(tǒng),與操作關(guān)系數(shù)據(jù)庫(kù)完全不同的要求,但是根據(jù)分類(lèi)有非關(guān)系型和關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。
關(guān)系型數(shù)據(jù),用于根據(jù)模式存儲(chǔ)數(shù)據(jù),關(guān)系數(shù)據(jù)庫(kù)為表的集合,每個(gè)表都有一個(gè)模式,表中項(xiàng)目具有的固定屬性和數(shù)據(jù)類(lèi)型。提供讀取,創(chuàng)建,更新和刪除數(shù)據(jù)的功能,通常通過(guò)結(jié)構(gòu)化查詢(xún)語(yǔ)言SQL語(yǔ)句。關(guān)系數(shù)據(jù)庫(kù)中的表具有與之關(guān)聯(lián)的密鑰,這些密鑰用于標(biāo)識(shí)表的特定列或行。數(shù)據(jù)完整性在關(guān)系數(shù)據(jù)庫(kù)中尤為重要,關(guān)系數(shù)據(jù)庫(kù)具有以下幾點(diǎn)。
關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)定義明確,都符合ACID標(biāo)準(zhǔn),滿(mǎn)足原子性,一致性,隔離性和持久性的要求。但是也有缺點(diǎn),由于模式和類(lèi)型約束,對(duì)非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù)的效果不佳,不適合大型分析或事件加載。關(guān)系數(shù)據(jù)庫(kù)中的表不一定與表示對(duì)象一對(duì)一映射。,源表和目標(biāo)表之間的模式和類(lèi)型通常必須相同才能工作
隨著網(wǎng)站設(shè)計(jì)變得越來(lái)越復(fù)雜,NoSQL數(shù)據(jù)庫(kù)成為關(guān)系數(shù)據(jù)庫(kù)的流行替代品,NoSQL非關(guān)系數(shù)據(jù)庫(kù)可以采用多種形式。但是,NoSQL和關(guān)系數(shù)據(jù)庫(kù)之間的關(guān)鍵區(qū)別在于嚴(yán)格定義了插入數(shù)據(jù)庫(kù)的所有數(shù)據(jù)必須如何輸入和組合,而NoSQL數(shù)據(jù)庫(kù)可以與模式無(wú)關(guān),允許存儲(chǔ)和操作非結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)。
鍵值存儲(chǔ)是極其簡(jiǎn)單的數(shù)據(jù)庫(kù)管理系統(tǒng),僅存儲(chǔ)鍵值對(duì)并提供用于檢索與已知鍵關(guān)聯(lián)的值的基本功能,鍵值存儲(chǔ)使得這些數(shù)據(jù)庫(kù)管理系統(tǒng)特別適合嵌入式數(shù)據(jù)庫(kù),其中存儲(chǔ)的數(shù)據(jù)不是特別復(fù)雜,速度至關(guān)重要。列存儲(chǔ)是與模式無(wú)關(guān)的系統(tǒng),用戶(hù)能夠?qū)?shù)據(jù)存儲(chǔ)在表中,這些解決方案的設(shè)計(jì)目標(biāo)是擴(kuò)展龐大的分布式系統(tǒng),管理數(shù)千個(gè)服務(wù)器的數(shù)PB數(shù)據(jù)。文檔存儲(chǔ)類(lèi)似于鍵值或?qū)捔写鎯?chǔ),但文檔名稱(chēng)是鍵,文檔的內(nèi)容都是值。在文檔存儲(chǔ)中,單個(gè)記錄不需要統(tǒng)一的結(jié)構(gòu),可以包含許多不同的值類(lèi)型,并且可以嵌套。這種靈活性特別適合于跨分布式系統(tǒng)管理半結(jié)構(gòu)化數(shù)據(jù)。