天天看點

金融科技資料湖建構和管理之道

上海數禾資訊科技有限公司大資料負責人 萬鵬

上海數禾資訊科技有限公司是一家擁有小貸牌照和融資擔保牌照的金融科技公司(下稱“數禾科技”),公司的核心産品是“還呗”。本文要分享的主題是數禾科技如何在雲上建構和管理資料湖。

以下是雲栖大會資料湖分會場主題演講的正文:

大家好,我是上海數禾資訊科技有限公司的大資料負責人萬鵬。我們公司的是一家擁有小貸牌照和融資擔保牌照的金融科技公司,産品名稱是還呗。今天我要分享的主題是我們如何在雲上建構和管理資料湖。整個内容分為三個部分。首先我會定義清楚我們公司的業務模式中信貸風控要解決的關鍵問題是什麼,其次講一下我們公司大資料平台是如何演進成資料湖架構的,最後我會分享我們在資料湖管理方面的心得。

金融科技資料湖建構和管理之道

大家試想一下以下這個場景,在馬路上一個陌生人突然跑過來向你借錢,你會借給他嗎?我相信大部分人是不會的。為什麼?因為你對他不了解,不了解其實是資訊不對稱的結果。信貸風控領域自始至終要解決的最關鍵問題就是面對海量的需要借錢的網際網路使用者,如何在資訊不對稱的情況下,以最低的風險把錢借出去。大資料在這個地方起到了至關重要的作用,因為資料越多,資料的種類越豐富,我們對使用者的了解就會越全面,風險評估越準确,風險控制也會相對有效。但是随着業務的發展,資料會越積越多,場景也會越來越複雜,傳統的大資料架構已經難以滿足面向大規模使用者做精準風控的需要。當資料的體量達到一定的級别,當資料的多樣性達到一定的複雜度,我們急需一種更加高效、更加靈活、更加低成本的解決方案 -- 那就是資料湖。

當然資料湖的建設不是一蹴而就就能建成的,接下來我來跟大家介紹一下我們是如何一步一步走到資料湖的。

金融科技資料湖建構和管理之道

大家看一下左邊這個圖,我們公司是在2015年創立的,在2016年我們就搭建了開源的大資料叢集,麻雀雖小五髒俱全。這套叢集運作了兩年多以後,也就是2018年,我們發現計算資源和存儲資源不能彈性變化,給我們帶來了極大的困擾。離線計算和實時計算,互相争搶資源,單點故障解決起來非常吃力。在18年年底,為了解決當時遇到的各種問題,我們基于雲計算重新做了一個稍微可擴充的解決方案,就是右邊這個圖大家看到的這個樣子,我們把實時計算完全剝離出來放在了EMR上,把一些關鍵的應用場景通過雲上的标準産品來承接,比如Hbase。在這個模式下我們又強撐了一年,在這一年裡,我們發現更多的問題冒出來了,比如說存儲成本持續攀高,因為所有的資料都要存三份,然後公司的人員多了以後,權限管理的難度也非常高。

另外架構的複雜度也導緻了運維成本和管理成本難以承受。好在是在這個架構下,我們摸索出了基于對象存儲OSS直接運作Hadoop叢集是可行的,隻要能解決性能、資料隔離以及源資料共享三大難題就行。于是在今年年初我們又做了一次架構上的重大調整和更新。

金融科技資料湖建構和管理之道
大家來看一這張圖,我們把原來的叢集全部下線,設計出一種基于OSS對象存儲和EMR的流批一體資料湖架構。我們把所有的資料做好分類,放在不同的OSS桶裡面,上面開啟若幹個計算資源獨立的EMR叢集,這些叢集可以按場景來劃分,也可以按職能部門來劃分,随時需要随時建立,用完即删,然後還可以按需自動擴容,做到了真正的彈性計算。整個資料湖共享一套中繼資料,那就是全局唯一的一套Hive中繼資料,是通過共享通路MySQL來實作。然後我們通過自帶的Ranger來做角色和資料權限控制,這樣就在實體層面和邏輯層面,我們都可以按需做好資料的隔離。EMR運作在OSS上,理論上資料的讀寫性能要比原生HDFS低很多,好在阿裡雲提供了JindoFS這個插件,它在Hadoop叢集和OSS存儲之間做了一層緩存,使得性能的損失是在可以接受的範圍以内。這套架構我們已經成功實施并且運作起來了,雖然時間不長,但是我們已經開始享受到了結構簡單,存儲低廉以及真正的彈性計算帶來的種種好處。
金融科技資料湖建構和管理之道

下面我來介紹一下我們在資料湖管理實踐中所要遵循的原則,總共有五個原則。首先說明,正是因為有了這些原則,我們的資料湖才可以持續的産生價值驅動業務的發展。

第一個,全面記錄。全面記錄的意思是對于我們的目标客戶,我們要在使用者授權的前提下,盡可能多的記錄他各方面的資訊,不同的時點,不同的位置,以及各種操作細節等等,所有次元的資訊都會随着時間不停的變化,大資料部門要負責驅動業務部門在所有的業務過程和操作流程上盡可能多的記錄原始資訊,并且要持續的記錄。

第二個,全面實時化。全面實時化我覺得是要讓大資料盡可能的流動起來。因為在我們的業務模式下,資料的價值不僅僅是和資料量成正比,也和資料的時效性成正比。資訊不對稱它往往不是一次性的,而是會随着時間的變化而在持續的産生不對稱。實時的資料能夠讓人和系統實時的感受變化,及時的預測以及及時的調整業務政策,對整個公司來說價值是極大的。

第三個,全面治理。全面治理是相對于傳統的資料治理而言,傳統的資料治理更加偏重資料品質治理和成本治理。我這裡要強調的是我們還要關注架構和效率兩個層面的治理。在我看來,任何在持續演進的複雜系統,都是需要全面治理的。比如架構的合理性、系統的複雜度、排程的效率、資料開發的效率以及資料服務的效率等等。全面治理是為了在“降本增效”這個大前提下,我們要提供更便捷、更穩定的資料支撐服務。

第四個,場景驅動。場景驅動的意思是指我們大資料在對外提供服務的時候,要時刻抓住業務的痛點。比如前面我們提到的資料不對稱,是風控環節最大的痛點,那麼我們所有的系統建設,所有的效率優化都要圍繞着關鍵痛點來展開,所有的資源都要優先支撐關鍵場景,所有任務的安排都要以解決關鍵場景的問題為最高優先級。

最後一個是安全合規,這個其實是我們業務的生命線。遵守監管要求,安全合規的做資料管理是業務可持續發展的前提。杜絕灰色空間,從規範層面、流程層面甚至是系統層面,都要杜絕任何人犯錯誤的可能,確定讓所有能接觸資料的人都能守得住安全底線。

最後我來總結一下,我們公司的資料湖不是一蹴而就建成的,而是随着業務的發展,在不斷的解決問題的過程中逐漸發展而成的。作為資料的管理者,追求最低的成本、最高的效率以及最靈活的架構是永恒的目标。我們在資料湖的道路上會一直走下去,不斷的疊代,不斷的優化。

在這麼多年的摸索中,我們總結出來資料湖管理的五個原則,它們是全面記錄、全面實時化、全面治理、場景驅動以及安全合規。謹遵這些原則,我們才能做到真正的資料驅動,真正的實作一切業務資料化,以及一切資料業務化。

感謝大家!

更多大資料客戶實戰案例:

https://developer.aliyun.com/article/772449

首月199元開通DataWorks專業版+MaxCompute按量付費黃金搭檔:

https://dw-common-buy.data.aliyun.com/promc