前言:擁抱新技術,就要破除已有的觀念。你目前所掌握的技能,不一定就是最合理的,新的技術方案也許更高效。比如設計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