1.什麼是Nosql數據庫?
nosql數據庫的意思是not only sql ,區別於現在主流的關係型數據庫mysql ,oracle,它擁有以下的優缺點:
優點:滿足高併發下的讀寫;
優點:滿足高擴展和高可用性;
缺點:大部分不支持事務acid;
缺點:如果要實現複雜的sql查詢比較難;
缺點:運維部署麻煩;
在Nosql數據庫裏 Mongodb redis memcache屬於主流
2.mongodb特性
- 數據存放到內存中
- 數據格式不固定
- 強大的查詢語句
- 支持二進制文件以及大型對象的高效存儲
- ...
3.什麼樣的場景下使用mongodb
- 應用不需要嚴格的事務join
- 應用快速迭代開發
- 需要2000-3000qps
- tp/pb級別數據
- 存儲數據不丟失
- 高可用,大量的文本查詢
4.電商中的mongodb
使用mongodb存儲商品信息/訂單信息
比如商品信息 如果有多個分類信息 多個子分類的話,使用關係型存儲會使用許多的表/列
使用monodb可以採用單集合的方式進行存儲商品信息。
5.什麼時候不要使用mongodb
銀行/財務等系統,需要大量使用到事務等能力,使用mongodb是非常不好的。
表與表的關聯性特別強也不要使用mongodb。mongodb更適用於單集合的查詢環境。