領導不讓用mongo了
背景
2018年啟動的一個新專案,專案初期,作為探索專案,基於兩點考慮,部分資料儲存選用了mongo,理由如下
- 早期專案需要快速迭代,mongo開發速度快
- mongo在資料量小的情況下,使用方式和mysql一樣,效能差異不大。組員學習成本基本為0
- 這部分資料比較稀疏,適合nosql儲存
- 專案迭代過程中肯定會頻繁的變更表結構,選用mysql交由dba稽核麻煩,不適合新專案
到5月份的時候,專案發展的很好,升級為重點專案,招兵買馬,擴充套件了很多人,招來了一個大牛,擔任技術leader,
過來不讓用mongo了。
棄用
棄用原因有以下
1. 在A家公司內部已經經過驗證,不適合資料儲存,已被內部選用淘汰。
2. 從監控日誌中,看到晚上有段時間mongo 一直read timeout。 經過我的排查,這段時間mongo server有大量的寫,雖然cpu佔比只有60%,但是secondary node read都失敗,這段時間有global lock,聯絡阿里雲的工程師後無法找到原因,只知道讓升級配置,也就是交錢。
3. mysql在國內各大網際網路公司普遍使用,已是成熟方案,各種輪子一大堆。
4. 公司有專人運維mysql,而沒有人運維mongo,作為業務團隊,不可能有精力去維護。
總結
我在NoSQL概述-從Mongo和Cassandra談談NoSQL曾經詳細比較過mongo,cassandra和關係型資料庫。但是忽略了一個重要因素,運維。這個主要受限於以前的公司經歷,以前的公司運維太強了,以致有些將這部分工作當做理所當然了。
最後我們差不多達成了共識了,進行了mongo的遷移
1. 業務團隊做技術選型時,儘量選用公司裡面沒有專人維護的技術選型,包括不限於資料庫/快取/搜尋/大資料處理框架
2. mongo只用於非對外提供的服務上,比如內部系統。或者不重要的服務上。
畫外音:這次技術選型給我最大的啟示就是要因地制宜的選型。比如像儲存這種比較底層的,出現0.1%服務不可用,都是很大的故障。這也是為什麼越來越多的服務被遷移到雲上了,因為對於公司來說,99.9999%的可用和99%的服務可用差別很大,技術人員背不起這個鍋
相關文章
- 報表開發者必看:別加班了,快用這個工具讓領導看到你的工作成果
- 怎麼說服領導,能讓我用DDD架構肝專案?架構
- 領導讓我搞持續整合------流程圖流程圖
- 領導如何讓下屬充滿幹勁兒
- 【Mongo】mongo聚合操作Go
- 【Mongo】mongo配置檔案Go
- 安全領導者如何領先於不斷增長的供應鏈風險
- 領導問,小程式 ui 自動化測試 用什麼工具決定了嗎UI
- 為什麼有些公司不讓用 Lombok ?Lombok
- 今天開會領導說七點多就下班了啊
- 網際網路大廠,對領導層動刀了?
- 寫了一套優雅介面之後,領導讓我給大家講講這背後的技術原理
- Linux-mongo 密碼忘記了怎麼辦LinuxGo密碼
- 領導 Python 社群Python
- 雙文化領導
- 領導為什麼不聽我的彙報和授權方法
- 【mongo】mongo 欄位型別互轉Go型別
- 最近合作的研發 leader 離職了 部門領導讓我整理一下需要獲取的交接資訊?
- 我用大屏模板做年中視覺化報告,驚豔了在場的同事和領導視覺化
- CSS 讓捲軸不佔用螢幕寬度CSS
- mongo GridFSBucketGo
- 【Mongo】shell命令列模式執行mongo命令Go命令列模式
- 【Mongo】Mongo讀寫分離的實現Go
- 前端一枚,看到前領導朋友圈了 [無辜呆]前端
- CSS 讓滾動條不佔用螢幕寬度CSS
- 為什麼不讓用join?《死磕MySQL系列 十六》MySql
- RedisTemplate:我不背鍋,是你用錯了Redis
- 天啦,從Mongo到ClickHouse我到底經歷了什麼?Go
- win10應用商店不見了怎麼辦 win10應用商店不見了的解決方法Win10
- 看完這篇文章你就可以告訴領導你精通Zookeeper了
- mongo基本操作Go
- mongo 索引解析Go索引
- 管理索引mongo索引Go
- 安裝mongoGo
- Gartner:2022年領導力前瞻—軟體工程領導者(附下載)軟體工程
- docker操作mongo+docker的常用操作+mongo與.netDockerGo
- 向上領導,向下賦能
- 我叫Mongo,幹了「查詢終結篇」,值得您擁有Go