從Oracle到MongoDB:為什麼AWS不斷拋棄合作伙伴?

資料庫頻道發表於2019-04-09

亞馬遜因不斷與其商業夥伴分道揚鑣而備受關注,在決定放棄Oracle資料庫轉而使用自己的服務之後,Amazon現在正在嘗試用自己的“相容”版本DocumentDB取代MongoDB。

從Oracle到MongoDB:為什麼AWS不斷拋棄合作伙伴?

有趣的是,AWS宣佈放棄Oracle的宣告是在Oracle執行長Larry Ellison吹噓AWS和Salesforce執行在其資料庫上之後釋出的。值得注意的是,MongoDB專門修改了它的許可條款,以防止“被拋棄”情況發生,但是這樣做似乎讓事情變得更糟糕了。

MongoDB許可證可能會加速其滅亡

MongoDB伺服器端公共許可證本質上要求任何提供MongoDB服務的雲提供商必須開放與該服務相關的所有程式碼,這不是所有云提供商都願意接受的,所以AWS釋出DocumentDB也就不足為奇了。DocumentDB被設計用於許可證生效之前釋出的3.6版本,SSPL似乎並不適用於DocumentDB。此外,Amazon新產品基本上只是一組位於自己資料庫上的相容api,所以它實際上沒有使用任何MongoDB程式碼。

AWS是目前最大的公共雲,DocumentDB的釋出導致MongoDB的股票暴跌,DocumentDB只支援MongoDB 3.6,這可能反映了一個嚴峻的問題:如果AWS的新服務流行起來,MongoDB別無選擇,只能開源其最新的服務,否則將面臨停滯不前的風險。這就是為什麼MongoDB改變其許可條款就像自殺一樣,新的許可證不僅不能保護MongoDB免受像AWS這樣的“惡狼”的攻擊,它甚至會讓它受到開源社群更多抨擊。 比如,為了響應SSPL,Debian和RedHat都決定不將MongoDB的最新產品包含在內,因為認為它違背了開源精神。

AWS:做自己最擅長的事情

在最新的宣告中,AWS將DocumentDB描述為“一種支援MongoDB工作負載的快速、可伸縮、高可用性和完全託管的文件資料庫服務”。這意味著MongoDB本身無法處理大規模的工作負載,更意味著AWS正在向客戶銷售其自身核心競爭力,即透過效能、可伸縮性和可用性實現的便捷性。AWS還在一篇宣告中說,由於設定和管理MongoDB叢集的複雜性,公司很少利用MongoDB api的一小部分功能,他們還發現,擴充套件到多個tb和數十萬每秒的讀寫非常具有挑戰性。

AWS銷售的不是軟體而是便捷性,而MongoDB為客戶提供的是完成工作的工具。AWS為他們提供了真正想要的東西,由其他人為他們來完成這項工作。在無需管理底層基礎設施的情況下獲得效能、可伸縮性和可用性升級是每個企業都追求的,這也是AWS如此成功的原因。為了更加方便,使用者可以使用MongoDB應用程式程式碼、驅動程式和工具來處理Amazon DocumentDB上的工作負載,並且可以在AWS資料庫遷移服務(AWS DMS)的幫助下,從MongoDB執行實時遷移,而不需要停機。

AWS DocumentDB

Amazon DocumentDB使用基於SSD的儲存層,在三個獨立的可用區域內進行6x複製,這不僅意味著DocumentDB可以在30秒內將資料從主伺服器轉移到副本伺服器,而且還支援MongoDB副本集模擬。作為其“完全託管”產品的一部分,它還具有自動配置和設定、監控指標和自動軟體修補功能。此外,DocumentDB儲存可以從10 GB擴充套件到64 TB,增量為10 GB,並透過僅將資料庫更改寫入儲存層來減少資料庫I / O. 它還聲稱其吞吐量是當前可用MongoDB解決方案的兩倍。

這可能是因為DocumentDB的儲存和計算彼此分離,並被允許獨立擴充套件。同時這意味著,開發人員可以忽略資料的大小,在幾分鐘內新增多達15個低延遲副本,從而將讀取容量提高到每秒數百萬個請求。

除了速度、可擴充套件性和可用性之外,DocumentDB還專注於安全性,並執行在Amazon VPC中,這允許企業在自己的虛擬網路中隔離叢集。它還與AWS身份和訪問管理(IAM)整合,允許企業使用透過AWS Key Management Service(KMS)建立和控制的金鑰加密資料庫。

MongoDB

MongoDB的CEO Dev Ittycheria說:“模仿是最真誠的奉承,所以亞馬遜試圖利用MongoDB文件模型的流行和勢頭也就不足為奇了。”他聲稱DocumentDB只是一個拙劣的模仿。而該公司的另一名發言人指出,DocumentDB基於一個只有兩年曆史的版本,缺少了ACID特性、叢集和移動同步等新功能。雖然在DocumentDB宣佈之後,MongoDB的股票暴跌,這無疑說明了AWS本身的強大,但MongoDB的股票在過去一年裡上漲了200%,所以現在就把MongoDB歸為失敗者還為時尚早。

作為反擊,MongoDB透過MongoDB Atlas的產品提供了自己的開源資料庫託管版本,該產品基於最新版本的MongoDB 4.0。在最近的一篇文章中,CTO Eliot Horowitz公司比較了這兩種服務,並指出DocumentDB實際上落後了大約6年,而且更接近2.4版,而不是3.6版。它還指出了AWS承諾的效能、可伸縮性和可用性帶來的一系列缺陷,包括所有DocumentDB叢集都被限制在一個單獨的區域。這一點與Atlas不同,Atlas允許副本集擴充套件並提供低延遲。

AWS與開源

總之,這是個這是個左右兩難的選擇,人們不知道到底應該同情MongoDB還是支援AWS公然竊取開源社群的決定。從AWS的角度來看,他們並不是在銷售MongoDB,只是提供一種企業看重的服務。就算不是MongoDB,也會是客戶正在使用或需要幫助的任何其他資料庫。比如Redis資料庫,在一個許可協議下,AWS的版本總是最新的。雖然這對於開發來說有好處,但是它並沒有幫助Redis Labs獲得利潤,可能這就是它改變許可的原因。

看著像AWS這樣首屈一指的大公司還在孜孜不倦地“薅羊毛”,難免讓辛勤工作的人們感到不痛快,而且很難不對Redis和MongoDB這樣的公司產生同情。

然而,事物都有兩面性,它們的流行可能是因為它們最初都是開源的,而且“託管”開源服務總會有市場。這是否意味著,AWS將繼續隨心所欲地從開源社群獲取它想要的東西,還是法律將保護像MongoDB這樣的公司?只有未來才能知道答案。

來自 “ http://techgenix.com/mongodb-aws/ ”,原文連結:http://blog.itpub.net/31545814/viewspace-2640726/,如需轉載,請註明出處,否則將追究法律責任。

相關文章