動輒數百TB級數據的分析平臺 海量并發無壓力
從本質上來講,大數據平臺的目標都是完成對數據的采集、清洗、加工、加載、建模分析,可視化的過程。本文源自諸葛io創始人&CEO孔淼在AWS技術峰會上的分享內容,從技術架構和底層平臺方面講解全量數據處理的分析平臺如何實現。本文為第三篇,此前分別從行業現狀和趨勢(原文《「場景化」增長的踐行者:探尋大數據時代的商業變革》);及分析模型(原文《諸葛io圍繞用戶的場景化分析 驅動數據價值釋放》)兩方面闡述。
海量數據并發「無壓力」用戶會話真實「不切割」
數據收集端
諸葛io的數據采集采用的是LVS+Nginx+Lua,而不是簡單的Nginx,之所以這樣設計是因為:
- “多租戶”平臺要同時支持很多大型應用,例如“墨跡天氣”,“Flipboard紅板報”等大數據量的數據上傳;
- 率先采用https協議的數據采集分析平臺,所以比http高并發面臨的挑戰會更大;
- 保證高響應的速度;
此外,諸葛io的私有部署也同時支持該架構,保障用戶數據上傳的實時性,準確性。
數據分析模型
諸葛io的數據分析模型更高級,我們的模型是“用戶-觸點(設備)-會話-事件”:
a. 會話是行業分析的標準,我們的模型基于實時還原用戶會話場景,而不是通過“規則”來人為切割;
b. 諸葛io對“用戶”的判斷一直以來都是行業比較領先的規則,傳統的“用戶”其實是“設備”,而我們能找到用戶與設備的關系,透過設備來追蹤背后真正的用戶,包括不限于:
- 用戶注冊前的匿名行為與注冊后行為的關聯
- 單用戶的多設備(跨平臺)行為關聯
- 單設備多用戶的行為還原
為了支持這樣的數據模型,我們需要更復雜的服務端邏輯處理,Codis是領先的Redis分布式組件,讓我們的實時匹配更可擴展,而SSDB是兼容Redis協議的硬盤存儲,支持海量的關系存儲。
- 基礎存儲、索引、OLAP
諸葛io同時支持SaaS和私有化部署,所以有統一的ETL以及差異化的數據存儲和查詢引擎,基礎存儲基于S3和HDFS。Redshift是很多硅谷最***的公司都使用的技術,包括Airbnb, Yelp, Pinterest等等,我們致力于給國內客戶提高更高品質的云端分析能力,所以也采用了更好的基礎設施。
站在AWS的肩膀上
諸葛io依托AWS可靈活拓展的云計算平臺,可降低持續成本,無需購買服務器等前期設備,快速實現數據應用,縮減基礎設施成本及時間成本;企業搭建大數據平臺的目的是應用而不是運維,所以諸葛io通過AWS平臺降低企業運維成本;此外為了便于諸葛io在其他方面的探索,比如在AI方面進行探索,通過AWS平臺提供的AMI可極大地降低研發成本。
總之,基于AWS平臺彈性化的豐富功能,更人性化的設計方案,更高質量的全球服務,為諸葛io提供了優質的基礎設施服務:
1、功能豐富
AWS的功能非常豐富,除了EC2作為基礎機器之外,PaaS方面,我們使用了EMR/ S3/Redshift等組件,小的功能方面,還包括AMI鏡像備份恢復,用戶的IAM權限分配,Instance機器種類和外置磁盤EBS的選型,分布式S3的文件存儲功能以及工作中產生的業務需求等。
2、彈性化
諸葛io在搭建基礎設施之初,就以滿足海量數據規模計算為目標,隨著諸葛io每年企業客戶呈指數級的增長,再次證明最初的堅持是正確的。
海量數據并發,當系統負載、QPS偏高時,常出現CPU利用率達到100%的情況,此時諸葛io即可通過調用AWS API接口來實現彈性擴容,包括主機的分配、流量的分配、IP的綁定、域名解析的配置以及存儲服務等。
3、全球服務
能夠在節約成本的前提下,非常方便的進行擴容和Hadoop/Spark數據計算,在全球部署自己的數據中心,幫助諸葛io為全球企業客戶提供服務。
Amazon EMR
Amazon EMR 是一種 Web 服務,它能讓企業、研究人員、數據分析師和開發人員能夠輕松、經濟高效地處理海量數據。
大數據平臺基于Hadoop,技術復雜度非常高,對諸葛io而言,底層的運維壓力和成本壓力非常大。因為動輒一個客戶可能就是數百TB級的數據,我們必須選擇非常靈活、低成本的方式來支撐業務,所以我們選擇EMR。
此外,Hadoop有很多發行版,在選擇不同的Hadoop版本時,EMR幫助諸葛io更快捷地篩選適合我們的發行版套餐,Hadoop在組件的更新和支持上非常迅速,幫助諸葛io及時跟進***技術來調整方案。
基于Amazon EMR易操作,易于設置集群/Hadoop/節點、在重試失敗任務等方面具有很高的可靠性、允許任何規模處理數據來靈活控制成本支出、通過自動配置Amazon EC2防火墻設置保證數據安全,靈活自定義群集,使用成本的優勢,為諸葛io搭建一個強大的技術支持。
EMR & S3 有效結合
采用AWS的S3(數據采集平臺)存儲數據,可對分散的數據進行有效的集中管理,滿足對不同框架的輸入需求,甚至支持Redshift的直接查詢,而且有高持久性。在諸葛io的實際運用中,通過將EMR與S3的有效結合,降低數據傳輸成本,增加數據存儲能力擴展性,增強計算能力的擴展性,提高伸縮響應速度,攤薄存儲與計算成本。
Redshift
Redshift:提供基于云的全托管的PB級高速數據倉庫,用現有BI工具分析海量數據。
隨著諸葛io的客戶越來越多,Greenplum的方案已不再適合SaaS服務,因為它雖然查詢性能很好,可一旦海量并發時便遇到性能瓶頸。
在研究國外架構時,Redshift是airbnb等很多知名公司的選擇,所以,在嘗試后我們發現Redshift的確是基于數據倉庫優化,包括基于S3之后在海量數據加載和計算時有非常不錯的表現,另外,考慮到業務方案和基礎架構,諸葛io也選擇了兼容性和適配性更好的Redshift。
此外,Redshift可以利用現在使用的 SQL 語法和 BI 工具,對 Amazon S3 中的 EB 級數據進行查詢,二者范圍內可進行無縫查詢,具有極高的擴展性;通過 AWS 管理控制臺或 Amazon Redshift API 使用任何系統快照或用戶快照來恢復群集,系統元數據恢復后,群集就可供使用,并且可在用戶數據在后臺輸出時開始運行查詢,具有快速恢復能力;在未使用Redshift之前主要使用Greenplum作為數據倉庫,二者都是基于postgresql,數據遷移到新數據倉庫后對應用中查詢改動量較小,平滑遷移,更易于遷移。
大數據的技術發展勢不可擋,大數據技術的發展將會越來越多樣化,企業必須跟上技術發展趨勢并結合數據與價值輸出。隨著更為復雜的用戶需求涌現,精細化數據分析將成為驅動企業業務增長的關鍵功能。
諸葛io圍繞這些趨勢所產生的問題,結合用戶-觸點(設備)-會話-事件模型,提供了一站式的數據分析解決方案,從數據接入到自助式的場景分析,***再將底層進行清洗和整合過的數據,完整開放給企業,以便實現企業數據相關價值的挖掘。
以用戶跟蹤技術和簡易集成開發的方法,幫助移動應用的運營者挖掘用戶的真實行為與屬性,幫助互聯網產品更快、更簡單的通過數據驅動產品分析從而實現業務增長,商業價值的提升。
更多精彩內容:
「場景化」增長的踐行者:探尋大數據時代的商業變革
http://bigdata.51cto.com/art/201708/548308.htm
諸葛io圍繞用戶的場景化分析 驅動數據價值釋放
http://bigdata.51cto.com/art/201708/548306.htm
動輒數百TB級數據的分析平臺 海量并發無壓力
http://bigdata.51cto.com/art/201708/548304.htm