導讀:本次分享主題為圖資料庫在金融領域的應用,主要介紹螞蟻金服在金融科技領域的一些圖技術應用探索和思考,將圍繞下面幾點展開:
- 金融科技領域技術架構演進
- 資料智慧時代的新挑戰
- 螞蟻金服在圖儲存方面的實踐
- 螞蟻金服在推進圖技術標準方面做的努力
- 圖技術未來展望
01金融科技領域技術架構演進
1. 第一階段:業務數字化
這個階段主要是藉助計算機技術把線下業務搬到線上開展,如支付業務從線下支付改到了現在的線上支付,另也還有很多業務逐步從線下搬到線上,這個其實是一個數字化的過程。
2. 第二階段:資料驅動
這階段主要透過對積累的資料進行分析,在分析的基礎上協助我們更好的做一些業務決策,從而進一步驅動業務發展,這階段出現了掃碼支付、餘額寶、花唄等等一些相關業務。
3. 第三階段:資料智慧
在積累的大量資料基礎上透過智慧化方式進行資料探勘,進一步透過資料發現新的業務模式,真正做到智慧化資料驅動業務。
02資料智慧時代的新挑戰
1. 業務種類多
業務種類越來越多,螞蟻有超過1000種類型的生活服務,幾百萬以上小程式,這使得業務極其複雜,進一步提高對複雜資料資料處理能力的要求。
2. 業務資料量大
螞蟻金服每天產生超千億資料,雙十一交易量峰值時使用者交易達每秒40萬筆+,其背後的資料量更是遠超這個數值,對我們峰值資料的處理能力提出了很大的挑戰。
3. 計算複雜
複雜不只是體現在資料量大上,也體現在資料的群體性和聚集性越來越明顯,這就需要資料處理時對資料的各種關係做進一步深入挖掘,才能獲得有價值的資料,這使得資料計算變得更為複雜。
4. 快速決策
業務決策對資料的要求從離線、準實時、基本到轉到了實時。比方說風控場景,螞蟻提出來310模式,3分鐘申請貸款,1秒鐘批准0人工干預,在這個裡面你就可以看到,基本上所有的決策都是實時的。
5. 技術應對方案
應對上述挑戰,在技術上需要做兩方面的升維:
① 資料儲存結構升維演進
在大資料時代前是傳統資料庫,到了大資料時代開始出現KV儲存、noSQL資料庫。
典型案例就是KV儲存,主體描述場景下KV儲存可以使查詢效能、吞吐量都非常的高,接著逐漸發現光有描述不行,隨時間變化主體資訊會變,這時就需要加上時序這個維度,緊接著又發現單一維度的描述不足以充分描述一個主體,我們需要更多維的資訊,這時就需要透過圖儲存來實現,實現之後,我們發現因為各個維度均有可能產生變化,進一步導致圖也會隨著時間變化,這樣就了時序圖的儲存的需求。
② 計算正規化升維
隨業務演進需求從離線計算、準實時計算到需要實時計算即刻出結果。
場景介紹:如在風控場景原來只需透過離線處理實現,現在需要實時就發現風險,並實時進行處理,因為風控模型和反欺詐策略有可能很快就失效了。另一場景貸款審批場景,就是上述的螞蟻的310模式,也需要在實時計算支撐下才能實現。
03螞蟻金服在圖儲存方面的實踐
1. 圖智慧介紹
從傳統的圖多維關係計算,上升到目前提到的圖智慧,圖智慧是我們認為在金融科技方面最核心的基礎知識。
圖智慧它包括實時圖計算、時序圖分析、深度圖推理等,這些如果需要獲得高效能,那麼它們就需要構建在一個高效能的圖儲存基礎之上,高效能圖儲存,在滿足儲存大量的圖資料基礎上還能夠提供更高效的圖查詢和圖計算。
2. 實踐中的現實問題
面對螞蟻金服這麼大的資料體量和這麼複雜的業務,在落地時遇到了很多現實的問題:
- 資料膨脹:不僅是資料維度的膨脹和資料量的膨脹,還包括了資料複雜關係的膨脹。
- “環環相扣”:資料間的關係鏈路根據複雜,層次更加深,如之前的風控策略規則在圖中可能在2-3層就能找到,而現在需要6層甚至7層才能找到一個合適圖規則,才能防範一些風控事件。
- “一言難盡”:圖上的資料關聯多樣,關係複雜,對使用者來說在圖上進行開發難度比較大。
3. 技術突圍
螞蟻金服構建了一個金融級分散式圖資料庫,提供高效能查詢分析能力和多維時序圖查詢能力,並且能夠支撐海量的資料儲存,另外還提供了很好的易用性,能在圖開發過程中支援所見即所得。
4. 技術風向標
圖技術研發方面圖資料庫是一個非常熱門的領域,Gartner給出的報告,就圖計算和圖儲存應用預計到2022年之前會增加一倍,DB-Engines上可以看到圖資料庫的受歡迎程度遠遠領先其它型別資料庫。
5. GeaBase介紹
全稱:Graph Exploration and Analytics Database
定位:大規模分散式實時圖資料庫
設計目標:滿足超大規模複雜關係網路在線上環境中高併發和低延時的讀寫及分析需求高可用性,強一致性,高擴充套件性。
- 資料 CRUD
- 查詢 GQL、Gremlin
- 圖分析 FindLoop、Shortest path、Community Detection、Label Propagation
主要特性:
高效能分散式架構:
GeaBase高效能分散式架構,從邏輯上看是一個儲存計算分離架構,從使用者客戶端到計算引擎,再到儲存引擎。
GeaBase計算引擎除了傳統兩層間乒乓式排程模式外,還可以在儲存節點間進行通訊,差別主要在於,一般圖資料庫,它的模式是從客戶端發一個請求到一個計算引擎,然後這個計算引擎和這個儲存引擎之間會反覆的通訊。過程就是去拿資料做計算,然後再拿資料再做計算,而GeaBase當一個查詢過來,GeaBase計算引擎把這個資料請求交給了儲存引擎以後,儲存引擎會根據需要,再把這個請求發到有資料的這個儲存引擎去,然後由它的計算引擎做計算。透過這樣的操作,形成一個網狀的結構,這樣的處理總的目標就是為了降低整個圖計算裡面互動次數,從而達到降低延時和增加吞吐量的目的。
6. 螞蟻金服的應用實踐
① 社交應用場景:
螞蟻森林:看上去透過簡單的澆水種樹,收朋友能量,獲取積分然後兌換積分在物理世界種下一顆真實的樹,這個過程涉及到好友間的互動、人和樹的互動、人和系統間的互動。事實上在這背後存在大量複雜的圖資料結構,並且在這個場景裡面就已經有萬億邊的規模,同時點和邊上都有非常多的屬性,我們還需要在這個多維關係下做到毫秒級響應,毫秒級的生產資訊更新。
② 金融應用場景:
刷單詐騙:刷單會有組織者,背後有一堆執行刷單的人,一般他們都用匿名資訊來進行操作,所以在事後很難找到這些人。像這樣的詐騙操作,我們需要在詐騙行為發生的當下,就發現這個詐騙行為,然後扼殺在搖籃裡面,這樣就需要有一個非常實時的決策系統來支撐。
信用卡套現:最基本原理就是一個人用信用卡從商戶購買一個東西,然後透過轉換回到購買者手中,上圖是一個三角形,其實做了非常大簡化。在實際場景裡面,他可能有非常多的轉賬和交易,最後這筆資金才會透過現金的形式,再回到這個購買者手中,這個過程其實是非常複雜的。我們想要發現這個操作,就需要我們實時的從當前這筆資料裡就能找到相關資訊,從而實時的阻斷這個有可能是套現的一筆交易,因為支付無時無刻不在發生的,這樣我們需要快速的更新這個圖,在更新圖之後又要快速的在基於新圖基礎上,去構建新分析和新的查詢。
04螞蟻金服在推進圖技術標準方面做的努力
我們認為在金融科技這個領域,圖技術是未來最重要的一個發展的方向,我們希望和相關技術公司和相關制定標準的部門一起來打造一個好的圖計算、圖技術生態,所以螞蟻金服也會積極的參與到各種標準的制定裡面。我們希望透過標準的制定來讓圖生態更加完善,讓圖技術普惠到更多的公司和人,不僅僅是金融科技行業公司,也希望讓所有的公司和技術愛好者都能夠很容易的接觸到這個技術,很容易的應用這個技術。
- 國際標準:和國際標準組織ISO/IEC,組織制定了Graph Query Language,希望能夠制定出一個查詢圖的標準。我們認為這是未來圖技術能夠普及的非常重要的一環,因為現在其實圖的查詢語言可以說是四分五裂的。這裡面有非常多的不同的查詢語言,有各個公司自己定的一些查詢語言,也有一些用的稍微更廣泛一點,或者說開源的一些查詢語言。但是這些查詢語言並沒有形成非常統一標準和規範,從而讓使用者在選型上,也是非常困難,這樣就會非常大的阻礙圖資料庫和這個圖計算技術的發展所以我們希望透過這個合作能掃清這個發展的障礙。
- 國家標準:和全國資訊科技標準化技術委員會一起做了《圖資料庫系統技術要求》。
- 行業標準:和信通院、通訊標準化協會、全國金融標準化技術委員會做了《圖資料庫白皮書》和《圖資料庫技術要求與測試方法》等等,我們希望和全行業一起來,來普及這個圖技術。
05圖技術未來展望
更大:資料會更大,圖的規模會更大,這個對儲存和計算能力提出類更高對要求。
安全:在資料的收集、儲存、使用方面能更加規範和安全。
更快:資訊關聯越來越複雜,關係層次越來越深,但決策的要求卻越來快。
底座:滿足上述要求,期望能透過圖技術的發展,讓一張圖就能成為整個金融科技的技術底座。
06精彩問答
Q:什麼是時序圖?
A:是指圖隨時間動態變化的,不同時刻圖的構成不一樣。
Q:時序圖在企業中有哪些應用?
A:在金融公司的實時風控場景有應用。
Q:當前GeaBase有實現時序圖嗎?
A:已經實現了。
Q:GeaBase 有沒有對金融場景有特別的設計和最佳化?
A:GeaBase對金融場景特別的設計和最佳化,目前主要體現在穩定性上,我們在設計一致性,資料容災的一些功能上,會有更多的考慮和更多的最佳化設計。
Q:知識圖譜的知識計算和圖技術有什麼區別?
A:圖技術是知識圖譜的一部分,知識計算肯定是用到了圖技術,比如我們前面講的圖推理上面的一些推理計算,在知圖譜中用的比較廣泛。
Q:GeaBase線上生產環境最大的圖的規模有多大,支援多圖嗎?
A:現在環境最大的圖的規模,最近兩年沒注意統計,但前兩年就已經超過萬億了。
今天的分享就到這裡,謝謝大家。
分享嘉賓:
分享嘉賓:付志嵩 螞蟻集團 資深技術專家
編輯整理:Hoh
出品平臺:DataFunTalk