創業這些年使用 mongodb 的實踐教訓[文章轉貼分享]
-
在生產環境中使用 mongodb 始於 2012 年左右,從最初的 master-slave 模式到後來的 master-replication,到評估 mongodb-sharding 並放棄在生產環境中使用,使用 mongodb 作為基礎資料庫已經服務了上億使用者。在 4 年的 mongodb 生產環境使用當中,踩了很多坑也走了不少彎路,在此記錄,與君共用。
No schema 並不代表沒有一致性
mongodb 是 nosql 資料庫,強調 schema 的靈活性和強大的集群功能,以及犧牲事務帶來的巨大性能提升。如果只是用 mongodb 記錄日誌,一致性並不是很重要,相反如果是關鍵性業務,鑒於 schema 極強的靈活性,經常會造成 collection 資料結構被變更而且不易察覺,表現的結果是應用程式常會出現詭異而無法深入跟蹤原因的 bug 和異常。業務越龐大,這樣的改變越是災難性的。
設計之初就對一致性做出非常嚴格的校驗和控制,好消息是 mongodb 3.2 開始已經從資料庫層面支援對 collection 結構的校驗。每次表結構調整,都要對歷史資料進行相應的變更。
對開發者使用門檻降低的同時,也是在對躲在暗處的人敞開了大門
mongodb 非常容易安裝和使用,無需任何許可權設置即可開箱即用,而且默認mongodb 的埠是可以從公網訪問的,僅僅這樣的設計就已經造成了無數的安全問題,詳見
本帖下載内容已隐藏,请登入以查看隐藏内容![/hide]
-
想看~快給我看~芝麻開門
-
開開開開開開
-
想看~快給我看~芝麻開門
-
想看~快給我看~芝麻開門
-
很好的分享。。。。。。
-
打開吧,我要看技術。
-
開開開開開開開開開開開開
-
芝麻开门,芝麻开门
-
芝麻開門
-
开门开门开门开门开门开门