mongodb存儲(chǔ)原理 mongodb是怎樣存儲(chǔ)數(shù)據(jù)的?
mongodb是怎樣存儲(chǔ)數(shù)據(jù)的?作為一個(gè)非關(guān)系數(shù)據(jù)庫(kù),mongodb的主要優(yōu)勢(shì)是無(wú)模式。一般來(lái)說(shuō),爬蟲(chóng)數(shù)據(jù)是“臟”的,并且不包含所有被爬蟲(chóng)數(shù)據(jù)的字段,這非常適合沒(méi)有嚴(yán)格模式定義的mongodb。而mo
mongodb是怎樣存儲(chǔ)數(shù)據(jù)的?
作為一個(gè)非關(guān)系數(shù)據(jù)庫(kù),mongodb的主要優(yōu)勢(shì)是無(wú)模式。一般來(lái)說(shuō),爬蟲(chóng)數(shù)據(jù)是“臟”的,并且不包含所有被爬蟲(chóng)數(shù)據(jù)的字段,這非常適合沒(méi)有嚴(yán)格模式定義的mongodb。而mongodb內(nèi)置的分片分布式系統(tǒng)也保證了其可擴(kuò)展性。除了join之外,mongodb的聚合框架可以完全替代SQL語(yǔ)句,實(shí)現(xiàn)非??焖俚慕y(tǒng)計(jì)分析。根據(jù)我的經(jīng)驗(yàn),這對(duì)mongodb來(lái)說(shuō)不是什么大問(wèn)題。如果您需要全局統(tǒng)計(jì),可以使用sharding+內(nèi)置map reduce對(duì)其進(jìn)行優(yōu)化。如果需要filter,可以索引(前輩也提到mongodb的查詢速度是MySQL無(wú)法比擬的),加入概率不大(不需要規(guī)范化)??偠灾?,這主要取決于你做什么。如果它是一個(gè)簡(jiǎn)單的原始數(shù)據(jù)存儲(chǔ),它可以直接保存為TXT文件,然后加載到HDFS中。如果是數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì),MySQL可以作為輕量級(jí)聚合表載體,作為OLAP的后端數(shù)據(jù)源。無(wú)論如何,在這種情況下,我不認(rèn)為MySQL只用于存儲(chǔ)的必要性。