關(guān)系型數(shù)據(jù)庫(kù),是指采用了關(guān)系模型來(lái)組織數(shù)據(jù)的數(shù)據(jù)庫(kù)。
關(guān)系模型是在1970年由IBM的研究員E.F.Codd博士首先提出的,在之后的幾十年中,關(guān)系模型的概念得到了充分的發(fā)展并逐漸成為主流數(shù)據(jù)庫(kù)結(jié)構(gòu)的主流模型。
簡(jiǎn)單來(lái)說(shuō),關(guān)系模型指的就是二維表格模型,而一個(gè)關(guān)系型數(shù)據(jù)庫(kù)就是由二維表及其之間的聯(lián)系所組成的一個(gè)數(shù)據(jù)組織。
目前主流的關(guān)系型數(shù)據(jù)庫(kù):收費(fèi)的Oracle、DB2、MSSQL,免費(fèi)開(kāi)源的MySql,PostgreSQL等。
優(yōu)點(diǎn):
1.支持復(fù)雜查詢,可以用SQL語(yǔ)句在多個(gè)表之間做復(fù)雜的數(shù)據(jù)查詢
2.支持事務(wù),保證了ACID
缺點(diǎn):
1.表中存海量數(shù)據(jù)查詢效率低
2.高并發(fā)情況下硬盤IO會(huì)出現(xiàn)瓶頸,并發(fā)讀寫(xiě)性能較差
3.數(shù)據(jù)庫(kù)橫向擴(kuò)展困難,無(wú)法靠增加硬件和服務(wù)節(jié)點(diǎn)提高性能和負(fù)載能力
4.不適合為有數(shù)據(jù)變更的表做索引或表結(jié)構(gòu)變更
5.需要花費(fèi)解析sql的時(shí)間
非關(guān)系型數(shù)據(jù)庫(kù),MongoDB、Redis、HBase
優(yōu)點(diǎn):
1.支持對(duì)海量數(shù)據(jù)的高效存儲(chǔ)
2.支持高并發(fā)讀寫(xiě)
3.數(shù)據(jù)庫(kù)有高可用性,高可擴(kuò)展性
缺點(diǎn):
1.不能利用SQL做復(fù)雜的關(guān)聯(lián)查詢
2.不能像關(guān)系型數(shù)據(jù)庫(kù)一樣保證數(shù)據(jù)一致性