TiDB會不會出現「加拉帕戈斯」?

cockroachDB最近越來越火,TiDB實際上早於cockroachDB,這兩款作為都是 F1/Spanner的山寨實現項目(開源項目),後者卻出現晚於前者開始,表現卻越來越好

TiDB會不會出現「加拉帕戈斯」?即中國國內做出來的開源項目,會因為種種原因,只有國內自己人在用,然後無法成為一個世界級的項目,從而在市場競爭中慢慢處於劣勢。

-------

我以為TIDB更早,舉下面的同學補充,是cockroach更早。

-------

只是好奇提這樣一個問題,我覺得tidb在國內開源裡面是非常不錯的了,有很多號稱開源可是github已經一年多沒更新了。。


先科普一下項目時間, Cockroachdb 比 TiDB 早一年多,而且相應的市場宣傳比 TiDB 要多得多。

然而截至到今天,TiDB 只用了大約 CockroachDB 一半多一點的時間,卻在多項指標上領先,比如穩定性,性能,大客戶數量等,另外重要的開源項目指標增速(趨勢) TiDB 也領先,具體這位同學可以看看相應的 github 的 star, fork,watch 等數據分析。另外這位同學也請多點自信,或者多點對國內踏實做技術的同學的自信,不是老外的東西就比自家的好,特別是軟體領域。兩家都是開源的,相應的論文和整體設計大家都有詳細的文檔或者 slides, 具體性能也歡迎大家實測對比。


ti?d?b的issue點進去,很國際化,外國人很多,我第一次看到的時候一度覺得是個國外項目,直到看到黃東旭的微博。。


TL;DR

TiDB是個好項目,但從社區角度來說,CockroachDB目前確實是更成功、也更受歡迎的那一個。

但因此說TiDB只能在國內小範圍發展那肯定是不對的。TiDB已經站上Global的舞台了,只是做得不如CockroachDB好而已。

更可能在國內小範圍發展的開源項目,最近的例子是:Punch,這個要發展才更加困難。

評價一個開源項目,其實不必太過分地去摳star fork watch。因為這些操作的代價實在太小了。所以它們適合拿來做個感性認識:比如同領域10k star的項目,肯定比1k star的項目要火。

說白了:

star fork watch多 == 知道(know)你的人多

但真要作評價的時候,我們還會關注於『需要人和精力投入』的指標。最直觀的,僅Github的API里就能拿到:

  1. commit數目
  2. issue數目
  3. PR數目
  4. comment數目
  5. review數目

實際上:

『需要人和精力投入』的指標多 == 關心(care about)你的人多

這種指標我們一般稱為velocity metrics of project。這個方法Linux Foundation很喜歡用。

而對於一個開源項目來說,後者確實要更重要一些:這一般意味著有更多人願意投入時間和精力到你的項目上。

現在看一下:tidb VS cockroach

commits數:5645 VS 22959

issue數: 303 open 838 closed VS 1159 open 7893 closed

PR數: 17 open 3620 closed VS 144 open 10072 closed

(comments和reviews就不列了,基本跟issue和PR數目正相關)

我們不難發現,cockroachDB在這些指標上的領先優勢非常大,尤其在最重要的commit和PR數目上。這不應該是早一年就能帶來的差距。

但是,第二個重點來了。

能夠影響velocity的因素往往是非技術的,比如:

創始人背景(xGoogler copy一個Google internal的項目就很動聽),

創始人過往經歷(Berkeley的學術大牛搞一個Mesos來拯救世界),

製造話題(Docker怒懟全宇宙),

大公司強勢背書(CNCF)

等等等等。

而在這些事情上,中國人的思維和中國的技術環境確實不如老美、老印、甚至以色列的小夥伴。當然,這也一定程度歸因於當今世界計算機科學的中心也在他們手裡。TiDB要想在全球社區取得像CockroachDB一樣的成功,其實還是非常難的,付出的努力也要多得多,能取得現在的效果也已經很厲害。何況,能被認為是CockroachDB的競品,多少公司做夢都能笑醒呢。某些只會往Apache垃圾箱扔項目的大廠們應該好好反省一下

P.S. 其實還有一個重要指標是velocity的趨勢,可以看出項目的發展情況。比如下面兩個對比:

The tidb Open Source Project on Open Hub

The CockroachDB Open Source Project on Open Hub

既然說開了,乾脆在貼個Docker (Moby) VS Kubernetes的:

The docker Open Source Project on Open Hub

The Kubernetes Open Source Project on Open Hub

大家就能明顯看到Kubernetes開了掛一樣往上飆的velocity的數據,已經Docker (Moby) 的那啥啥的趨勢(Docker Inc:老子掙大錢去了你管得著嗎)。

聲明:以上分析僅適用於『現代』開源項目(依託協作於Github),把Github只用來做mirror,Apache,Gerrit上的開源項目均不適用。

OpenHub上並沒有TiDB這個項目,還是我新添的呢。老劉應該謝我。


cockroachdb 初版出現在 14 年初,tidb 是 15 年。提問前提都錯了。

只有國人用就不能成為世界級?荒謬。


我一直看好 TiDB, 希望越做越大。

如果全部用Rust去寫,是否會有更高的執行效率。

現在底層存儲是Rust寫的,上層是go寫的。


推薦閱讀:

TAG:開源 | 開源項目 | NewSQL | TiDB | CockroachDB |