簡介:在日前的2021阿里雲金融數據智能峯會——《雲原生驅動數智化運營的「增加黑馬」》專場上,阿里雲數據庫資深技術專家魏闖先 從數據價值鏈路角度切入,爲你們解讀雲原生數據倉庫如何支撐數據化運營、全鏈路營銷和阿里集團雙11業務,並展現金融客戶最佳實踐案例和應用場景。本文內容根據演講錄音及PPT整理而成。
在日前的2021阿里雲金融數據智能峯會——《雲原生驅動數智化運營的「增加黑馬」》專場上,阿里雲數據庫資深技術專家魏闖先 從數據價值鏈路角度切入,爲你們解讀雲原生數據倉庫如何支撐數據化運營、全鏈路營銷和阿里集團雙11業務,並展現金融客戶最佳實踐案例和應用場景。本文內容根據演講錄音及PPT整理而成。數據庫
阿里雲數據庫資深技術專家魏闖先segmentfault
回顧阿里巴巴十五年來雲原生髮展的道路,大體分爲三個階段。安全
第一個階段是2006年~2015年的應用架構互聯網化階段,是雲原生從0到1的過程。最先的時候,阿里巴巴在淘寶上作中間件,那是最先的雲的雛形。當時咱們研究的是Oracle數據庫和IBM的小型機。但阿里巴巴發現一個問題,就是隨着淘寶流量愈來愈大,Oracle的機器沒法繼續知足業務需求,三個月以後,咱們的數據將存不下也算不了。這是很是嚴重的問題,因此當時阿里巴巴啓動了去IOE的計劃。服務器
這個時候,阿里巴巴發現咱們的業務作得很是好,但技術上有不少挑戰。所以,阿里巴巴在2009年成立了阿里雲,自研飛天操做系統,開啓雲化時代,淘寶和天貓合併建設業務中臺,屆時三大中間件核心系統上線。網絡
飛天操做系統基於Apsara,是一個分佈式的操做系統。在基礎公共模塊之上有兩個最核心的服務:盤古和伏羲。盤古是存儲管理服務,伏羲是資源調度服務,飛天內核之上應用的存儲和資源的分配都是由盤古和伏羲管理。飛天核心服務分爲:計算、存儲、數據庫、網絡。架構
爲了幫助開發者便捷地構建雲上應用,飛天提供了豐富的鏈接、編排服務,將這些核心服務方便地鏈接和組織起來,包括:通知、隊列、資源編排、分佈式事務管理等等。併發
飛天最頂層是阿里雲打造的軟件交易與交付第一平臺----雲市場。它如同雲計算的「App Store」,用戶可在阿里雲官網一鍵開通「軟件+雲計算資源」。雲市場上架在售商品幾千個,支持鏡像、容器、編排、API、SaaS、服務、下載等類型的軟件與服務接入。框架
這就是最先的雲的基礎框架,也是一個雲原生的架構。less
從2011年開始,咱們開始作容器調度,在集團裏面開始作在線業務,在線的業務開始走容器化。到了2013年,自研飛天操做系統全面支撐集團業務。運維
2015年,阿里雲的雲原生技術不單是給阿里巴巴的內部業務使用,也開始對外作商業化,以上就是第一階段。
第二階段是2016年~2019年的核心系統全面雲原生化階段。
從2017年開始,咱們不僅作在線了,離線也所有采用了雲原生的技術。雙11購物節有大量的交易數據,這些數據的後臺分析和後期處理都是交給離線完成。咱們基於雲原生把在線和離線的底層資源池統一,支撐百萬級規模電商交易。
到了2019年,阿里巴巴核心系統100%上雲,這其實很是難,由於阿里巴巴的業務量很是巨大,任何普通的系統都沒法支撐。
第三階段是2020年至今,是全面升級下一代雲原生技術的階段。阿里巴巴成立雲原生技術委員會,雲原生升級爲阿里技術新戰略。阿里巴巴核心系統全面使用雲原生產品支撐大促。阿里云云原生技術全面升級,Serverless時代開啓。
阿里巴巴是怎樣看待雲計算的?雲計算和傳統技術的差異究竟是什麼?
舉個例子,在一個家家戶戶都須要挖井的村莊裏,每家根據自家人口數量、大概須要的出水量、是否會有客人來等等因素,決定挖多寬的井。若是趕上家裏客人比較多或者乾旱了等情況,水可能就不夠用了。除了挖井的成本外,平常維護這口井,也須要很高的成本。
上述場景映射到企業中,就是企業基於本身的IT基礎,還要到運營商那裏買個機房,買幾臺服務器來支撐本身的服務。若是後續這些機器閒置的話,企業仍然須要支付一大筆費用,成本很是高。
雲解決的問題就是經過虛擬化的技術實現資源池化,用上方挖井例子來形容就是建一個自來水廠。自來水廠和井的差異在於,第一,供水量很大,即便來100個客人,供水量也能知足需求。第二,前期不須要投入大量成本去挖井,而是根據用水需求按量計費。即便接通自來水管道,若是不用,那麼永遠也不須要爲它付費。
這爲企業帶來了兩大好處,第一個是企業須要作快速決策的時候,不用花大量時間去「挖井」,而是開箱即用。第二是前期投入成本很低。
這就是雲帶來的好處,那麼什麼是雲原生呢?
雲原生是個標準服務,不少東西咱們不須要提早規劃。好比我要作數字化轉型,需求很簡單。我須要有人給我提供這個服務,我要多少,他給我分配多少,不須要我去作提早的準備。隨着我業務的增加,它底下的基礎設施可以隨之一塊兒增加,具備很是好的彈性。這也大大地減小企業成本與精力,能夠更加專一地去作最擅長的事情,大幅提高效率。
經過以上的例子,下面這幾點就很是好理解了。
首先,咱們認爲容器+K8s會成爲雲計算的新界面,這是將來的一個趨勢。
其次,整個軟件生命週期也會發生變化。原來軟件的生命週期很長,如今經過雲原生的技術能夠作到迭代速度愈來愈快,向下延伸軟硬一體化、向上延伸架構現代化等均可以去作。
最後,加速企業數字化升級。原來作企業數字化轉型很是複雜,可能要買機器、買數據庫、買應用,須要三年五載的時間來完成。而現在的企業數字化轉型,只花短短數月的時間,即可實現徹底轉型。
從業界趨勢上看,將來數據會發生什麼變化,給應用帶來什麼變化?
首先,咱們認爲將來數據必定會規模爆炸性增加。2020年全球數據規模約爲40 ZB。40 ZB是什麼概念?舉個例子,假設每部電影是1GB,假設全世界每一個人都去看一部電影,那麼這些數據量加起來大概就是40ZB。
除此以外,咱們預計2025年的全球數據規模將會是2020年的430%,全球數據規模每一年都在增加。
第二個是數據生產/處理實時化。原先咱們可能一個月看一次報表,通過大數據,咱們能夠天天看一次昨天的數據。數據愈來愈實時化,可以實現秒級響應。以營銷場景爲例,在雙十一購物節場景,當商家發現店鋪的某個活動不能產生效果,那麼能夠在一分鐘或者數分鐘以內調整廣告或投放策略,從而達到更好的營銷效果。若是數據是按天反饋,在11月12日看到數據的時候,作活動帶來的效果已經大大下降了。所以,數據實時化在這樣相似的場景中,扮演着十分重要的角色,數據的實時也會帶來應用的實時。
第三是數據生產/處理智能化。目前在全部數據中,非結構化數據佔比80%,主要包括文本、圖形、圖像、音頻、視頻等,尤爲是在當下熱門的直播領域,對非結構化數據進行智能化處理,可以知道觀衆的喜愛與其餘信息,方便業務更好地開展。除此以外,非結構化數據以每一年增長55%的速度持續增加,將來將成爲數據分析很是重要的一個來源。
第四個是數據加速上雲。咱們認爲數據上雲勢不可擋,正如汽油車終將被電車代替同樣。預計到2025年的時候,數據存儲雲上規模爲49%,2023年數據庫上雲規模75%。
另外一個業界趨勢不容忽略:雲計算加速數據庫系統演進。
首先咱們看一下數據庫發展歷程。早在八九十年代數據庫就已經誕生,那時候主要是商業數據庫,如Oracle、IBM DB2等,這裏面有些數據庫還佔據這現在的市場。
到90年代,開源數據庫開始涌現,如PostgreSQL、MySQL等。國內用MySQL比較多,國外用PostgreSQL比較多。到90年代之後,數據量愈來愈大,原來數量小的時候可能用PostgreSQL或MySQL,單機就能夠解決問題,隨着數據量爆炸性增加,就須要像分佈式或小型機的方式去解決大量數據和分析問題。
數據分析的重要性體如今哪裏?
舉個例子,有個數據倉庫Snowflake的公司在剛上市的時候就達到1000億美金的市值,現在也有700億美金,對於一個只作一款產品的公司來講,這是一個很是高的市值。爲何它的市值這麼高?
前段時間和一位老師交流,他說對於如今的企業,尤爲是電商或直播等互聯網企業,早先他們企業最大的成本是人力,員工工資佔據主要支出。但現在最大的支出是信息和數據,爲了公司將來的發展規劃,須要擁有大量的數據來分析當前客戶最想要什麼,最須要什麼,業界的發展是什麼。所以,公司須要大量購買數據、作大量的數據分析,這方面的成本已經超過了人員成本。這也是爲何一個只作數據倉庫的公司,市值可以達到700億美金。
2000年之後你們開始用Hadoop、Spark,2010年開始出現雲原生、一體化分佈式等產品,例如AWS、AnalyticDB等。
上方是數據倉庫的演進歷史,計算方式從離線到在線,再到離在線一體化,而後到分佈式。功能從統計到AI,數據類型也從結構化到結構化與非結構化多模融合,負載從OLAP到HTAP,硬件也升級爲軟硬件一體化,交付從On-Premise 到Cloud - Native + Serverless。
在演進的不一樣進程中,有着各式各樣的產品作支撐。
上圖爲數據庫系統架構演進,簡單的邏輯能夠理解爲,原來是一個廠房一我的幹活,後來變成一個廠房十我的幹活,而後再發展成多個廠房多我的幹活,這就是整個數據倉庫的發展歷史,由原來的單機變成分佈式,而且一份數據多我的使用。
數據庫的發展也跟人類工做同樣,原來有的店夫妻二人就能夠維持,一我的負責生產,另外一我的負責銷售。隨着發展,店裏的顧客愈來愈多,店仍是一個店,但員工可能有十我的了。再後來,業務發展更多大了,一下招10萬個員工,而後在10個場地去幹,這就是分佈式雲原生數據倉庫。
上方是雲原生數據庫的關鍵技術。
這裏簡單說兩個技術,首先是雲原生,雲原生是什麼意思呢?假如某位用戶買了個數據庫,當業務量少的時候,或者在法定節假日不使用的時候,收費就少,而在業務量大的時候,收費就多一些。按需按量收費,這是咱們對數據倉庫的一個要求。
另一個是安全可信,舉個例子,阿里巴巴有一個投資部,假如給A公司投了500萬,給B公司投了100萬,這些信息都是高度私密,不可對外泄露的。假如這些信息是由員工進行管理,員工存在離職的可能,而一旦離職後發生泄密行爲,這在法律層面也很難追責。如何讓這種高度私密的信息徹底加密,使得就算是擁有最高權限的DBA也沒法查看這類信息,作到安全可信。後文將對此作詳細展開。
業務面臨着許多挑戰,主要有四個方面。
首先是數據散亂、不一致,也有很是多的數據源,把數據收集起來是一個很大挑戰。
其次是系統極其複雜,系統或組件有40+個。原來可能基於Hadoop,如今須要很是多的系統或組件,底下多是HDFS,上面是YARN、HBase,再往上還有Hive、Flink等許多東西,很是複雜。
除此以外還有分析不實時,它的數據只能作T+1,是傳統大數據架構。
最後是高學習成本,不一樣技術的版本迭代速度很快,學習成本很高。
阿里雲當時採用的是從一個最簡單的架構,經過一個或兩個產品就能解決整套產品的架構,可以讓用戶用得更簡單,用SQL就能夠解決各類各樣的問題。比方原來的OSS數據,各個生產處理的數據大集中分析等。
雲原生數據倉庫的雲原生特性主要體如今,若是就一條數據,那麼只會分配一條數據的存儲,若是數據量增加,它會自動分配更多的存儲。
一樣的,計算也是這樣,若是沒有計算需求或者分析需求,它不會分配資源,只有來了需求,纔會分配資源進行計算或分析,整個作到按需按量付費,加上資源的彈性。
上面是雲原生數據倉庫中的關鍵技術,例如行列混存,可以支持高吞吐寫入和高併發查詢。
其次是混合負載,就是上面既能夠跑ETL,又能夠作查詢。
此外還有智能索引。數據庫裏面很重要的一個點是須要理解業務,理解Index,要知道什麼對查詢有影響,什麼對寫入有影響,因此咱們但願這個東西可以作得更智能,讓用戶不用管理這些東西。
上方爲新一代數據倉庫解決方案架構圖。最底層是數倉,上面是數倉模型,阿里在淘寶指數,數據洞察等方面作了很是多的模型,包括經過一個ID把全部的信息關聯起來。這些信息匯聚成模型。模型上有數據構建管理引擎,能夠作數倉規劃,代碼研發,數據資產管理,數據服務等。
最上面是業務賦能,有許多的應用,包括監管報送類,經營決策類,風險預警類和營銷與運營類。
關於雲上數據安全的問題,咱們展開來說。每一個公司都有絕密的數據,這些數據面臨着許多安全問題,例如管理員/用戶越權操做,竊取數據備份,惡意修改數據等。除此以外,還有數據在存儲、查詢、共享過程當中全程加密,任何人(包括管理員)沒法獲取明文數據。保證日誌在不可信環境中的完整性,任何人(包括管理員)沒法篡改日誌文件。保證查詢結果在不可信環境中的正確性,任何人(包括管理員)沒法篡改查詢結果。
之前的解法很簡單,就是寫到數據庫的時候就把數據加密了,例如寫進去叫123,經過加密就變成了亂序,如213,312等。這個看似是一個很好的方法,但它有什麼問題呢?它沒有辦法作查詢,比方咱們要查超過50塊錢的交易,可是由於50經過加密之後就不是50了,可能就變成了500,而原來500加密完就是50,所以這個查詢沒法進行,至關於它變成了一個存儲,沒法作分析查詢。
有沒有一種方法能讓咱們作數據分析,同時既能保密,原來的SQL也都能去作?
這裏面核心的事情就是咱們採用的硬件,經過ApsaraDB RDS(PostgreSQL版)+神龍裸金屬服務器(安全芯片TEE技術),能夠提早把Key存到裏面去,而後全部的計算和邏輯都在加密硬件中進行。因爲整個過程受加密硬件保護,即便有人把系統的內存所有複製出來,複製出來的數據也全是加密過的,這就保證運維人員就算拿到絕密數據也沒有泄露的風險。
下面咱們看一下幾個最佳實踐:
DMP(Data Management Platform)表示數據管理平臺,也叫數據營銷平臺。
營銷最核心的事情是什麼?營銷最核心的事情是找人,找到最關心的一羣人,專業詞稱爲圈人。
舉個例子,什麼場景須要圈人?好比今天咱們想找一下對雲原生感興趣的人來一塊兒討論雲原生。把對雲原生感興趣的人找到,這個過程就叫圈人。
還有一種是相似於天貓淘寶報告,例如在雙十一前的一段時間,商家認爲某位客戶今年可能要買個衣服或買一個包,是潛在客戶,因而就去給TA推一些消費券等。
這裏面最關鍵的就是精準人羣的定位,可以精準地把人羣區分出來。中國大概有電商消費人羣大概有8億人,給對某樣物品感興趣的人羣推送消息,這裏面最核心的就是圈人的事情。
阿里巴巴基於數倉去作圈人的事情,首先去找一些種子人羣,這些種子人羣數量大概爲幾百萬人,是咱們認爲的高優質客戶,好比每月在淘寶上花5000塊以上或1萬塊以上的人。把人羣全出來後,第二步是將羣體進行聚類。
聚類的意思是把幾百萬人再分紅幾個小類,每一類裏面可能喜歡一個類別,比方這一類喜歡買化妝品,另外一類喜歡數碼產品,還有一類喜歡買書。劃分完小類之後,好比愛買化妝品的可能有10萬人,但這10萬人可能大部分以前已經買過化妝品了,此次大機率不買了。
所以,咱們須要在在8億消費人羣中找到真正可能買化妝品的人,該怎麼作呢?
咱們須要把每一個客戶的消費行爲和歷史購買記錄轉成AI模型的一個向量,若是有兩位客戶的購買行爲是相似的,那麼他們的向量距離就會很是小,這樣的話咱們的作法就很簡單。例如,咱們對數碼產品感興趣的人做爲種子放到8億裏面去找,跟這些人種子向量距離最近的假若有1000萬人,而後對這1000萬人去發數碼產品的廣告或優惠券等,用這種方式去作業務營銷。
這個過程最核心的有幾個方面。
第一個是將人羣進行聚類,把人羣劃分,知道TA的歷史交易,數據必需要可以支持任意維度多維分析。
第二個是可以對整個數倉裏面的數據作具體的分析。
第三個是聚類後的向量近似度檢索,找出與每一個類向量相近的人羣進行消息推送。
這就是咱們擁有的能力,目前是基於AnalyticDB實現。
還有一個事情是要作Ad-hoc查詢。例如,咱們要找到對數碼感興趣的人羣,,且去年沒有買過好比iPhone 12的人,這樣他今年纔可能買iPhone12。或者說去年買了iPhone12,同時又買了AirPods的人,那咱們認爲大機率他可能會買蘋果的鍵盤,或者是蘋果的電腦等。咱們須要對這些人作各類各樣的交易查詢,從而精準地找到咱們的目標人羣。
業務挑戰:
1)投放關鍵詞搜索事件須要高併發實時入庫;
2)全部用戶經過儀表板同時查詢轉化率,複雜查詢 QPS高;
3)響應時間要求高,避免錯過調價黃金時段。
業務價值:
1)多個站點、多個店鋪的關鍵詞統一管理;
2)處理上萬TPS併發寫;
3)海量數據實時分析,按時段智能調價;
4)鍵詞快速識別分析,最大化收益。
業務挑戰:
1)傳統MySQL數據庫分析滿,千萬級/億級複雜報表沒法返回;
2)複雜報表秒級返回;
3)兼容MySQL生態;
4)業務發展迅速,對計算存儲有不一樣要求。
業務價值:
1)RDS + AnalyticDB 實現HTAP聯合方案,業務和分析隔離;
2)2-10倍分析性能提高;
3)分佈式架構,橫向擴展,靈活變配,支持數據量和訪問量的不一樣需求
這就是2020年至今,全面升級下一代雲原生技術的階段----Serverless時代。阿里巴巴成立雲原生技術委員會,雲原生升級爲阿里技術新戰略,將來雲原生數據倉庫還會有更多新功能,爲行業解決更核心的痛點,敬請期待。
相關閱讀:
雲原生數據倉庫 AnalyticDB PostgreSQL版
本文內容由阿里雲實名註冊用戶自發貢獻,版權歸原做者全部,阿里雲開發者社區不擁有其著做權,亦不承擔相應法律責任。具體規則請查看《阿里雲開發者社區用戶服務協議》和《阿里雲開發者社區知識產權保護指引》。若是您發現本社區中有涉嫌抄襲的內容,填寫侵權投訴表單進行舉報,一經查實,本社區將馬上刪除涉嫌侵權內容。