1. 程式人生 > >SequoiaDB x Spark 新主流架構引領企業級應用

SequoiaDB x Spark 新主流架構引領企業級應用

解決 構圖 負載 san ans har 最全 進行 inner

技術分享

6月,匯集當今大數據界精英的Spark Summit 2017盛大召開,Spark作為當今最炙手可熱的大數據技術框架,向全世界展示了最新的技術成果、生態體系及未來發展規劃。

巨杉作為業內領先的分布式數據庫廠商,也是Spark全球的14家發行商之一,受邀在本次大會做了題為“分布式數據庫+Spark架構和應用”的分享。巨杉數據庫聯合創始人、CTO及總架構師也將給大家分享大會的見聞以及這一架構的發展和應用情況。

Spark全面進化,擴大生態助力人工智能

隨著Spark 2.2 版本的發布,Spark性能有了更大提高。在Spark Streaming方面,最新版本在相同條件下達到了常用流處理架構(如Apache Flink以及Kafka Streaming)的5倍以上,超過6000萬記錄/秒。在測試中,Spark對於重要負載的端到端響應時間也已經達到了亞毫秒級別,真正實現了實時性。

技術分享

Spark 公布的流處理性能對比圖

除了性能的提升,Spark的Structured Streaming體系也基本實現了產品化。在性能、穩定性的保證下,Structured Streaming支持更多的大數據體系架構,從圖處理到深度學習都能提供最高性能產品級別的實時流處理支持。

此外,在大熱的人工智能方面,Spark也開始了全面的支持。Spark 2.2版本加入了完整的Deep Learning Pipeline,作為深度學習的數據源,提供全面的數據支持。

王濤認為,“Data is the new oil!”十分準確地描述了大數據和人工智能間的定位問題。可以說,人工智能是新的引擎,大數據就是引擎所需要的能源。數據是深度學習技術的基礎,只有兩者齊備,人工智能才能真正“自我學習和自我進化”。Spark作為大數據領域最受歡迎的高性能分析處理框架和流處理框架之一,全面支撐人工智能和Deep learning也是必然的。使用Spark最新的Deep Learning Pipeline套件,用戶可以在現有的Spark機器學習工作流程中調用深度學習庫,對成型的模型進行遷移學習,利用Spark的分布式計算引擎通過AI處理復雜數據。Databricks首席技術專家Matei Zaharia也表示,這一套件的正式發布,是AI開發普及化、大眾化的重要一步,可以幫助更多用戶更好的入門AI和深度學習技術,能大大加強Spark技術在未來技術領域中的重要性。

毋庸置疑的是,Spark的產品化進度正在加快,也在不斷擴大自己的技術生態。

分布式數據庫+Spark架構引領主流,SequoiaDB x Spark完善大數據生態

近年來,“分布式數據庫+Spark”的架構隨著Spark的應用中發展成為其中一套主流架構。分布式數據庫提供的海量數據存儲管理能力以及高並發地實時數據查詢交互,與Spark的批處理實現了完美的互補,是Spark應用架構不可或缺的重要支撐。

巨杉是國內對於“分布式數據庫+Spark”這套架構最早的實踐者之一,SequoiaDB的實時高性能、彈性擴展性成為了這套架構的堅實數據基礎。從2015年至今,SequoiaDB分布式數據庫與Spark的深度整合架構已經十分成熟,目前已經有許多銀行等大型企業在數據加工、交互式訪問等生產系統中應用了這種架構。

為實現SequoiaDB分布式數據庫與Spark的深度整合,技術方面,通過巨杉自己的連接器將分布式數據庫與Spark架構進行深度對接。

· 對接的方式同時支持文件塊和datanode兩種方式,並且可以很好的支持查詢條件下壓,通過匹配巨杉數據庫自身的索引,提高查詢效率。

· SequoiaDB for Spark Connector在生成查詢的訪問計劃時,還能智能判斷查詢的數據和Spark 計算Worker的位置,默認優先匹配本地數據,從而減少數據在網絡傳輸的開銷。

· 連接器可以實現文件塊級別的並發,充分利用分布式多節點有效提高集群整體I/O吞吐能力。

技術分享

分布式數據庫+Spark 技術架構圖

Spark默認支持從文本文件和HDFS文件等數據源中獲取計算的數據來源也支持將第三方的產品作為Spark計算框架的計算任務的數據來運之一。對於分布式數據庫,除了能夠支持海量數據分布式存儲外,還能夠為用戶提供多索引功能,支持用戶在高並發場景下高性能實時數據訪問。

分布式數據庫+Spark兩者結合主要的使用場景是:在海量數據中,通過條件檢索記錄和在海量數據中,針對某些特定範圍記錄,例如針對過去一個月的記錄進行統計分析。這類有明確查詢條件的查詢和分析,非常適合Spark+分布式數據庫。分布式數據庫+Spark架構將能實現從數據高並發實時交互查詢,到高性能數據計算再到數據實時流處理的全功能覆蓋。

在應用實踐上,某股份制銀行使用巨杉數據庫構建近線數據平臺,通過SequoiaDB+Spark架構,SequoiaDB保證了全量近線數據的存儲和實時在線,同時提供了全量數據的實時查詢訪問,而Spark則提供了條件檢索和統計分析的功能。

一方面將用戶的全量歷史數據做到全面在線化,使得銀行客戶能夠通過櫃面應用、手機、網銀等多渠道訪問到自己開戶以來所有的交易行為;另一方面對銀行內部的行員提供自由報表分析、支持公檢法歷史數據查詢等多種業務。

此外,某銀行通過SequoiaDB+Spark的底層數據平臺,為其“實時頭寸” 解決了原有報表系統只能做“T+1”的限制,為系統提供了高性能的實時數據分析、查詢、展現。其中,Spark的高性能提高了分析統計的效率,而SequoiaDB的數據實時訪問則保證了數據的真正“實時性”。

對於接下來和Spark合作的方向,王濤表示,隨著Spark生態的不斷豐富以及其技術組件對不同技術的支持不斷完善,Spark生態將會是未來大數據領域最強有力的一股技術力量。

作為Spark全球發行商之一,巨杉會進一步加強與Spark/Databricks的合作,加大SequoiaDB+Spark方案並力求與Spark框架進行更深度的對接,實現從數據高並發實時交互查詢訪問,到高性能數據計算再到數據實時流處理的全功能覆蓋,使企業用戶能夠獲得最高性能、最全面的大數據平臺。

SequoiaDB巨杉數據庫2.6最新版下載

SequoiaDB巨杉數據庫技術博客

SequoiaDB巨杉數據庫社區

SequoiaDB x Spark 新主流架構引領企業級應用