博客 / 詳情

返回

實時分析、融合統一及雲原生,現代化數據倉庫未來發展必經之路|專訪飛輪科技 CEO 馬如悦

在國內擁有 2500+ 中大型企業用户,用户社羣聚集開發者超 3 萬人,活躍貢獻者數連續數月穩居全球大數據開源項目排行榜第一。毋庸置疑,Apache Doris 已成為全國數據庫和大數據領域最為活躍的開源項目之一。Apache Doris 歷經近十年的發展,為何還能持續保持競爭力和活力?其背後的核心推動力又是什麼?

在 QCon 全球軟件開發大會·北京站的現場,基於 Apache Doris 的商業化公司飛輪科技的 CEO、Apache Doris 項目創始人 & PMC 馬如悦接受了採訪。馬如悦曾在百度擔任過分佈式計算團隊、大數據工程團隊和 AI 產品工程團隊的技術負責人,還主導設計和開發了實時數倉 Apache Doris。他對於 Apache Doris 的技術發展路線以及實時數倉的未來發展有着更加深刻的認知。

Q1:作為一名深耕數據庫領域多年的從業者,您觀察到企業對於數據倉庫的需求點主要集中在哪方面?

馬如悦:縱觀數據倉庫的發展歷程,數據倉庫的演進經歷了三個階段,第一階段,即在 2010 年之前,傳統數據倉庫解決方案包括 Teradata、Greenplum、IBM Netezza 來處理大數據問題。第二階段,約在 2010 年左右,隨着谷歌三駕馬車的問世,人們逐步開始使用 Hadoop 大數據平台進行數據分析。如今已經進入了第三階段,現代化的數據倉庫產品開始涌現,這些產品結合了傳統數據倉庫的可靠性和性能優勢,同時具備了對大數據的高效處理和實時分析能力。

作為一個完整經歷了第二代大數據平台歷史的從業者,在百度早期我主要負責 Hadoop 和 Spark 相關的工作,後來主導設計了 Doris 並將 Doris 貢獻至 Apache 基金會。我們認為第三代數據平台的主要特點是實時化、架構的融合統一化以及雲原生化

隨着業務需求的不斷增長,企業對數據的實時性要求也越來越高,現代化數據倉庫需要具備高速的數據處理和分析能力,能夠實時響應和處理大規模數據流。同時,企業越來越傾向於將數據存儲和分析工作遷移到公有云 / 私有云 /K8s 上,因此現代化數據倉庫需要支持雲原生架構,具備彈性伸縮、自動化管理和雲端部署的能力,以適應雲計算環境的需求。除此之外,我認為融合統一是也是現代化數據倉庫核心的特徵。在大數據領域,存在眾多的系統和組件,它們往往在架構中扮演着不同的角色。而隨着時代的進步,架構“減負”已成為企業發展的重要目標,因此像融合數據庫、超融合數據庫、湖倉一體、流批一體等具有“融合統一”特徵的數據庫開始涌現。結合實際發展來看,過去幾年,事務數據庫已呈現明顯的融合趨勢,像 OceanBase、TiDB 以及 PolarDB 等新一代 NewSQL 事務數據庫已經出現。同樣地,數據倉庫走到今天,融合統一也是必經之路。

這些特點其實也就是企業對於實時數據倉庫的真實需求,也是 Apache Doris 在過去幾年來廣受認可的重要原因。

Q2:近期,我們關注到飛輪科技宣佈將企業產品 SelectDB Cloud 雲原生存算分離架構貢獻到 Apache Doris 社區。在雲原生存算分離架構的研發過程中,團隊遇到過最大的技術難題是什麼?又是通過什麼方式解決的?

馬如悦:有很多人之前就問到 Apache Doris 為什麼沒有實現存算分離,是因為技術太難了嗎?實際不然,存算分離相比於存算一體來説更容易實現,存算分離依賴 HDFS、雲上對象存儲這樣的共享存儲系統,在設計實現時無需在存儲層有太多投入,只需專注於計算層的實現即可。

