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里就能拿到:
- commit數目
- issue數目
- PR數目
- comment數目
- 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 |