關(guān)系型數(shù)據(jù)庫有哪些缺點(diǎn)?
主要有四種缺點(diǎn):
1、無法存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)
2、按行存儲(chǔ),即使只操作一列也需要整行讀入內(nèi)存
3、表結(jié)構(gòu)擴(kuò)展不方便,schema是固定的
4、全文搜索功能支持弱
針對(duì)上述四種缺點(diǎn),分別提供不同的數(shù)據(jù)庫來解決。
1、K-V存儲(chǔ)解決無法存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)
以Redis為例,value可以是數(shù)據(jù)結(jié)構(gòu),比如string、hash、list、set、sortedset、bitmap等
2、列式存儲(chǔ)解決操作一列也需要整行讀入內(nèi)存導(dǎo)致IO高
以HBase為代表
3、文檔存儲(chǔ)解決表結(jié)構(gòu)擴(kuò)展不方便的問題
以MongoDB為代表
4、全文搜索引擎解決全文搜索功能問題
以ElasticSearch為例
雖然,上面幾種方案解決了關(guān)系型數(shù)據(jù)庫的缺點(diǎn),但是并不能很好的支持ACID特性。而關(guān)系型數(shù)據(jù)庫在某些場(chǎng)景還是很好的選擇,所以說這些數(shù)據(jù)庫只是關(guān)系型數(shù)據(jù)庫的一個(gè)很好的補(bǔ)充,而不能替換關(guān)系型數(shù)據(jù)庫。
現(xiàn)在的NewSQL也是一種大數(shù)據(jù)時(shí)代的發(fā)展趨勢(shì),即可以支持事務(wù),也有良好的擴(kuò)展性能支持大數(shù)據(jù)。以O(shè)ceanBase、TiDB、Spanner / F1為例。
就是國慶節(jié)的時(shí)候,中國螞蟻金服自主研發(fā)的金融級(jí)分布式關(guān)系數(shù)據(jù)庫OceanBase,在被譽(yù)為“數(shù)據(jù)庫領(lǐng)域世界杯”的TPC-C基準(zhǔn)測(cè)試中,打破了由美國公司Oracle(甲骨文)保持了9年之久的世界記錄,成為首個(gè)登頂該榜單的中國數(shù)據(jù)庫產(chǎn)品。