天天看點

資料中台的存儲系統和計算平台枚舉

作者:DeeperMan

采集&傳輸層

  • 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,集阿裡巴巴消費者洞察及營銷經驗,提供一站式人群圈選、洞察及營銷投放能力,連接配接阿裡巴巴商業,實作使用者增長。

歡迎志同道合者一起成長!更多内容詳見

https://dp.alibaba.com

繼續閱讀