天天看點

memcache、redis、mongodb和mysql的對比分析

前言:擁抱新技術,就要破除已有的觀念。你目前所掌握的技能,不一定就是最合理的,新的技術方案也許更高效。比如設計mysql表時,不一定要逐個設定字段,不需要搜尋的可以以json形式存儲。做技術,最重要的就是不要因循守舊,要積極擁抱新技術。

memcache、redis、mongodb和mysql的應用場景并不是完全對立的,不是說必須使用某種技術,隻是那種技術更合适,能以更低的成本解決問題。

在資料高度關系化和結構化時,并且需要複雜事務操作時,mysql是最佳選擇。

mongodb不僅僅是緩存系統,是非關系型資料庫,是以mysql的很多應用場景,mongodb是完全可以取代的,并且性能更好。

當需求變動頻繁,開發更加靈活,快速上線時,mongodb是很好的選擇。

1.伺服器的日志記錄,查找比文本友善

2.第三方資訊抓取的存儲,由于資料格式不固定,mongodb更靈活

3.對象頻繁改動的,不适合使用mysql,涉及到改表結構

是否使用mongodb的判斷

1.應用不需要事務及複雜 join 支援

2.新應用,需求會變,資料模型無法确定,想快速疊代開發

3.應用需要2000-3000以上的讀寫QPS(更高也可以

4.應用需要TB甚至 PB 級别資料存儲

5.應用發展迅速,需要能快速水準擴充

6.應用要求存儲的資料不丢失

7.應用需要99.999%高可用

8.應用需要大量的地理位置查詢、文本查詢

轉載于:https://www.cnblogs.com/zhwjimmy/p/9553297.html