創業這些年使用 mongodb 的實踐教訓[文章轉貼分享]


  • Lv 1

    在生產環境中使用 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]


  • 註冊用戶

    想看~快給我看~芝麻開門


  • Lv 1

    @leo

    開開開開開開


  • 註冊用戶

    想看~快給我看~芝麻開門


  • 註冊用戶

    想看~快給我看~芝麻開門


  • 註冊用戶

    很好的分享。。。。。。


  • 註冊用戶

    打開吧,我要看技術。


  • 註冊用戶

    開開開開開開開開開開開開


  • 註冊用戶

    芝麻开门,芝麻开门


  • 註冊用戶

    芝麻開門


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待