資料中臺的儲存系統和計算平臺列舉

大濤學長發表於2019-11-04
作者:向師富 轉自:阿里巴巴資料中臺官網 採集&傳輸層
  • Sqoop Hadoop、關係型資料庫之間傳輸資料的工具。傳輸時,會啟動多個MR作業併發的傳輸資料
  • DataX 阿里巴巴開源的資料同步工具,用來在各種異構資料來源之間同步資料。比如 RDBMS<->Hadoop/MaxCompute、RDBMS<->hbase/ftp等等。部署、運維非常簡單,將DataX的jar包copy到linux系統中即可執行
  • Flume 分散式的高可用的資料收集、聚集的工具。通常用於從其他系統蒐集資料,如web伺服器產生的日誌,結合Kafka的訊息佇列功能,實現實時日誌處理、離線日誌投遞。 典型的使用方案是:
離線計算:應用系統日誌 -> flume -> kafka -> hdfs -> MR作業 實時計算:應用系統日誌 -> flume -> kafka -> blink/jstorm/storm/spark streaming
  • Logstash 伺服器端資料收集工具,能夠同時從多個來源採集、轉換資料。日誌收集功能與Flume比較類似
  • Kafka 基於釋出/訂閱機制的分散式的訊息系統。常用於日誌投遞、分發場景
  • RocketMQ 阿里巴巴開源的訊息佇列工具。經過了雙11場景的洗禮,穩定性、可靠性非常好
儲存層
  • HDFS Hadoop分散式檔案系統(HDFS)被設計成適合執行在通用硬體(commodity hardware)上的分散式檔案系統。HDFS是一個高度容錯性的系統,適合部署在廉價的機器上。HDFS能提供高吞吐量的資料訪問,非常適合大規模資料集上的應用。HDFS放寬了一部分POSIX約束,來實現流式讀取資料檔案
  • HBase Hbase是分散式、KV查詢的開源資料庫(其實準確的說是面向列族)。HDFS為Hbase提供可靠的底層資料儲存服務,MapReduce為Hbase提供高效能的計算能力,Zookeeper為Hbase提供穩定服務和Failover機制,LSM資料儲存格式提供了高效能讀寫能力
  • Redis Redis是key-value儲存系統。採用ANSI C語言編寫、遵守BSD協議、支援網路、可基於記憶體亦可持久化的日誌格式,並提供多種語言的API。提供了雜湊(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等資料結構
  • Ceph 開源分散式儲存系統,提供了塊儲存RDB、分散式檔案儲存Ceph FS、以及分散式物件儲存Radosgw三大儲存功能,是目前為數不多的集各種儲存能力於一身的開源儲存中介軟體
  • 儲存格式 常見的有Apache Parquet,Apache ORC、華為Carbondata、Kudu、Avro等。在大資料領域,面向不同的業務場景,採用不同的資料儲存格式。這幾類儲存格式的差異點,主要體現在行、列儲存、預計算
計算層
1、離線計算
  • Hive Hive是基於Hadoop的一個資料倉儲工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行。 其優點是學習成本低,可以透過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合資料倉儲的統計分析。是事實上的離線資料倉儲標準。
  • Spark Apache Spark 是專為大規模資料處理而設計的快速通用的計算引擎。Spark是UC Berkeley AMP lab (加州大學伯克利分校的AMP實驗室)所開源的類Hadoop MapReduce的通用並行框架,Spark,擁有Hadoop MapReduce所具有的優點;但不同於MapReduce的是——Job中間輸出結果可以儲存在記憶體中,從而不再需要讀寫HDFS,因此Spark能更好地適用於資料探勘與機器學習等需要迭代的MapReduce的演算法。
  • MaxCompute 阿里巴巴開發,基於MR原理的大資料處理平臺,已經透過阿里雲對外輸出,是一種快速、完全託管的TB/PB級資料倉儲解決方案。
  • CDH CDH是Cloudera的軟體發行版,包含Apache Hadoop及相關專案。所有元件都是100%的開源(Apache許可證)。
2、實時計算
  • Storm/Jstorm 分散式的、高容錯的實時計算系統,2014年以前應用非常廣泛,近幾年初步被其他流計算產品替代。
  • Flink Flink是一個低延遲、高吞吐、統一的大資料計算引擎。在阿里巴巴的生產環境中,Flink的計算平臺可以實現毫秒級的延遲情況下,每秒鐘處理上億次的訊息或者事件。同時Flink提供了一個Exactly-once的一致性語義。保證了資料的正確性。這樣就使得Flink大資料引擎可以提供金融級的資料處理能力。
  • Spark Streaming Spark Streaming 類似於 Apache Storm,是一個流計算處理框架。Spark Streaming 有高吞吐量和容錯能力強這兩個特點。
在 Spark Streaming 中,處理資料的單位是一批而不是單條,而資料採集卻是逐條進行的,因此 Spark Streaming 系統需要設定間隔使得資料彙總到一定的量後再一併操作,這個間隔就是批處理間隔。批處理間隔是 Spark Streaming 的核心概念和關鍵引數,它決定了 Spark Streaming 提交作業的頻率和資料處理的延遲,同時也影響著資料處理的吞吐量和效能。
資料服務層
  • Kylin 開源的分散式分析引擎,提供Hadoop/Spark之上的SQL查詢介面及多維分析(OLAP)能力以支援超大規模資料。核心原理是資料預計算,利用空間換時間來加速查詢模式固定的OLAP查詢。最新的版本已經支援了實時資料匯入。
  • Druid Druid也是一款非常流行的olap引擎,基於MPP架構,採用了 預聚合、列式儲存、字典編碼、點陣圖索引 4個方法,加速查詢效能。 截止2019年9月22日,Druid原生不支援資料精確去重功能。快手已經將Druid應用於生產環境。
  • Presto Presto是一個開源的分散式SQL查詢引擎,適用於互動式分析查詢,資料量支援GB到PB位元組。Presto的設計和編寫完全是為了解決像Facebook這樣規模的商業資料倉儲的互動式分析和處理速度的問題。
  • Lucene Lucene 是一個基於Java 的全文資訊檢索工具包,目前主流的搜尋系統Elasticsearch和solr都是基於lucene的索引和搜尋能力進行。
  • ElasticSearch 基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎。
  • Solr Solr是Apache Lucene專案的開源企業搜尋平臺。其主要功能包括全文檢索、命中標示、分面搜尋、動態聚類、資料庫整合,以及富文字的處理。Solr是高度可擴充套件的,並提供了分散式搜尋和索引複製。Solr是最流行的企業級搜尋引擎,Solr 4還增加了NoSQL支援。
  • Palo 百度開源的olap引擎,在百度內部使用比較廣泛。基於MPP架構,整合了Google Mesa、Cloudera Impala。
阿里巴巴資料中臺團隊,致力於輸出阿里雲資料智慧的最佳實踐,助力每個企業建設自己的資料中臺,進而共同實現新時代下的智慧商業! 阿里巴巴資料中臺解決方案,核心產品: Dataphin,以阿里巴巴大資料核心方法論OneData為核心驅動,提供一站式資料構建與管理能力; Quick BI,集阿里巴巴資料分析經驗沉澱,提供一站式資料分析與展現能力; Quick Audience,集阿里巴巴消費者洞察及營銷經驗,提供一站式人群圈選、洞察及營銷投放能力,連線阿里巴巴商業,實現使用者增長。


本文為雲棲社群原創內容,未經允許不得轉載。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69947441/viewspace-2662541/,如需轉載,請註明出處,否則將追究法律責任。

相關文章