2023-175,#每日一悟每日進步##大資料#
大資料平台的架構模式
1、Lambda架構
最成熟、最穩定的架構,核心思想是将批處理作業和實時流作業分離,各自獨立運作,資源互相隔離。有三個層次:
(1)Batch Layer批處理層,主要負責所有的批處理操作,包含Hive、Spark-SQL或Map-Reduce等技術,資料處理依賴的主資料在該層維護;
(2)Serving Layer,以批處理層的結果資料為基礎,對外提供低延時的資料查詢和ad-hoc查詢服務,本層既可以使用包括關系型資料庫在内的傳統技術,也可以使用Kylin、Presto、Impala或Druid等大資料OLAP産品;
(3)Speed Layer,使用流式計算技術實時處理目前資料,能以實時或近似實時的方式處理大量資料,但無法對全部曆史資料進行操作,主要使用Storm、Spark Streaming或Flink等大資料流計算架構。
2、Kappa架構
是Lambda架構的簡化,使用流計算技術統一批處理和實時處理兩條資料處理的Pipeline。
在技術選型上一般需要這些元件:首先在前端需要有一個消息隊列,如Kafka,其次在Kafka後接一個流計算架構,幾乎所有的資料處理都會發生在流計算架構上,主流的流計算架構有Flink、Spark Streaming或Storm。
3、Smack架構
S、M、A、C、K分别代表了架構使用的5種技術:Spark、Mesos、Akka、Cassandra和Kafka。
Smack使用Akka進行資料采集,然後将資料寫入Kafka,接着使用Spark Streaming進行實時流處理,處理結果和原始資料都寫入Cassandra,核心是利用了Cassandra的多資料中心,将資料透明地備援到兩個Cassandra叢集,一個叢集專門用來接收流處理結果資料,另一個叢集用于批處理分析,供Spark讀寫。
SMACK架構既支援批處理又支援實時處理,在資料處理層面隻依賴Spark,在資料存儲層面隻依賴Cassandra,很好地統一了技術堆棧。