那麼回到問題本身,我們在雲原生存算分離架構的研發過程中遇到了哪些問題:

一是如何實現存儲和計算的狀態剝離。在存算分離架構下,計算節點不再存儲主數據,而是將共享存儲層作為統一的數據主存儲空間,這樣計算節點可以做到無狀態,可以實現完全關機,同時可實現更便捷的數據共享,不同的集羣之間以及不同的倉庫可以便捷地進行數據共享。

二是如何解決讀取效率下降問題。存算分離依賴從網絡上讀取存儲系統的數據來進行計算,在一定程度上會造成計算性能的下降,為了解決這一問題,我們利用 SSD 提供高速緩存來應對底層對象存儲系統性能不佳和網絡傳輸帶來的性能下降。其次我們在存算分離模式下,提供了同一個倉庫多個物理計算集羣的隔離方式。計算集羣可以獨立擴縮容,其計算節點的本地高速緩存都是隔離的,這樣儘可能保證了比較好的隔離性,從而避免集羣間的影響,保證整體計算性能不下降。

三是解決對象存儲讀取帶寬限制的問題。當用户購買公有云之後,雲廠商會為每個企業賬號分配資源配額,並提供對象存儲訪問平台供用户訪問。然而我們作為一家軟件服務商,我們希望產品能夠被上萬家甚至更多的企業使用,這就需要更多的帶寬資源。過去,大部分雲廠商都是直接服務終端用户,很少針對我們這類型的軟件服務商做設計。而通過我們與各大雲廠商的積極溝通,已經爭取到了更大的帶寬資源配合,足以滿足當前各企業的需求。

此外,安全問題也是企業非常關心的問題。對於數據安全和合規性有着更高要求的企業,希望在享受自動化管理特性的同時,能夠將數據存放在自己的賬號下進行管控。因此,SelectDB 預計在 9 月底推出雲上的一種新的產品形態,這款新的產品形態將實現數據面在客户賬户,而管控面仍然在我們賬户運行,這可以很好滿足相關行業對數據安全管理的要求。

Q3:選擇將存算分離架構貢獻回開源社區,這一決策的出發點是什麼?

馬如悦:在回答這個問題之前,我想先分享一些我的所見所知。做開源的公司一般都會遇到這個經典的提問:雲廠商會不會免費用你的代碼來進行託管賺錢?

過去幾年,我們觀察到 MongoDB、Redis、ElasticSearch 等項目在不斷變更許可證,但我認為這些調整無法解決根本問題,雲廠商並不會因為許可證的改變而選擇必須與這些項目合作,反而可能會推動他們自己開發與之兼容的產品。例如亞馬遜雲科技就推出了 DocumentDB、OpenSearch,這反而加劇了競爭局面。

我們的路線與之完全不同,我們致力於構建更加開放的生態系統。相比於和雲廠商進行存量競爭,我們更願意與雲廠商攜手合作,共同擴展市場。我們的目標是將蛋糕做得更大,讓整個市場蓬勃發展。我們希望將 Apache Doris 打造成 AP 領域事實上的“MySQL”,只要 Apache Doris 成功了、做大了,全面擁抱 Doris 的所有商業廠商都能獲益。我們只要努力保證我們的商業產品有足夠的競爭力,能在市場上佔領足夠大的份額,我們的收益也是最大的。所以,我們選擇了一個更開放的道路,與各家雲廠商敞開懷抱合作,有競爭有合作。這種合作共贏的態度將促進整個生態系統的健康發展。

那麼話説回來,如何才算更加開放?舉一個簡單的例子,當我們打通上下游生態時,我們是應該打通 Apache Doris 還是 SelectDB?許多人可能會認為,作為一家商業公司,我們應該打通 SelectDB,而我認為這種思路是不正確的。實際上我們花費了很多精力來幫助所有的上下游打通 Doris,這樣當用户無論使用哪一家基於 Doris 開發的商業分發版的廠商都能順利使用。這樣一來,上下游廠商也更有動力去打通 Apache Doris,雲廠商也願意持續擁抱 Apache Doris 社區,廣大的用户也能不被任何一個商業公司鎖定,因為大家都遵守了 Apache Doris 的開源標準,也就不需要去學習每家商業廠商的不同。所以一旦秉着開放的心態做事,不是兩方、三方共贏,而是所有方共贏

