天天看點

什麼才是開發者友好的HTAP?

作者:InfoQ

OLTP 和 OLAP 技術棧曾因大資料系統規模問題分道揚镳。但是随數字化技術落地到千行百業,複雜的業務場景産生海量資料,即使是相對成熟的 OLTP 産品也無法滿足業務對于實時分析的需求,于是 OLAP 技術快速發展,至 Gartner 正式提出了 HTAP 這一概念,到如今呈現出 HTAP 理念大火的局面。

雖然 HTAP 概念已經普及很長時間,但是業内對于 HTAP 的了解不同,國内幾款代表性的 HTAP 資料庫技術路線也不盡相同。開發者應該如何了解 HTAP?什麼才是開發者友好的 HTAP?想要了解什麼才是開發者友好的 HTAP,不如先來看看開發者們對于資料庫的偏好。

開發者需要怎樣的資料庫?

在 OceanBase 開發者大會上,OceanBase CTO 楊傳輝表示,開發者的首要需求是穩定可靠。“或許開發者第一反應是代碼要好,寫起來比較簡單,但是如果你去追問,一定會得到‘首先不能有故障’的答案。”其次是多雲原生。在多雲、混合雲的大趨勢下,雲原生資料庫如今更能滿足開發者需求。沃趣科技創始人兼 CEO 陳棟也表示:“多資料庫選擇、多雲部署趨勢特别明顯。”

再次是一體化。目前國内資料庫有集中式和分布式兩大技術路線,每條技術路線各有優劣,雖然分布式資料庫目前還未占據主導地位,但其對于業務場景的适配能力得到了普遍認同。整體來看,國内企業整體對于分布式資料庫的需求依然旺盛,開發者對于分布式資料庫的熱情不減。在資料庫融合的大趨勢下,楊傳輝判斷,國内集中式和分布式融合的需求是存在的,開發者也就自然需要關注集中式分布式資料庫融合的問題。“最早的 OceanBase 的一體化架構叫做‘集中式分布式一體化’,當時我們認為 DBA 更加熟悉集中式這個說法。不過,市場品牌的負責人建議修改成 ‘單機分布式一體化’,這樣會更加形象直覺,能夠更好地表達 OceanBase 的技術特點,開發者也更容易了解。很多開發者來自使用分布式資料庫的公司,不僅希望分布式簡單,還希望不會因為資料庫能力不足而做很多業務的改造。OceanBase 收到了很多融合的需求。”他談道。

最後是使用者體驗,降低技術産品的使用門檻是保證使用者體驗重要的一環。“從入門到勸退、還是從入門到精通,其實就是使用者體驗應該解決的問題。”楊傳輝表示。

dbaplus 社群聯合創始人楊建榮近期在社群内做了一項開發者對于分布式資料庫需求的調研,結果顯示,開發者對于分布式資料庫選型依次比較看重穩定性、成本(硬體成本和研發接入成本)、易用性和對主流技術棧的相容。PostgreSQL 中文社群主席張文升觀察到,業務越來越複雜,企業開始關注在不同細分場景裡是否有更好用的資料庫功能或資料庫,導緻企業采用越來越多的資料庫可能成為一種常态。

但是從開發者或者企業的角度來說,采用的資料庫越來越多并不是一件好事。技術人員對不同資料庫的學習成本居高不下,企業對于多種類資料庫全生命周期的管理也是一個難題。不完全統計顯示,國内資料庫公司超過 300 家,技術産品各有千秋。是以,企業選用的資料庫産品固定在少數幾家或許才是未來資料庫在企業内部的常态。沃趣科技創始人兼 CEO 陳棟表示:“我們對接的頭部券商基本上都會說希望資料庫類型最終控制在 10 種以内。dbaplus 社群聯合創始人楊建榮判斷,這個數量可能還會縮減至 5-6 種。

如今我們可以看到的是,穩定可靠、簡單易用、多雲原生、可擴充、使用者體驗佳、計費方式更加彈性的資料庫産品将更受開發者歡迎。HTAP 作為資料庫融合的方案之一,廣受關注的原因之一就是簡化了企業對于資料庫的使用。

