閱讀112 返回首頁    go 阿裏雲 go 技術社區[雲棲]


EB級別體量之下的高效數據賦能 ——雲棲大會阿裏大數據分論壇精彩演講2


數據服務和數據產品開發平台
分享人:姚濱暉(阿裏巴巴資深技術專家)



image




總體來看,阿裏巴巴的生態可以分為六個業務板塊:電商、物流、健康、文娛、金融,以及雲計算。阿裏巴巴通過這些業務,服務了數億用戶,上千萬的小微企業,以及上千萬的商家。伴隨著我們的業務服務,同時截止目前,我們已經沉澱的數據量高達E B級規模。

通過全域數據體係,我們建設、融合、鏈接了這些來自不同業態的數據。

下麵這張圖,勾勒了阿裏巴巴大數據體係。

image
圖:阿裏巴巴大數據體係

從下往上看,最底層的是全域數據,第二層是基礎數據建設,它包括了人工智能的一些算法。在基礎數據建設的上麵分別是各種數據服務和數據產品開發平台。

從圖中我們也可以發現,我們的數據產品和服務,實際上是通過各類不同的應用場景來達到服務阿裏小二、阿裏商家、消費者、合作夥伴的目的。

所以,數據服務和數據產品開發平台,它與應用場景是強相關,直接連接,他們的主要作用是把底層建設完的數據、算法,生產成可以直接賦能業務和用戶的應用。




數據服務和數據產品開發平台的關係就像齒輪一樣,它們是相互依存的一個整體。
為什麼這麼說?

從業務角度來看:業務使用數據有兩個最核心的場景:

第一、業務本身需要數據。這時候,業務會通過數據服務來直接獲取數據,這是第一個場景。
第二、業務中的運營、分析師,他們需要使用數據來更好地提升數據賦能的效能。這時候
運營和分析師,就會通過相應的數據產品,來使用數據。所以,這就是數據產品開發平台承擔的主要職責。

所以通過這兩個核心的數據賦能業務的場景,我們可以發現數據服務和數據產品開發平台,之間相關依存的關係。

從優勢角度來看,將數據服務好和數據產品開發平台組合起來,它們可以體現三個優勢:

第一、通過這樣的一個組合,能夠打破在業務之間的數據壁壘。這裏要強調的是它們打破的不是在底層的數據壁壘,而是打破在業務之間的數據壁壘,因為6大業務板塊,所產生的數據形態、含義、結構都有很大差異。在底層完成了整個數據打通之後,打破壁壘就是為了在業務層上,讓數據在各個業務間像水一樣來流通。
第二、滿足靈活多變的數據需求。
第三、全域流通和按需自助實現。這個組合可以實現所有用戶可以去按需自助來完成,而不需要專業開發、產品來介入。




數據服務主要由四個核心能力組成:首先,基礎數據服務,它主要是提供基礎數據能力,實現上萬數據指標跨域獲取;其次,標簽畫像服務,通過這個服務,可以給用戶提供上百個標簽刻畫;第三是人群透視服務,這個服務其實是在標簽智商最的提煉,在營銷場景中,可以通過接入這個服務,來實現人群的圈選等;第四、除了上述三種服務之外,還有算法模型服務,通過一鍵服務化的方式,把算法能力通過服務透出。


image
圖:數據服務的架構

上圖展示了數據服務的架構。

從上往下看,portal是一個門戶,通過它可以發現,整個阿裏巴巴公共層,有多少基礎的指標可以去獲取,並且這些指標現在已經被哪些業務部門通過什麼樣的方式來獲取。

用戶隻需要按照同樣的方式,就能夠獲取到對應的數據,極大縮短用戶發現數據、獲取數據以及使用數據的路徑。

中間這層是DSL,通過DSL我們把用戶獲取數據的標準和規範進行了統一,整個DSL之下有一些大的核心能力。QueryEngine實現所有跟查詢相關的能力輸出;PushEngine提供實時數據推送的能力;DAG可視化,可配置編排業務邏輯。Algorithm Engine輸出算法和人工智能的能力。