回到最初的提問,飛輪科技選擇將存算分離架構貢獻給 Apache Doris 社區,其本質目的也是為了進一步讓更多用户收益,如果大家都需要,我們就希望在內核層面提供支持,而不是希望各家分發商提供自己的實現,然後造成未來這塊各方產品的不一致。而在這樣的背景下,用户也可以獲得兼容性更好、性價比更高的產品使用體驗。

Q4:對於 Apache Doris 社區用户而言,新的存算分離架構在使用上有什麼差異?如果用户想從存算一體的架構切到存算分離的架構,遷移方式與遷移成本是怎樣的?

馬如悦:Apache Doris 在國內有大約 2500 家企業使用,任何一個功能不兼容的問題都會對廣泛的用户產生重大影響。因此,我們必須認真考慮企業升級的問題。因此,當 Apache Doris 推出存算分離架構時,我們非常謹慎地進行規劃。目前,我們採取逐步迭代的方式,以確保最大程度地保護已有大量用户的利益。

在 Apache Doris 2.0 中,我們開始引入部分存算分離的能力,來解決大多數用户所面臨存儲成本高昂和計算彈性不足的問題。通過冷熱數據分層(Tiered Storage),可以把將冷數據下沉到存儲成本更加低廉的對象存儲中。其次還引入了無狀態的計算節點 Compute Node,Compute Node 不保存任何本次持久數據,在集羣擴縮容時無需進行數據分片的負載均衡,因此在數據湖分析這種具有明顯高峯的場景中可以靈活擴容、快速加入集羣分攤計算壓力。雖然這個版本並不沒有實現純粹的存算分離,但已經能解決用户許多問題。

在即將發佈的社區 2.1 版本中,會發布更加徹底的存算分離架構。該版本將採用兩種模式之一運行:存算一體的部署模式和存算分離的部署模式。在兩種模式下運行的 Apache Doris 將以不同的方式來存儲主數據。從用户使用體驗上而言,絕大部分功能都是一致的,但是也會因為實現架構和部署模式的不同,帶來一些功能細節上的差異。如果用户想要使用這個版本,就需要在搭建集羣之初明確採用哪種模式。

我們也計劃在明年,更進一步優化存算一體和存算分離的融合過程,為用户提供更加絲滑的架構切換體驗。

Q5:現在市場上數據庫產品越來越多,您覺得對於飛輪科技這家公司來説,我們的機遇和挑戰分別是什麼?

馬如悦:放眼全球,中國數據庫市場可以説是競爭最為激烈的。全球大約有五六百款數據庫產品,而僅中國市場就佔據了其中的兩到三百款,這足以表明中國數據庫市場的多樣性和競爭程度。

面對如此激烈的競爭壓力,我們最大的挑戰是如何在眾多企業中持續保有核心競爭力,這與未來數據倉庫的發展趨勢密切相關。正如前文所述,我們認為當前數據倉庫未來的發展趨勢一定是朝着實時分析、融合統一和雲原生化分析方向發展的。而在這三個方面,我認為我們是國內目前相對領先、且理解較為深刻的廠商。

以湖倉融合體系為例,很多廠商也都在談自己的湖倉融合,詞是一個詞,但是每個廠商落地到產品上就會不一樣。Apache Doris 社區有自己的務實理解。Apache Doris 已經提供了高性能的計算引擎,使企業能夠靈活地查詢數據湖中的計算格式。同時,Apache Doris 還可以作為一個開放的數據湖,提供更加原生的能力,被其他查詢引擎高速查詢,目前為止,同類數據庫產品中這一點只有 Apache Doris 在踐行。

