OceanBase 的長期主義
作為基礎軟件領域的三駕馬車之一,數據庫一直是技術開發中重要的領域,并延伸出諸多細分的類別:關系型數據庫、非關系型數據庫、分布式數據庫、文檔型數據庫等等。國產數據庫歷經了幾十年的發展,最近幾年,迎來了快速發展的黃金時期。其中,OceanBase起源自2010年,最初主要用于支撐淘寶“雙十一”活動爆炸式增長的海量數據,后來隨著OceanBase不斷地自研優化和增強,自此開啟了發展的“狂飆”之路:從2010年用來扛住淘寶“雙十一”峰值流量的分布式存儲系統,到100%承載支付寶上所有核心交易的核心鏈路,再到2017年正式對外商用,與多家金融客戶正式合作;從2019年TPC-C測試打破世界紀錄,到2020年獨立商業化,再到2021年的開源開放;從2016年支持分布式事務的1.0版本,到2022年成為業內首個單機分布式一體化數據庫的4.0版本……終于,在今天迎來了2023年OceanBase的首次開發者大會。
3月25日,OceanBase開發者大會·2023在北京舉辦,與開發者共同探討單機分布式、云原生、HTAP等數據庫前沿趨勢,分享全新的產品RoadMap、交流場景探索和最佳實踐,現場更有互動展區等開發者專屬環節。同時,作為完全自研的國產開源數據庫,OceanBase的議程內容干貨滿滿,設置了“場景與最佳實踐專場”、“開源生態專場”、“數據管理與服務專場”,以及可以動手體驗的workshop供開發者學習和參與。值得一提的是,OceanBase 開源技術全景生態在大會上首次亮相,重磅推出的OceanBase 4.1版本增加了旁路導入、租戶級別物理備庫、MySQL 8.0兼容等多項開發者利好的能力,小規格環境TP性能sysnbench綜合讀寫能力相比4.0提升40%,TPC-H 100G場景性能比4.0提升17%,TPC-DS 100G場景性能比4.0提升15%。不僅揭曉其從0到1的全面進展,還帶來了180個生態工具與開發者見面,全面賦能開發者,是一場為開發者準備的數據庫技術盛會。因此,CSDN特別專訪了OceanBase CTO 楊傳輝、OceanBase首席架構師楊志豐,作為數據庫領域鉆研多年的老兵和實踐者,聽聽OceanBase對數據庫發展與開發者生態的最新理解。
對開發者友好的 OceanBase
離不開四大重要方向
首先想問下正在看文章的你,作為開發者,你最喜歡什么樣的數據庫?你的回答可能是“既要又要還要”:數據庫要功能強大、又要簡單好用、還有可擴展性、當然最重要的穩定性,最好還得要兼容性……如何滿足這些訴求?OceanBase正在打造對開發者友好的數據庫。自2021年6月正式開源以來,在不到兩年的時間里,OceanBase社區用戶超33000名,截至發稿,收獲全球超過5300位開發者關注,有199位代碼貢獻者進行代碼貢獻,追上了國外主流社區頂級項目數年的社區活躍度。為什么 OceanBase深受開發者青睞?在CSDN看來,OceanBase已具備大家“既要又要還要”的一些特性:一是穩定可靠。很多開發者有過凌晨爬起來處理過故障的經歷,因此穩定可靠是數據庫對開發者友好的首要條件。目前,OceanBase已連續10年穩定支撐雙11,楊傳輝說“OceanBase 從來沒有出現過一次重大的生產故障。”為什么OceanBase這么牛?離不開這三大穩定秘訣:支付寶業務將數據庫分成狀態庫和流水庫;保持數據一致性,做到“應校盡校”,即不管針對多個父本之間的數據一致性,還是每次事故的并發操作或讀寫磁盤都做校驗;通過混沌工程來保證穩定性,斷網演練或直接拔網線,并持續備份恢復,OceanBase可以做到備份恢復成功率100%。二是高性能、低門檻。去年8月,OceanBase 4.0版本推出單機分布式一體化架構,打破了分布式技術的不可能,既可以像單機數據庫一樣使用,又擁有分布式數據庫無限水平擴展的能力,更兼具高性能。同等硬件條件下,單機分布式一體架構的性能通過評測,超越了MySQL 8.0。單機分布式一體化架構大幅度降低開發者的使用門檻,OceanBase單機部署最小支持4核8G,目前 OceanBase可運行在世界最小的電腦樹莓派開發板上。而且,單機部署同樣具備分布式數據庫所具備的完整功能。三是功能強大。OceanBase攻堅HTAP能力,讓一份數據既能做交易又能做分析,實現低延時、低成本。四是符合技術趨勢發展。OceanBase不僅是云原生,還是多云原生,能部署在多云平臺,對用戶提供完全一致的使用體驗。除了以上這些,作為開發者最關心的性價比,OceanBase也十分友好:在同等性能的前提下,相比云上MySQL 8.0,OceanBase 可幫助用戶降低18.57% 至42.05%的整體成本。例如,菲律賓版支付寶GCash,原來使用的是 MySQL,成本高,管理復雜。遷移到OceanBase HTAP分布式數據庫后,整合所有MySQL到一套系統里面集中化管理,整體資源成本下降40%,存儲空間下降70%。楊傳輝在大會現場說,“OceanBase將持續降低開發者使用門檻,全面提升OceanBase的易用性,打造真正對開發者友好的數據庫,建設開放的技術生態,讓國產數據庫走向田間地頭?!辈粌H如此,OceanBase作為一款對開發者友好的數據庫,不斷傾聽用戶需求,持續保持迭代創新,本次在大會上推出的OceanBase 4.1便是最好的例子。OceanBase 4.1為開發者的研發與DBA痛點而生在分布式數據庫面世之前,傳統單機數據庫是業界主流選擇,但隨著技術與應用場景的發展和訴求,傳統單機數據庫面臨著高可用問題、數據一致性問題、容量/性能擴展和結構變更問題、HTAP問題和容災能力不足等問題,成了開發者們難以言喻的“痛”。2022年,OceanBase發布的OceanBase 4.0,在分布式數據庫的基礎上引入了一體化結構創新理念,讓分布式數據庫也支持單機場景,并且保持性能和兼容性,打破了分布式數據庫智能支持大企業、大體量數據的思維定式,規模化地支持大中小企業對數據庫各種需求,同時還能很好地適配在云環境中,大大擴展了分布式數據庫的場景和可能性。而在2023年OceanBase開發者大會上,OceanBase 4.1版本正式發布,這是一個基于OceanBase 4.0架構的延伸和增強。4.1版本在4.0版本的基礎上大幅提升性能,從開發者的角度出發設計了一系列提升性能和效率的能力。因為4.0版本的全新架構固然為企業使用數據庫帶來更廣闊的可能性,但在新的架構變化下,也增加了開發者們各種功能和適配上的工作。例如:
場景性能持續提升通常,數據庫讀寫是系統的主要瓶頸,也是優化收益最高的部分。OceanBase 4.1版本解決了開發者最關心的綜合讀寫能力,在寫入性能、查詢優化、索引優化、存儲/配置優化等等全方位的性能提升,增強優化了事務處理性能與復雜分析場景的性能持續能力;同時AP能力也得到了增強,優化了資源隔離能力,對存儲層I/O多租戶間的強隔離和快速導入。輕量化部署,門檻更低OceanBase 4.1在保持性能和穩定性以外,也大大降低了開發者使用分布式數據庫的門檻,以及中小企業部署OceanBase的難度。過去提起分布式數據庫,許多開發者第一反應就是“重”,而OceanBase 4.1版本只需要2分鐘便可以快速安裝部署;在主備庫方面達到更細粒度、更靈活的租戶級備庫能力;還有白屏化部署分布式集群、OCP Express最小資源管理進行集群監控管理,以及可支持復雜場景下的全鏈路追蹤診斷能力,從應用追蹤到數據庫內部的增強,大大減低了部署難度,部署更輕松。開發者易用性更強基于OceanBase 4.1單機分布式一體化架構,DDL功能(Data Definition Language,數據庫模式定義語言DDL)也得到了多方位的增強,尤其是對MySQL 8.0功能性的兼容,新增了幾十個系統函數和各種模式下的行為的兼容,使OceanBase 4.1易用性更強。OceanBase在提高易用性方面做了許多努力。比如DBA的易用性上主要增強了診斷能力,讓應用于生產的數據庫能夠及時觀察和診斷到產品的組件化和內部問題,在研發時特意長時間運行SQL觀測實施進度;同時,“全鏈路追蹤”的特性是OceanBase的一大亮點,普通數據庫只能追蹤到數據庫內部,但OceanBase全鏈路追蹤可以從應用開始一直追蹤到數據庫內部,更重要的是,OceanBase 4.1將所有組件全部打通,包括OceanBase各種語言的驅動、所有中間代理層和數據庫內部協議、追蹤的信息傳遞等等,為此,OceanBase 4.1特意修改了OceanBase 的通訊協議,讓開發者在使用時更簡單高效。將整體研發流程遷移至外部,統一企業版和社區版代碼分支,讓每一位開發者都可以看到代碼進展。另外,OceanBase還將開源三大開發者工具ODC、OCP Express和MySQL binlog service,持續保持開源開放,匯聚更多開發者。用產品思維與開發者共建主流數據庫的技術生態除了產品的易用性以外,數據庫的發展離不開開發者們的共建,在楊傳輝看來,為了更好地提高開發者的體驗,OceanBase用產品思維去看待開發生態的運營,在場景化、開發者運營以及社區方面重點運營,汲取更多開發者提出的建議和意見,共同構建一個更符合本土化開發習慣、更低門檻、更可持續發展的開源數據庫。比如在開發者文檔體驗方面,OceanBase結合外界反饋的問題和建議,從貼近用戶視角和場景做設計,重構了7000多頁文檔。不僅幫助開發者快速找到對應文檔,在文檔中還清楚告知其能夠“解決什么問題”而不是僅僅展示“我是干什么的”,以及面向開發者的研發流程重構,確保每一位開發者的可參與性,這是一個解決方案整體思路上的變化,幫助開發者將精力用于開發、創造上,而非繁瑣重復的基礎工作上;而且近兩年OceanBase也不斷在降低開發者的入門門檻,比如診斷能力、文檔、工具等方面的優化,以及開發者的設備限制如何解決等等。另外在社區方面,OceanBase從去年開始不斷打造更多元的社區活動,除了線上的各種齊備的教程以外,還圍繞產品的用法、玩法和技術解析,以線上視頻、線下Meetup等方式與開發者近距離溝通。今年還準備了許多城市級的Meetup,比如到成都、武漢等城市,與企業聯合,讓開發者們跟隨OceanBase走進企業實地觀測應用場景;在激勵政策方面,除了對優質社區成員的評選以外,還有不定期的線下聚會、技術交流等玩法,目的就是為了更進一步與開發者溝通、共建社區。在人才培養上,通過舉辦OceanBase 數據庫大賽等活動,推動產學研協同育人的聯合教學。未來展望未來,OceanBase 將走向何方?楊傳輝表示,從OceanBase 4.1開始,OceanBase將持續拓展OceanBase數據庫的分析能力,朝著一體化的思路繼續前進,同時加強云上能力,包括對多云更好的支持、云上不同硬件環境下發揮更高性價比、降低開發者使用的復雜度、與云上和線下的更多生態工具做對接和適配,包括應用代碼、數據治理、運維管控、K8s能力的進一步提升等方面持續發力。重點在于,所有發展都需要配合生態來做。OceanBase希望給生態留下足夠的空間,有計劃地去與業內優質生態伙伴合作與適配,讓更多的伙伴和開發者參與到OceanBase當中,共同構建和治理國產主流數據庫,為國產數據庫的繁榮生態貢獻力量。實時數據分析與專業的數據倉庫到底未來發展如何,楊傳輝認為,未來HTAP和OLAP將會并行和共存, HTAP是OLAP的延伸和“Plus”版。就像OceanBase在做高并發的OLAP基礎上也能做單機分布式一體化,并保證性能與穩定性,在此基礎上還能順帶把實時分析的場景解決掉。另外從場景的角度看,對于大企業來說,很多時候要做全公司的數據治理,所以數倉本身即使脫離了數據庫的范疇,也依舊有自己獨特的價值,而HTAP數據庫更適合中小企業應用,因為不需要解決太大的數據治理問題,可以降低成本。我們看到,在多年發展之后,現在的OceanBase變化確實很多,但其中不變的是OceanBase將堅定HTAP的方向,堅持“一個系統,一份 schema”,在此基礎上提高隔離性和列存支持,同時,消除系統的復雜性也是 HTAP 走向開發者的重要前提。具體產品技術角度,不變的是OceanBase堅持自研和落地核心業務場景,以及云上云下一致的體驗,變的是從上云到多云部署的云友好和更好的性價比;不變的是核心技術完全開源,變的是更開放的協作模式和更好的易用性。楊傳輝表示,希望真正將OceanBase做成一款主流的、比肩海外主流數據庫的產品,就要堅持的長期主義,這就不僅是產品的高并發與性能穩定性滿足需求,更要做到讓開發者喜歡用、易用,也許這就是OceanBase一路發展歷程的原因和核心動力。CSDN將持續報道國產數據庫技術發展,見證優秀的數據庫崛起。也歡迎開發者關注OceanBase開發者大會,一起投身國產軟件的開發與建設。
隨便看看:
相關推薦:
網友評論:
推薦使用友言、多說、暢言(需備案后使用)等社會化評論插件