蟑螂是地球上適應(yīng)性最強(qiáng)的物種之一。它們能在無氧環(huán)境下存活45分鐘,在沒有食物的情況下存活超過一個月。甚至就算身首異處也無法讓小強(qiáng)當(dāng)場斃命——他們的身體沒了頭都還能活好幾天。
在像 Google,Amazon 和 Facebook 這樣的科技巨頭內(nèi)部,掌握領(lǐng)先技術(shù)的工程師們也在讓他們自己的網(wǎng)站像小強(qiáng)一樣頑強(qiáng)。如果一臺服務(wù)器宕機(jī),一個服務(wù)器集群宕機(jī),或者整個數(shù)據(jù)中心電力中斷,那這些網(wǎng)站每一秒都在損失大量收入。
現(xiàn)在,一個開源開發(fā)者小組想讓每一家公司都能夠通過使用這種完全基于網(wǎng)絡(luò)的云計算系統(tǒng)來搭建如小強(qiáng)般頑強(qiáng)的網(wǎng)站。他們?yōu)轫椖棵麨椤?a target="_blank" rel="external" ),在宣傳中稱該項目是“具有超強(qiáng)生命力的數(shù)據(jù)庫”?;蛟S蟑螂被用在軟件命名中很違和,但聯(lián)合創(chuàng)始人 Spencer Kimball —— 一名前 Google 工程師 —— 則認(rèn)為只有小強(qiáng)才能配得上他們的項目。
和很多其他同類型的開源項目一樣,CockroachDB 的靈感來自于一份 Google 的研究論文,這篇論文詳細(xì)地介紹了一種叫做“Spanner”的大型系統(tǒng)。Spanner 將允許 Google 將數(shù)據(jù)分布到全球上百個數(shù)據(jù)中心的上百萬臺服務(wù)器。系統(tǒng)的開發(fā)大約會耗時5年。
目前項目還處于 α 階段的開發(fā),離實際應(yīng)用還很遙遠(yuǎn)。但 CockroachDB 小組也是現(xiàn)在唯一一個致力于實現(xiàn) Spanner 系統(tǒng)的開發(fā)組。不少參與項目的開發(fā)者都曾就職于 Google,但沒有一個參與過 Spanner 項目。這其中,最出名的 Photoshop 開源替代產(chǎn)品 GIMP 的的聯(lián)合創(chuàng)始人 Spencer Kimball 和 Peter Mattis 曾幫助開發(fā) Google 的大型文件存儲系統(tǒng),也就是 Colossus;Ben Darnell 曾參與過 Google Reader 開發(fā),而 Andy Bonventre 則參與過 Chrome 和 Google Tasks 的開發(fā)。
CockroachDB 并沒有嘗試復(fù)制 Spanner 最不尋常的理念——用原子鐘來讓全球各地的數(shù)據(jù)中心時間同步。考慮到大多數(shù)線上應(yīng)用都沒有達(dá)到 Google 的規(guī)模,他們或許不需要這樣的功能。Kimball 表示,這些公司真正需要的是是有一種穩(wěn)定可靠的方式來讓數(shù)據(jù)自動復(fù)制和同步到各個數(shù)據(jù)中心的服務(wù)器里,這樣就算一個數(shù)據(jù)中心倒下了,應(yīng)用還能正常運行,這也是 CockroachDB 的目標(biāo)。