image
圖:DSL&DAG實例

現在,我們的數據服務的主要有三大應用場景:第一個是阿裏集團內部,諸如搜索、推薦、營銷等場景;第二就是數據大屏,大家在雙11看到酷炫大屏,它其實就是通過數據服務來實現的;第三就是商業化數據產品,被商家熟知的生意參謀,它所展示的數據也是通過數據服務來實現的。




我們構建數據產品開發平台最核心的目的就是,讓非專業的開發人員,也可以根據自己的需求,來搭建數據產品,從而實現自己使用數據的目的。

那麼數據產品開發平台,它主要對外提供了四個能力:

第一、用戶可以完成數據分析;
第二、用戶可以去自助實現報表配置;
第三、非開發人員可以利用它去實現產品配置;
第四、開發人員可以通過它,開發一些更加複雜、更加個性化、更加定製化的一些數據產品。

具體來看數據產品開發平台的架構,整個架構的核心能力依然由兩個部分組成。應用端和服務端。


image


在應用和服務中間是DSL,所有的應用和服務,最終都會按照DSL標準來配置。通過數據產品開發平台構建完成的應用和服務,並不是一個獨立運行的實體,它實際上是一個配置,渲染引擎、執行引擎等可以加載和運行這個配置;通過構建引擎生成一個配置,來實現不同國家、不同機房、不同終端都能運行的目的。


image


事實上,整個數據產品開發平台的構建思路主要由兩個核心點:什麼是變的以及什麼是不變的。
其實我們隻要能夠對數據使用過程分析、分解出變和不變這兩個要素,就能夠比較快速地解決問題。
舉個例子:對於一個應用,我們怎麼來分解變和不變兩個要素。


image


應用的布局、樣式、分析思路……這些都是不變的;但應用中的組件,可以是一個圖表、可以是功能區域,也可以是一個不可見的邏輯……這些是變化的。

繼續分析一個組件:組件的類型、屬性是不變的;但是每個組件它所能夠表達的數據,是可以變化的;同理推導數據:對於一個數據來講,格式是、權限是不變的;但是數據是從哪個服務能夠獲取到數據,這個是可以變化的。

最後到服務這一層,服務裏麵有兩部分組成:通過SQL獲取的原始數據和業務邏輯;通過業務邏輯對原始數據的加工和編排,最後以服務化的方式,把數據開放給上層應用。

了解思路之後,我們再來看一下整個平台的構建過程,它們分別是在應用端和在服務端的構建引擎。

對於應用端的構建引擎,需要注意的是非開發人員,通過構建引擎,隻需要輸入四個要素——樣式、布局、組件以及分析思路,就能構建出一個基於DSL描述的一個應用;同理,在服務端也是一樣的,非開發人員通過輸入SQL,和一些業務邏輯的實現,就能夠生成一個基於DSL描述的服務。在應用層,上述的服務是可以實現PC、無線和大屏的跨端。

在使用過程中,下圖是一個使用過程的示意:就是通過兩個引擎:渲染引擎和執行引擎。


image


它們都會去加載DSL描述的應用和服務,然後進行交互來完成整個這個產品的實現。

數據產品開發平台在阿裏的應用對象主要是四塊:

首先是業務運營,在日常運營中,運營人員可以通過這個平台去自助的去生成所需要的產品;
第二塊是決策分析,分析師會幫助行業來進行業務分析指導,他們會通過整個平台來使用和開發自己的數據分析產品,完成決策分析;
第三,後端營銷其實也可以通過它來搭建產品;

最後就是剛才提到的——生意參謀,這是通過這個平台開發商業應用產品,目前已經累積服務了2千萬商家。

來源:阿裏數據
原文鏈接

最後更新:2017-10-19 10:33:20

  上一篇:go  黑客利用軟件漏洞貿易牟利 買家包括NSA
  下一篇:go  Spring進行TestNG測試中無法插入、刪除數據庫數據(access)的解決