從Oracle到MongoDB:為什麼AWS不斷拋棄合作伙伴?
亞馬遜因不斷與其商業夥伴分道揚鑣而備受關注,在決定放棄Oracle資料庫轉而使用自己的服務之後,Amazon現在正在嘗試用自己的“相容”版本DocumentDB取代MongoDB。
有趣的是,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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 我為什麼放棄MySQL?選擇了MongoDBMySqlMongoDB
- 不放棄不拋棄,微習慣的初見效
- 我為什麼會從程式不喜歡加{}到加{}
- 為什麼放棄jQueryjQuery
- 什麼是MongoDB?Python爬蟲為什麼使用MongoDB?MongoDBPython爬蟲
- 關於亞馬遜AWS 棄用 Oracle的思考亞馬遜Oracle
- RxJava從入門到不離不棄(四)——過濾操作符RxJava
- 為什麼都放棄了LangChain?LangChain
- Oracle 查詢行數很少,為什麼不走索引?Oracle索引
- 怎樣學python ,才不會從入門到放棄Python
- 為什麼我從 npm 到 yarn 再到 npm?NPMYarn
- 為什麼Discord從Go切換到Rust?GoRust
- 為什麼判斷物件是否相等, 不建議用 equals ?物件
- 放棄遊戲業務 迪士尼的神奇魔法為什麼不靈了?遊戲
- 從入門到放棄,我們為何從 Blazor 回到 VueBlazorVue
- AWS瘋狂投入資料庫 似乎不僅是為了幹掉Oracle那麼簡單資料庫Oracle
- 為什麼我們從Yarn切換到pnpmYarnNPM
- 效能優化之拋棄Calendar優化
- 為什麼不斷做遷移,那是在還技術債
- 為什麼不同的滑鼠 相同的晶片,DPI和回報率一樣,拋開磨具不談。為什麼有的跟手有的不跟手晶片
- 【TUNE_ORACLE】你建立的索引為什麼不工作了?(一)Oracle索引
- 【TUNE_ORACLE】你建立的索引為什麼不工作了?(三)Oracle索引
- 【TUNE_ORACLE】你建立的索引為什麼不工作了?(二)Oracle索引
- Git 從入門到放棄Git
- XXE從入門到放棄
- Vue 從入門到放棄Vue
- Nginx從入門到放棄Nginx
- GraphQL從入門到放棄
- deepspeed從入門到放棄
- NumPy從入門到放棄
- webpack從入門到放棄Web
- openstack從入門到放棄
- HTTP從入門到放棄HTTP
- GitHub:我們為什麼會棄用jQuery?GithubjQuery
- 為什麼要在2021年放棄ExpressJS -DEVExpressJSdev
- AWS 15 年(1):從 Serverful 到 ServerlessServer
- 為什麼我們從RabbitMQ切換到apache kafka?MQApacheKafka
- 為什麼我們從Webpack切換到Vite - ReplitWebVite