2016年10月5日,RethinkDB聯(lián)合創(chuàng)始人Slava Akhmechet在官網(wǎng)上宣布RethinkDB破產(chǎn)倒閉。Slava Akhmechet稱其已經(jīng)盡了最大的努力,最終還是無法建立一個(gè)可持續(xù)的商業(yè)模式。接下來Stripe公司將接納RethinkDB公司,RethinkDB工程師團(tuán)隊(duì)將加入到Stripe。在交接過程中RethinkDB公司下的RethinkDB和Horizon的開源項(xiàng)目不會(huì)關(guān)閉,這兩個(gè)項(xiàng)目都將持續(xù)可用,rethinkdb.com和horizon.io網(wǎng)站上的一切都可正常訪問。Slava Akhmechet也希望在廣大社區(qū)貢獻(xiàn)者的努力下,保持繼續(xù)開放的開發(fā)進(jìn)程。
日前,RethinkDB項(xiàng)目有了新的動(dòng)態(tài)。Cloud Native Computing基金會(huì)(CNCF)宣布它購買了NoSQL分布式文件存儲(chǔ)數(shù)據(jù)庫RethinkDB的源代碼版權(quán),將授權(quán)協(xié)議從Affero GPLv3改為Apache v2,并將其捐贈(zèng)給Linux基金會(huì)。
目前,RethinkDB項(xiàng)目已經(jīng)“死而復(fù)生”。
RethinkDB雖然去年宣布破產(chǎn)倒閉,但是項(xiàng)目仍然得以存活,并且情況良好:RethinkDB項(xiàng)目仍然繼續(xù)積極開發(fā),并沒有因破產(chǎn)而中斷。用戶可以繼續(xù)在生產(chǎn)環(huán)境中使用RethinkDB。RethinkDB的官網(wǎng)、GitHub項(xiàng)目和社交媒體賬戶也如常運(yùn)營(yíng)。今天,在Linux基金會(huì)的支持下,該項(xiàng)目從此有了強(qiáng)大的制度支持及接受捐贈(zèng)的能力。
自從去年宣布倒閉后,社區(qū)成員表示愿意資助RethinkDB的后續(xù)開發(fā)?,F(xiàn)在,RethinkDB已經(jīng)做好接受捐款的準(zhǔn)備,并妥善利用籌集來的資金。Stripe為此捐款了高達(dá)25,000美元。
許多前RethinkDB員工目前為Stripe工作,他們幫助為世界各地的開發(fā)人員構(gòu)建基礎(chǔ)設(shè)施。這次公告讓人相信項(xiàng)目在社區(qū)中是有未來的。
RethinkDB是什么?
RethinkDB最早是作為一個(gè)對(duì)SSD進(jìn)行專門優(yōu)化的MySQL存儲(chǔ)引擎出現(xiàn)的,其特點(diǎn)在于對(duì)SSD的充分利用。而目前RethinkDB已經(jīng)脫離MySQL成為一個(gè)獨(dú)立的存儲(chǔ)。RethinkDB是自底向上為實(shí)時(shí)網(wǎng)頁設(shè)計(jì)的第一個(gè)開源的、分布式的、可擴(kuò)展的數(shù)據(jù)庫,具有強(qiáng)大的集群和自動(dòng)故障轉(zhuǎn)移功能。傳統(tǒng)數(shù)據(jù)庫使用的是一種查詢——響應(yīng)數(shù)據(jù)庫訪問模式。RethinkDB 在網(wǎng)絡(luò)上工作的很好主要是因?yàn)樗苯佑成涞?HTTP 的請(qǐng)求響應(yīng)上面。
RethinkDB是第一個(gè)數(shù)據(jù)庫使用了一種令人激動(dòng)的新的數(shù)據(jù)庫的訪問模型,而不是輪詢數(shù)據(jù)庫更改,開發(fā)者可以命令RethinkDB實(shí)時(shí)的向應(yīng)用連續(xù)推送更新查詢結(jié)果。這使得搭建現(xiàn)代、實(shí)時(shí)的應(yīng)用程序十分方便:開發(fā)者可以得到一個(gè)可擴(kuò)展的實(shí)時(shí)Web應(yīng)用程序的App,并在用一小部分時(shí)間運(yùn)行的同時(shí)使用更少的工程資源。
Cloud Native Computing基金會(huì)稱,RethinkDB數(shù)據(jù)庫被數(shù)以百計(jì)的創(chuàng)業(yè)公司、咨詢公司和財(cái)富五百強(qiáng)企業(yè)使用,其中包括NASA、GM、Jive、Platzi、美國國防部、Distractify和 Matters Media。
接下來會(huì)發(fā)生什么?
如何定義RethinkDB的未來,社區(qū)將會(huì)作出一些重要的決定。他們今后將逐步開源更多的軟件、內(nèi)容、大量的藝術(shù)品(通過@annieruygt),以及核心團(tuán)隊(duì)在過去七年來開發(fā)的文檔。他們也一直與CNCF商討如何成為開始的項(xiàng)目。
RethinkDB新版本已經(jīng)在準(zhǔn)備階段中:在過去幾個(gè)月,志愿貢獻(xiàn)者繼續(xù)努力改進(jìn)數(shù)據(jù)庫。在接下來的幾天里,RethinkDB 2.4將會(huì)發(fā)布。新版本包含了社區(qū)的改進(jìn)及去年關(guān)閉前開發(fā)的功能。與此同時(shí),提供了重要的bug修復(fù)的RethinkDB2.3.6也將會(huì)發(fā)布。
在產(chǎn)品的路線圖中,社區(qū)對(duì)RethinkDB 2.5有一些初步的計(jì)劃。讓代碼更容易為新的捐助者擁有是一項(xiàng)高度優(yōu)先事項(xiàng)。這涉及到重構(gòu),技術(shù)債務(wù)和遺留代碼或功能將因此得以消除。2.5可能會(huì)有一些性能改進(jìn),提高硬耐久性(hard-durability)寫入。
誰參與其中?
志愿臨時(shí)領(lǐng)導(dǎo)團(tuán)隊(duì)由以下人員組成?!?br />
前RethinkDB團(tuán)隊(duì)成員:Christina Keelan、Etienne Laurin、Sam Hughes;
社區(qū)成員:Marshall Cottrell、Ross Kukulinski、Chris Abrams、Matt Broadstone;
Cloud Native Computing基金會(huì)執(zhí)行董事Dan Kohn;
Cloud Native Computing基金會(huì)TOC成員Bryan Cantrill?!?br />
RethinkDB創(chuàng)始人Mike Glukhovsky和Slava Akhmechet也參與其中,確保順利過渡。
為何那么久,才有新動(dòng)態(tài)?
去年公司倒閉時(shí),RethinkDB項(xiàng)目的源碼和其他資產(chǎn),由債權(quán)人持有。雖然可以將源碼分支賦予符合AGPL條款的新名稱并繼續(xù)開發(fā),但是臨時(shí)領(lǐng)導(dǎo)團(tuán)隊(duì)認(rèn)為,為推進(jìn)項(xiàng)目提供更堅(jiān)實(shí)的基礎(chǔ),要確保權(quán)利,并采取更加寬松的許可證。于是,Cloud Native Computing基金會(huì)就加緊了談判,代表社區(qū)購買了源碼。
由于交易的敏感性,使得談判過程中難以與社區(qū)討論具體細(xì)節(jié)。持續(xù)的沉寂對(duì)于確保成功完成交易,并為現(xiàn)有用戶和貢獻(xiàn)者提供盡可能多的連續(xù)性是必要的。今天,源碼的權(quán)利已經(jīng)正式由社區(qū)持有,RethinkDB鳳凰涅槃,死而復(fù)生了。
網(wǎng)絡(luò)反響
討論一:關(guān)閉了好還是不好?
網(wǎng)友Redmega:他們沒有如之前聲稱那樣死掉,我很欣慰。很棒的思路! 網(wǎng)友vilmidget38:我非常喜歡使用Rethink,希望看到它繼續(xù)走下去。 網(wǎng)友Solon1:我認(rèn)為他們還是關(guān)閉了好。有一個(gè)團(tuán)體購買了源和許可證,然后將其作為BSD發(fā)行。他們與原公司沒有聯(lián)系?!?
討論二:RethinkDB還是MongoDB?
網(wǎng)友FlukyS:RethinkDB有超強(qiáng)的伸縮性,它可以處理PB級(jí)數(shù)據(jù)。不過,依據(jù)配置,這會(huì)導(dǎo)致可用性上做出些妥協(xié),但是在我看來,用戶有者很大的掌控權(quán)。一致性是RethinkDB考慮最弱的一點(diǎn)。RethinkDB的超級(jí)贊的是很易用。我只在開發(fā)階段使用RethinkDB,因?yàn)楹髞砉緵Q定采用MongoDB。 網(wǎng)友read_eat_or:可否問下你們(FlukyS)為什么放棄了RethinkDB,而選擇了MongoDB? 網(wǎng)友FlukyS:坦率地說并不是我做的決定,我只是做了初期的測(cè)試,最后由經(jīng)歷決定。我認(rèn)為可能是因?yàn)閳F(tuán)隊(duì)對(duì)MongoDB更熟悉吧,這是好幾年前的決定,如果現(xiàn)在再來一次結(jié)果或許會(huì)不同。不管是使用RethinkDB還是MongDB,我們只是保存日志數(shù)據(jù)而已,并沒有用于存放市場(chǎng)商用的數(shù)據(jù)。我們是讀操作遠(yuǎn)多于寫操作?! ? 有一種觀點(diǎn)是,RethinkDB是敗給了MongoDB,那么或許你還可以再讀讀MongoDB的相關(guān)內(nèi)容。