備受關注的Distributed Cloud|2021全球分散式雲大會·北京站於4月7日隆重召開,分散式雲是2021年全球十大重要戰略科技趨勢,利用分散式架構技術創新,連線邊緣節點、私有云和公有云的IT資源組成分散式混合雲。
全球分散式雲聯盟力求打造分散式雲計算旗艦級技術盛會,本次大會共設有分散式雲報告會、邊緣計算論壇、Serverless雲原生論壇、分散式資料庫論壇、分散式儲存論壇,跨境SD-WAN諮詢會等六大論壇,圍繞分散式雲、分散式算力、Serverless、雲原生、HTAP、IPFS等技術與實踐展開。聯合阿里雲、騰訊雲、百度雲、金山雲等全棧技術引領者與全球分散式雲聯盟攜手打造這場技術饕餮盛宴。
為什麼分散式資料庫需要開源?TiDB怎麼確定要開源的,PingCAP的TiDB在開源上做了哪些努力?
中國傳統軟體資料庫的推廣模式,跟傳統的軟體很像,就是做一個產品,招一堆銷售挨家敲門。我們覺得這樣效率太低。就現在而言,基礎軟體好不好關鍵是在於怎麼在最短的時間找到最多人來去用這個產品,能夠讓它變得更好,變成一個正向迴圈,因為基礎軟體產品是被「用」出來而不是做出來的。所以傳統軟體推廣並不是一個特別好的選擇,因為擴張速度取決於銷售敲門的速度。
所以我們在成立第一天就選擇了「開源」。並且把它作為公司的發展戰略,堅定地認為開源是當前全球化背景下基礎軟體領域成功的唯一道路。在我們看來,單純依靠一個團隊開發力量並不能創造出完美的解決方案,一個好的產品應該敢於將自己的程式碼開放出來,不閉門造車,及時和社群溝通,交流,讓整個社群參與進來。
「開源」相當於用一些 to C 的方法論,在工程師的社群裡透過病毒式傳播讓產品被更多人用起來,別人用得不爽一定會 feedback 提 issue。用的人越多,它的質量就越好,質量越好,會變成一傳十,十傳百的這種效應,讓產品正向迴圈下去。
對於基礎軟體,我的觀點是像資料庫、作業系統、雲技術,或者雲內部的基礎軟體,未來只有開源一條路,如果不開源,或者說核心不開源的話,產品的生命力是很差的。不像其他的商業軟體,基礎軟體就像在水管、水電煤這樣的基礎設施的層面上,你的產品生命力差,沒人用的話別人也不敢用,這就像一個惡性迴圈,而開源是打破這個迴圈的武器。
開源是一個非常大的趨勢。大家可以看到一些比較著名的基礎軟體,基本都是開源的,比如 Docker 或 k8s。很多網際網路公司裡也會用很多像 MySQL、Hadoop 等這種新一代的大資料處理的資料庫等基礎軟體,且也大多是開源的,正是上面理論的實際例子。
經過五年多的堅持,基於開源文化驅動產品開發和外部推廣的方式,PingCAP 在開源上做了很多努力,也取得了成效。
產品開發方面,得益於活躍的國際化社群和全球超過 1200 個社群開發者的參與,TiDB 正以極其罕見的速度進行正向迭代和超高速發展,我記得 TiDB 1.0 GA 的時間是 2017 年底,到現在才短短 3 年,就產生了這樣的覆蓋率和影響力,這點非常的震撼,而且每一個新 feature / 新版本,都有一大批熱情的核心社群使用者自發進行測試,每天都有大量全球技術愛好者給 TiDB 提各種產品改進建議,報問題。
開源精神不僅僅在於索取,同時我們也積極回饋開源社群,力爭成為全球技術標準的引領者。比如 2020 年 9 月,我們的分散式儲存引擎 TiKV 正式從雲原生基金會(CNCF)畢業;2020 年 7 月,我們的混沌工程測試平臺 Chaos Mesh® 正式成為 CNCF 託管專案;CNCF 2019 年、2020 年度報告提到,PingCAP 已經連續兩年在 CNCF 全球程式碼貢獻排行榜中名列第六,已成為全球知名的開源軟體廠商。
現在跟過去二十年前不一樣,無論是開源軟體的質量,還是社群的迭代速度,都已經是今非昔比,所以基本上開源再也不是低質低量的代名詞。
中國分散式資料庫市場是怎樣一個狀態市場?為什麼TiDB能夠獲得客戶的市場領導者的評價?
過去三四十年,資料庫市場都是依賴像 Oracle、IBM 所建立的理論基礎執行。但在 21 世紀,Google 提出分散式系統技術後,隨著硬體條件的成熟,像 SSD、萬兆的網絡卡,帶來的改變就是處理的資料量在持續地變大。資料庫市場到了需要去做修訂或者說要有個轉折的地方了。資料庫行業最根基的東西在發生變化,而我們要做的就是找到正確的切入點:就是分散式理論怎麼跟傳統關係資料庫理論融合的點。
TiDB 設計之初就是一款開源的分散式資料庫產品,無論從技術上來講還是運營模式上來講,都是分散式資料庫非常成功的實踐。
從技術上來講,傳統的資料庫實現“分散式”的方式無非是透過 Sharding 或者分庫分表,或者採用 NoSQL 的思路,但是往往都面臨著業務侵入性的問題。如果你的業務是重度依賴 SQL,那麼用這兩種方案都是很不舒適的。而 TiDB 結合了傳統資料庫的優點,以 Shared Nothing 這個思路進行開發,可以做到幾乎無限的水平擴充套件,整個系統沒有端點,不管是 1 個 T、10 個 T 或者 100 個 T,業務層基本上不用擔心擴充套件能力,同時提供強 SQL 的支援,不需要指定分片規則、分片策略,系統會自動的幫你做擴充套件。第三是支援像單機資料庫一樣的強一致的事務,可以用來支援金融級別的業務。
從運營模式上來講,我們用開源的模式讓更多使用者能夠低成本的用上 TiDB,參與到產品的研發流程中,使用者能夠及時反饋他們的使用體驗和遇到的問題,我們能夠快速地響應,根據客戶的需求來完善功能,快速迭代。
TiDB天生是有云原生基因嗎?TiDB雲原生的歷史是怎樣?資料庫雲原生有哪些必要性?
從 TiDB 誕生之時就帶著雲原生的標籤,並且底層儲存引擎 TiKV 也在 2019 年成為了 CNCF 的孵化專案,並於 2020 年順利畢業。我們很早就認識到,雲提供的基礎設施可程式設計、按量付費等區別於傳統資料中心的核心特質,正是釋放 TiDB 彈性伸縮潛力的最佳載體。
我們認為雲原生是未來的資料庫方向。2010 年以來,雲計算讓低成本無限擴充套件的網際網路基礎設施成為了可能,在底層資源無限的前提下,將有更多創造性的軟體被開發出來,大大提高我們的生產力。而一款跑在雲上的資料庫最好是雲中立的,在未來的多雲場景,AWS、谷歌雲、阿里雲等等,他們構成現在的公有云世界,而谷歌的K8S又是一個公有云服務的標準。所以,我們 TiDB 只要支援 K8S,每一個公有云都支援這個,對於一個使用者來說,你可以採用一種多雲的策略,你不受任何雲廠商的綁架。這個就是雲原生的對未來的價值,客戶可以在雲上更靈活。
TiDB 5.0 架構和功能上有哪些要點值得關注?
我們把 TiDB 5.0 定義為成為邁向企業級核心場景的里程碑版本:TiDB 5.0 的效能和穩定性得到了顯著提升,從而具備更強大的 OLTP 金融級核心場景的服務能力;在原有 HTAP 引擎 TiFlash 的基礎上引入了 MPP 架構,使得眾多企業的實時/互動式 BI 成為現實,為高成長企業和數字化創新場景提供了一棧式的資料服務底座,加速帶動 HTAP 進入更多大型企業的數字化場景。
此外,TiDB 5.0 新增了多項企業級特性,整合更豐富的大資料生態,提供更加簡易的運維體驗,幫助企業更高效地基於 TiDB 構建和擴充套件應用。在具體的功能點上,TiDB 透過 TiFlash 節點引入了MPP架構,從而達到加速計算的目的。經過測試,TiDB 5.0 在同等資源下,MPP 引擎的總體效能是 Greenplum 6.15.0 與 Apache Spark 3.1.1 兩到三倍之間,部分查詢可達 8 倍效能差異;同時引入了聚簇索引功能,TPCC tpmC的效能提升了39%;此外還增加了一部提交、不可見索引能功能,也有很多體驗上的最佳化,在穩定性和安全上均有提升。