什麼才是開發者友好的 HTAP?

如今,OLTP 技術已經比較成熟,但是成本也比較高,是以很多企業開始把 OLTP 資料庫慢慢轉向 OLAP 對外提供服務。新一代雲原生 OLAP 正在替代傳統大資料項目,讓大資料項目朝着更簡單、更好用、高性能的方向發展。

HTAP 是資料庫融合的一種方案,把事務處理和分析處理都集中在一個系統中對外提供服務,目前已經成為 OLTP 方向資料庫正在追求的一個重要方向。國内的 OceanBase、PolarDB、TDSQL-H、TiDB 等都實作了 HTAP。在過去很長一段時間内,似乎是否支援 HTAP 成為資料庫是否“先進”的隐形名額。

不過在楊傳輝看來,如今業内對于 HATP 甚至 AP 這個詞都沒有明确的定義。他将 HTAP 分成三類:第一類做并集,TP 也行,AP 也行;第二類做交集,本身的 TP 能力和 AP 能力單獨去看都是比較弱的,交集在一起能去覆寫一些場景;第三類就是 OceanBase 自然衍生的“OLTP plus”思路,可以了解為是 OLTP 加上 OLAP 形成 HTAP 這個系統應用的核心。

在 dbaplus 社群聯合創始人楊建榮看來,HTAP 的底層設計還是讀寫分離,需求也是讀寫分離,更多需要解決讀的場景下的問題。在他看來,原生對于對 HTAP 要求會更高一點,具備 TP 的能力,從 AP 的場景入手,到 TP 的切換會更容易。

“(現在出現)很多不同的路徑,從 OceanBase 的角度來講,在一個單機上甚至上在某一個頁面上進行優化,有一部分列存,有一部分行存。怎麼調它都有成本,你怎麼搬過來搬過去都有成本。怎麼去找到平衡點,我認為是最重要的。”中達金橋資深資料庫專家盧東明表示。

在陳棟看來,"Oracle 也是這樣的思路,把 TP 做到極緻,同時擁有部分 AP 能力、離線能力。OceanBase 後續的 roadmap 非常巧妙,拿出一個副本做列存,既升節空間,又做到資料的一緻性,不需要單獨設計一個表格,我十分期待這個功能",HTAP 最終是為了解決混合場景的問題,解決這個問題可以用多表查詢、大表關聯的方式來實作,也可以用列寸的方式實作,還可以純粹依賴硬體紅利。“因為資料庫運作是平衡的系統,從計算到網絡到存儲到 IO 到資料庫核心,就看哪個地方最高成本效益可以解決問題。”

僅從運維的角度來看,楊傳輝認為開發者友好的 HTAP,“一定是讓開發者覺得越來越簡單,比如最好是在公有雲上都不用怎麼去部署。”

楊傳輝對于 OceanBase 在走的 HTAP 路線非常堅定。他表示,“從開發者視角來看,HTAP 隻有從 TP 開始才有可能成功,TP 的門檻很高,而且 TP 會涉及到核心場景,如果核心場景做好了的話,往 AP 是自然延伸,相當于由高打低,如果 AP 做好了,本身 AP 的重要程度、核心程度遠遠低于 TP,開發者不會因為選了 AP 而選 TP,但是可能因為選了 某個資料庫 的 TP 也選了 他的 AP。”

“用心做好最難的、使用者最需要的事情”的商業理念應用到技術裡依然有效,這個層面上,Oracle 和 OceanBase 的思路相同,都是希望将 OLTP 能力做到極緻,再抽取打磨出部分 OLAP 的能力。國内大量複雜的查詢業務和高并發頻現的營運商業務場景,為打磨資料庫尤其是 HTAP 提供了土壤。楊傳輝談認為,“如果滿足不了開發者對應用的核心 OLTP 能力,那種 HTAP 不是真正的 HTAP。”

本文轉載來源:

https://mp.weixin.qq.com/s/CBdOhqNLIsUJeK3loIOfPQ

繼續閱讀