火影世界有九個巨型怪獸禍亂人間。為了世間和平,尾獸們被封印在了不同人類的體內。人柱在日本文化中被視為一種蘊藏神明力量的靈魂容器,人柱力即被尾獸附身的人,為封印尾獸而存在。人柱力可以通過馴服體內的尾獸獲得巨大力量,人柱力與尾獸一榮俱榮,一損俱損。

佩恩六道是由六具死者尸體改造成的六個傀儡忍者,統稱為佩恩六道。每個佩恩的臉上和身體都插著能連接信號的黑棒形狀的查克拉接收器,六個佩恩能共享彼此的視野。佩恩六道的操縱者長門通過背后插滿黑棒作為信號和查克拉接收器操控每個佩恩。

拋開角色的性格和戰力,佩恩六道和人柱力最本質的區別就是物理層面的身體隔離:佩恩六道是六個傀儡忍者的戰斗組合,而九尾人柱力是一個忍者肉身住了兩個靈魂。二者的差別像極了目前軟件行業上湖倉分體和湖倉一體概念的架構差異。在分析型數據庫(OLAP)領域,曾先后出現 MPP 和 Hadoop,MPP 數據庫主要用作數據倉庫,Hadoop 大數據平臺承擔起數據湖的職能。因此,隨著用戶對湖和倉的要求不斷提高,自然會出現湖倉協同的嘗試和探索,也就形成了 MPP+Hadoop 模式,我們稱之為湖倉分體模式。湖倉分體模式下的湖、倉各自獨立部署,數據通過 ETL 的方式打通。正如佩恩六道,每個傀儡忍者的肉身是獨立的,但視覺是共享的,由長門通過查克拉接收器進行整體操控。

通過佩恩六道形象的理解了湖倉分體,九尾人柱力自然就成了湖倉一體的最佳闡釋。湖倉一體架構下的湖和倉是原生一體的,物理層面部署在同一集群,共享同一份數據,沒有數據冗余。正如九尾妖狐封印在鳴人(人柱力)體內,肉身層面天然一體,不可分割。

將九尾人柱力比作湖倉一體,將佩恩六道比作湖倉分體,并不意味著湖倉一體和湖倉分體的“戰力”也如漫畫原著一樣存在爭議。湖倉一體與湖倉分體不僅在架構層面有著差異,架構設計理念對企業數據基礎設施建設的影響也是巨大的。湖倉分體模式,也就是 MPP+Hadoop 模式的最大問題和特點就是數據孤島,造成數據孤島的原因有幾個方面:
1、技術架構原生造成的數據孤島
湖倉分體方案基本上是以湖、倉和其他組件構成,邏輯上為用戶提供統一的數據管理,但物理層面湖和倉仍然是分離的,同一份數據在多個集群冗余存儲,導致分體模式下的湖和倉各自形成數據孤島。
2、集群規模受限造成的數據孤島
多數的湖通過 Hadoop 構建,數倉是 MPP 數據庫,當數據達到 PB 級別,由于 Hadoop 和 MPP 集群規模受限,企業往往會部署和使用多個 Hadoop 集群和多個 MPP 集群,事實上進一步造成了數據孤島。
3、高并發被迫形成的數據孤島
越來越多的分析應用場景導致了逐漸高漲的并發查詢需求,無論是 Hadoop 還是 MPP 都法支撐這種復雜查詢的并發需求。MPP 數據倉庫單一集群支持的并發數僅達到幾十左右,而 Hadoop 支持的并發則更低,因此一個遍歷數百 TB 數據的復雜查詢可能使整個系統的性能受到很大影響。為了滿足高并發,企業不得不把業務分割到更多的集群中,造成更嚴重的數據孤島。
湖倉一體通過什么樣的技術實現的?
隨著公有云和私有云的普及,為了保證存儲和計算可以獨立的彈性擴展和伸縮,數據平臺的設計出現了一個嶄新的架構,即存算分離架構。MPP 數據庫存算耦合,而 Hadoop 不得不通過計算和存儲部署在同一物理集群拉近計算與數據的距離,因此 MPP 和 Hadoop 都不再適應云平臺的要求。在此階段,Snowflake 和 OushuDB 突破了傳統 MPP 和 Hadoop 的局限性,率先實現了存算完全分離,成為湖倉一體實現的關鍵技術。

以 OushuDB 為例,實現了存算分離的云原生架構,并通過虛擬計算集群技術在數十萬節點的超大規模集群上實現了高并發,保障事務支持,提供實時能力,一份數據再無數據孤島。

火影老粉對九尾人柱力和佩恩六道兩角色的戰力之爭從未停止過,就像現階段湖倉一體市場上的分歧持續存在著,但是正如九尾人柱力頭頂主角光環一樣,湖倉一體架構必將在群雄逐鹿之后的數據管理領域成為關注焦點。