redis盗迟、MongoDB罚缕、hbase
關系型數(shù)據(jù)庫:是對數(shù)據(jù)存儲的一種成熟的怕磨、通用的、統(tǒng)一的解決方案。
nosql:是對數(shù)據(jù)存儲在特定場景下的高效导饲、靈活的解決方案渣锦。
一袋毙、nosql共同特征:
1听盖、不需要預定義模式:不需要事先定義數(shù)據(jù)模式皆看,預定義表結構腰吟。數(shù)據(jù)中的每條記錄都可能有不同的屬性和格式徙瓶。當插入數(shù)據(jù)時侦镇,并不需要預先定義它們的模式虽缕。
2氮趋、無共享架構:相對于將所有數(shù)據(jù)存儲的存儲區(qū)域網(wǎng)絡中的全共享架構剩胁。NoSQL往往將數(shù)據(jù)劃分后存儲在各個本地服務器上昵观。因為從本地磁盤讀取數(shù)據(jù)的性能往往好于通過網(wǎng)絡傳輸讀取數(shù)據(jù)的性能,從而提高了系統(tǒng)的性能壁查。
3剔应、彈性可擴展:可以在系統(tǒng)運行的時候峻贮,動態(tài)增加或者刪除結點纤控。不需要停機維護船万,數(shù)據(jù)可以自動遷移唬涧。
4碎节、分區(qū):相對于將數(shù)據(jù)存放于同一個節(jié)點狮荔,NoSQL數(shù)據(jù)庫需要將數(shù)據(jù)進行分區(qū)殖氏,將記錄分散在多個節(jié)點上面雅采。并且通常分區(qū)的同時還要做復制。這樣既提高了并行性能宝鼓,又能保證沒有單點失效的問題愚铡。
5沥寥、異步復制:和RAID存儲系統(tǒng)不同的是邑雅,NoSQL中的復制蒂阱,往往是基于日志的異步復制录煤。這樣妈踊,數(shù)據(jù)就可以盡快地寫入一個節(jié)點廊营,而不會被網(wǎng)絡傳輸引起遲延露筒。缺點是并不總是能保證一致性慎式,這樣的方式在出現(xiàn)故障的時候瘪吏,可能會丟失少量的數(shù)據(jù)掌眠。
6蓝丙、BASE:相對于事務嚴格的ACID特性望拖,NoSQL數(shù)據(jù)庫保證的是BASE特性。BASE是最終一致性和軟事務耘眨。
二蚂夕、適用場景
1婿牍、數(shù)據(jù)模型比較簡單等脂;
2上遥、需要靈活性更強的IT系統(tǒng)粉楚;
3模软、對數(shù)據(jù)庫性能要求較高燃异;
4、不需要高度的數(shù)據(jù)一致性鲫剿;
5灵莲、對于給定key政冻,比較容易映射復雜值的環(huán)境
三明场、怎樣學 MongoDB苦锨?
知乎文章:https://www.zhihu.com/question/19882468
免費在線課程:https://university.mongodb.com/? --MongoDB團隊出的教程
MongoDB中文手冊及社區(qū):http://www.mongoing.com/docs/
四舟舒、學習redis
文檔中心:http://www.redis.cn/documentation.html