MonggoDB 要黃了嗎?

2021-09-26 20:52:13 字數 2690 閱讀 9178

mongodb 是時下最受歡迎的資料庫之一,許多企業和開發者都將其作為自己的解決方案。但在近日,macos 平台的開源包管理系統 homebrew 宣布 homebrew-core 公式將移除 mongodb 支援。在過去的一年時間內,包括紅帽、英國衛報等在內的多家知名企業也都選擇了移除 mongodb。原因何在?

mongodb 是一款廣受歡迎的開源 nosql 資料庫。不同於一般開源軟體,mongodb 創始人一開始就決定使用 gnu agplv3 協議來代替 apache 授權。這個協議要求採用它的人也要照樣開源相關源**。這就限制了很多雲廠商不能直接使用開源的 mongodb,而 mongodb 自己提供的雲服務也因此掙得金錢滿缽。

開源軟體長久以來一直難以獲得足夠的商業收入,mongodb 的這種模式讓其在開源軟體領域獲得了相對來說比較好的回報,也成為了一家成功上市的開源軟體公司。更進一步,mongodb 成功幫助開發者搞定了很多傳統關聯式資料庫無法應對的難題,讓其迅速成為開發者們的心頭好。

直到,mongodb 宣布修改開源許可協議以後。

近日,macos 平台的開源包管理系統 homebrew 宣布 homebrew-core 公式將移除 mongodb 支援。

mongodb,再見還是再等等?

據了解,mongodb 官方維護了乙個定製 homebrew tap,homebrew 則認為自己支援乙個不被維護的舊版本意義不大,因此它決定移除 mongodb。

這是過去一年時間裡,又一家選擇移除 mongodb 的組織。

2019 年 1 月中旬,紅帽宣布棄用 mongodb。

mongodb,再見還是再等等?

因為 mongodb 使用了 sspl 協議,所以將不會在 rhel 8.0 系統中提供對 mongodb 的支援。

更早以前,就在 mongodb 更改協議後不久後,linux 發行版 debian 就已經在郵件列表中討論並決定不使用 sspl 協議下的軟體。

mongodb,再見還是再等等?

此後,linux 發行版 fedora 也宣布將不在儲存庫中使用 ssplv1 協議下的軟體。

2019 年 1 月,英國衛報在其部落格上分享了一篇名為《bye bye mongo, hello postgres》的文章,分享了其在 2018 年開始的從 mongodb 遷移的實踐經歷。

一夜之間,mongodb 似乎成為了「眾矢之的」。修改開源許可協議以後,更是引起了軒然大波。

對於 sspl 協議的爭論點在於:如果使用 sspl 協議下提供的軟體服務,sspl 要求必須開源所有用於使該軟體作為服務提供的程式。mongodb 變更許可協議背後的利益點是想迫使雲廠商使用 mongodb 的商業雲產品。但是事情表明這並沒有奏效,反而適得其反。

在以紅帽為代表的企業宣布移除 mongodb 以後,社群對 mongodb 的前景突然變得悲觀起來,不少人甚至直言「mongodb 要涼」、「mongodb 走向閉源」。可事實果真如此嗎?

mongodb的問題

事務丟失:事務可以說是眾多關聯式資料庫(注意,不是全部,但確實是大多數)的核心特徵。事務機制意味著使用者能夠以原子方式執行多項操作,並始終確保資料內容保持一致。mongodb 4.0 已經於去年引入了事務機制,但其中仍然存在不少侷限性。正如不少報道已經指出,使用者需要首先評估其能否滿足自己的需求。

關係完整性(外來鍵)丟失:如果你的資料之間存在關係,那麼這種關係就是一種客觀現實。幾乎所有資料中都包含某種關係,如果資料庫沒有強制體現這些關係,就得由應用程式負責構建。具體來講,由資料庫強制執行這些關係將幫助應用程式減輕大量負擔,從而降低軟體工程師們的日常工作量。

缺乏執行資料結構的能力:強模式有時候代表著一種短板,但其同時也可能成為確保資料擁有良好結構的有力機制。只要加以合理運用,其就能夠提供一種強大的機制,用以確保您的資料在結構上與您的期望完全契合。相比之下,mongodb 這類文件資料庫能夠在模式層面帶來令人難以置信的靈活性,但這種靈活性同時會將責任轉嫁到維護者身上,強制要求其保持資料清潔。mongodb 支援模式驗證,這項功能非常有用,但卻仍無法帶來可與關聯式資料庫相媲美的保障。

缺少自定義查詢語言 / 工具生態系統:sql 在剛剛出現時絕對掀起了一場革命,而且時至今日仍然代表著一種客觀標準。sql 是一種非常強大的語言,但同時也給使用者帶來了使用挑戰。我們必須使用由 json 片段組成的自定義查詢語言查詢資料庫;即使對於經驗豐富的 sql 專業人士而言,這也絕對不是一項輕鬆的工作。另外,sql 資料庫擁有一整套互操作工具,從 ide 到報告工具皆在其中。而一旦將資料遷移至不支援 sql 資料庫,即意味著其中大多數工具將無法繼續使用。更可怕的是,即使想找到新的辦法將資料放入能夠繼續使用這些工具的其它 sql 資料庫,其難度也遠遠超過大多數人的想象。

維護成本高昂:很多開發者常常將 mongodb 視為應用程式的主資料儲存區,導致維護成本過高。

我們要悼念foxmail了嗎?

6月18號,foxmail的最後乙個版本5.0.800.0已經滿一歲了。從2001年,四年多了,我的foxmail上面的郵件已經一張cdrom都刻不下了。四年中foxmail幫我們維繫了那麼多的朋友,我心懷感激。過去這一年的網路發生了太多變化了,blog流行起來了,firefox來了,gmail來了...

摩爾定律要失效了嗎

1965年4月19日,著名的摩爾定律在 電子學 雜誌中被發表 積體電路上可容納的電晶體 電晶體 數目,約每隔兩年便會增加一倍。戈登 摩爾 嚴格上說,摩爾定律並非是經證明而得到的某種定律,更多的是一種經驗之談,是一種對於行業發展的 它首先是經濟上的一條定律。積體電路的設計和生產,都圍繞著利益而轉,晶元...

慘遭紅帽棄用,MongoDB要涼涼了嗎?

mongodb是一款廣受歡迎的開源nosql資料庫。不同於一般開源軟體,mongodb創始人一開始就決定使用gnu agplv3協議來代替apache授權。這個協議要求採用它的人也要照樣開源相關源 這就限制了很多雲廠商不能直接使用開源的mongodb,而mongodb自己提供的雲服務也因此掙得金錢滿...