本文內容根據
PingCAP 高階副總裁範若晗在 BDTC 2021 的主題演講:“開源走向世界”整理而成,
從協作方式和技術演進兩個角度,分享了 “開源”和“全球化” 之間相互關聯,密不可分的關係,分為上下兩篇,
,本篇主題為:從資料庫技術演進看開源力量
我們認為,資料技術演進的驅動力總結起來,主要包括三個方面:
理論基礎推動軟體創新、基礎設施保障軟體能力的實現、業務需求真正打磨了技術的不斷工程化、產品化,是產品真正的 “用武之地”。
按照時間和功能維度,我們將資料生態做了劃分,大致包括 SQL 生態,大資料生態,NoSQL 生態,NewSQL 生態,以及 SQL 的雲化生態。每個生態的演進,離不開基礎理論的發展。
1970 年 IBM 的關係型資料庫理論 Relational Model 包括 System R 原型產品的問世,為 Oracle、DB2、MicroSoft SQL Server 這些商業資料庫的誕生奠定了基礎。而後 MySQL、PostgreSQL 以開源這一形態獲得快速發展和全球最廣泛的應用。
2003 年 - 2006 年,谷歌三駕馬車 GFS,MapReduce,BigTable 論文的發表,奠定了業界大規模分散式儲存系統的理論基礎。現如今非常流行的 Hadoop、Spark、MongoDB、Hbase 等也都是建立在這些理論基礎上的。大家可以發現,這些資料產品都是用開源模式發展壯大的。因為閉源的模式迭代速度慢,單位成本高,已經無法應對海量使用者需求了。
2012 年 - 2014 年,還是 Google 發表的 Spanner 和 F1,以及史丹佛大學的 Raft 論文,推動了 NewSQL 資料庫的發展。PingCAP 的 TiDB,也是對這些理論基礎的產品化實現,並在此基礎上不斷創新。
再來看看怎麼理解剛剛說的 “用武之地”,總體而言,業務需求體現在以下三個方面:
一是
“事務特性”
,也就是通常說的 ACID 原子性、一致性、隔離性、永續性。通俗來說,流程數字化、業務線上化都屬於嚴肅業務,比如金融、電信等業務,以及企業級的 ERP、CRM,都要求可靠的事務特性。
二是
“資料規模
” ,主要體現在網際網路帶來的海量資料爆發增長,不管是使用者行為全面網際網路化、或移動裝置帶來的資料採集極大豐富,還是內容本身的創造造成的資料海量暴漲,從文字到圖片、動畫、短視訊、長視訊、遊戲再到最近很熱的元宇宙,都是資料規模增長因素,在疫情的極致推動下,各個行業的數字化轉型又催生了新一輪的資料增長。
三是
“處理延遲”
,在移動網際網路及數字化的今天,對使用者體驗的追求水漲船高,ToC 業務希望更快地服務響應,從而爭奪使用者的碎片時間,爭奪商業時機,ToB 業務對資料處理也需要更迅速的業務響應,更實時的資料分析和更敏捷的運營決策。
這三個因素在不同時期有不同的發展,還有不同的組合,不斷催生並落地了資料技術的發展。不同的資料庫生態,正是在業務驅動力的不同組合推進的結果。
資訊化時代數字基礎弱,主要解決關鍵業務的準確性和效率問題,更多是小資料量的嚴肅業務,對資料有高度的事務特性要求,且資料結構穩定、規則清晰,資料量有限,這類需求關係型 SQL 單機資料庫生態就能滿足,要求的是效率和穩定。
2000 年左右進入大資料時代,經過資訊化的長期發展,資料有了大量積累,新的資料也以前所未有的體量和速度增加,單機關係型資料庫逐漸有了吃力和老態的跡象。為了對海量資料進行儲存和分析,尤其是離線積累的資料,各類高效、可伸縮、可部署在低廉硬體上的大資料處理平臺紛紛嶄露頭角。
而後的網際網路時代初期,內容和使用者線上行為都極大豐富,但當時主要是海量非結構化的資料儲存(視訊/音訊/圖文/社交關係等)、但資料規模龐大,要求併發性流量、同時爭奪流量,快速響應使用者訪問、提供低延遲使用者體驗的需求驅動了 NoSQL 生態的發展。因為早期網際網路業務不以盈利為目的,要處理的資料更多是使用者在網際網路上的瀏覽記錄,社交關係等,所以對於事務特性上就沒有那麼高的要求。
進入移動網際網路時代,隨著資料量的迅猛增長,業務在保證良好使用者體驗的同時還要完成交易和變現,業務敏捷除了要求系統能快速響應業務變化和資料增長,還要求高可靠地支援海量交易、支付等嚴肅事務。可以看到,這時期業務驅動力的三要素都進入了視野。部分企業仍在通過 SQL 生態雲化的過渡方式來滿足,但我們也在實踐中看到,當使用者的資料量尤其資料更新超過一定範疇,原生分散式的 NewSQL 才是先進架構的選擇。再加上資料技術都進入到全面雲服務化的階段,架構的差異就更加顯露出來。
同時,實時洞察要求資料決策從 T+1 向 T+0 升級,甚至是秒級毫秒級的分析響應,實時匯聚多源資料、動態更新並靈活計算都是不斷出現的需求,漸漸的事務性計算和分析性計算之間的分界越來越模糊,資料庫和大資料的技術創新會不斷融合。
最後,硬體是軟體發揮作用的基石,資料技術的發展離不開基礎設施的發展。
從大型機到 X86 伺服器再到雲端計算,基礎設施部署實現了從 “年” 到 “月”到“日”到“秒”的顛覆性變革,資源從專有、封閉到按需啟動、彈性擴充套件。雲原生時代再次把資源規模擴大,資源顆粒度縮小,API 化、微服務化進一步把業務上線、更新的速度推到秒級。
未來,資源分離的設計將在雲上釋放更大的威力。上面資料庫發展的時間軸只畫到了 NewSQL,實際上資料技術還在不斷進化。相信在這個程式中,開源能夠發揮的價值將越來越大。現在所有云的產品背後核心都來自於開源,創新源動力也是來自於開源。以下是在 2021 PingCAP DevCon 大會上,東旭提出的一個大膽假設:雲原生的時代,所有能分離的都會分離,規模效應掌控一切。這個分離包括儲存與計算的分離、更極致的是不同目的的儲存與儲存的分離,業務計算與分散式計算及事務性計算可以進一步分離。不斷把規模效應和資源效率優化推向極致,而對於使用者而言,只需要關注業務本身就好,其他的都交給雲端的資料庫來完成。
在這三個驅動力作用之下,我們可以總結下 TiDB 過去 6 年中產品的迭代來做個印證。
TiDB 產品最大的優勢是技術開放性,架構開放就意味著能夠產生更多的連線,更多連線意味著更快的迭代速度、更多的可能性。
TiDB 的初心是希望提供一個原生分散式且良好支援 OLTP 事務的資料庫,讓我們的 DBA 不再因為海量資料的分庫分表加班熬夜。TiDB 1.0 和 2.0 解決的就是這個問題。後來隨著數字化帶來的實時化訴求,一棧式 HTAP 成為我們的努力方向,伴隨今年 TiFlash MPP 的釋出,我們已實現全面的 HTAP 能力。
作為雲原生的分散式資料庫,我們在今年推出了 TiDB Cloud,以及免費開放給開發者試用的 Developer Tier,使用者可以在 Amazon Web Services 上免費執行 TiDB 叢集一年。TiDB Cloud 負責基礎設施管理、叢集部署、備份管理等所有後臺資料庫管理,讓開發者可以專注於打造優秀的應用,實現秒級切換。所有這些都基於開源帶給我們的迭代速度和創新源動力。
最後用 RedHat CEO Paul Cormier 最近在電視採訪中說過的一句話作為總結:
Open source software is the heart of the technology behind cloud computing。
是不是開源,是不是要去做開源,是不是要把開源作為公司持續創新的外在推動,我認為是每一家基礎軟體公司都可以去深度思考的一個問題。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994146/viewspace-2851984/,如需轉載,請註明出處,否則將追究法律責任。