由此可見,實時分析、融合統一和雲原生化這三個特性對於我們來説,不僅僅是一個概念,更是一個實際可行的目標。在大模型技術異常火熱的今天,有很多人問為什麼不做向量數據庫的支持。一方面,我們對於向量化數據庫這個垂直領域的理解還不夠透徹,更不會因為熱度而脱離主力目標發展方向;另一方面,Apache Doris 已經擁有龐大的用户羣體,我們更傾向於將現有問題解決好,堅定地將上述提到的三個特性做紮實,這就足以滿足大多數用户的需求。

Q6:去年亞馬遜雲科技在 re·Invent 提出的“Zero-ETL”,要解決什麼問題?飛輪科技是否會有相應的佈局?

馬如悦:在數據基礎設施中,主要包含事務數據庫和分析數據庫(數據倉庫)兩類,Zero-ETL 更多是讓兩者間的數據能夠快速導入和貫通。

我認為 Zero-ETL 的出現給出了這個領域另一個問題的可能答案。很長時間,人們一直在談論  HTAP,特別是以 OceanBase、TiDB、PolarDB 等以 TP 為主的廠商。這些系統以 TP 為主,但也宣稱能解決 AP 的問題。從這麼多年來實踐來看,大量用户更願意採用類似 MySQL/Oracle + Apache Doris 的組合方案。而 Zero-ETL 的出現也正是同樣的思路,提供了實現 HTAP 另外的一種選擇,它不認同要在一套系統裏同時處理 TP 和 AP 的做法,而是可以採用快速地將 TP 的數據同步到 AP 中的方案。Zero-ETL 通過優化 TP 和 AP 打通的更好體驗,提供了 HTAP 一體化的解決方案,而不是試圖去在一套系統裏解決兩個問題。

這與數據倉庫的實時分析能力有很大關係。舉例來説,對於事務數據庫來説,上游 TP 數據庫的增刪改操作希望能在在秒級以內同步至 AP 數據庫,並且希望能夠在 AP 數據庫中立即查詢分析。如果讓 TP 的數據以 ETL 的方式進入 AP,數據處理鏈路的增加,勢必造成數據進入數倉的速度也會隨着變慢,整體可見性將受到影響。同時,由於越來越多的數據分析需求無法提前預知,所以分析前的預處理也變得無法提前規劃,數倉能力的增強,也使得數據可以快速進入,然後在查詢時按需對數據進行轉化處理即可。現代化數據倉庫提供實時分析能力,就需要類似 Zero-ETL 這樣的方案,將 TP 數據庫數據以秒級的速度高效同步到數據倉庫系統中,以供類似 Apache Doris 進行高效處理和分析。

飛輪科技與阿里雲合作的面向 Apache Doris 的阿里云云原生服務產品(阿里雲 SelectDB 版本),已經在 8 月 20 日進行邀測,預計在 9 月底進行公測,其中也包括類似於 Zero-ETL 的解決方案。用户使用阿里雲的 MySQL 或者 PolarDB 來作為事務數據庫後,只需進行適當配置,數據就可以立即同步到阿里雲上的 SelectDB 中,從而實現 TP 和 AP 數據庫之間更好的協同工作。

寫在最後

在採訪最後,馬如悦強調:“很多人問大數據分析領域有沒有更新的黑科技了,實際到現在,大數據分析這個領域不是產品太少,黑科技太少,而是太多太複雜了。Hadoop 逐漸被替代最主要的原因是組件過於複雜,而過去數據倉庫領域也涌現出了太多的新概念,我們接下來更希望把產品做得更簡單、統一。”在他看來,Apache Doris 能否在未來穩居大數據項目第一梯隊,並不是依靠更多的組件更多的功能,而是要堅定的專注於實時分析、融合統一和雲原生化,將產品做到極致,讓數據分析快速簡單。

“實時分析、融合統一以及雲原生化”,是馬如悦在採訪過程中不斷強調的三個關鍵詞。我們也很樂於看到,未來在飛輪科技的持續引領下,Apache Doris 能夠持續朝着以上三個目標迭代,不斷降低企業使用數據系統的複雜度。

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.