天天看點

史上最全開源大資料工具彙總

史上最全的開源大資料工具,非常實用,請務必收藏!

<b>

</b>

<b>查詢引擎</b>

phoenix

salesforce公司出品,apache hbase之上的一個sql中間層,完全使用java編寫

stinger

原叫tez,下一代hive, hortonworks主導開發,運作在yarn上的dag計算架構

presto

facebook開源

spark sql

spark上的sql執行引擎

pig

基于hadoop mapreduce的腳本語言

cloudera impala

參照google dremel實作,能運作在hdfs或hbase上,使用c++開發

apache drill

參照google dremel實作

apache tajo

一個運作在yarn上支援sql的分布式資料倉庫

hive

基于hadoop mapreduce的sql查詢引擎

<b>流式計算</b>

facebook puma

實時資料流分析

twitter rainbird

分布式實時統計系統,如網站的點選統計

yahoo s4

java開發的一個通用的、分布式的、可擴充的、分區容錯的、可插拔的無主架構的流式系統

twitter storm

使用java和clojure實作

samza

samza是一個分布式的流式資料處理架構(streaming processing),它是基于kafka消息隊列來實作類實時的流式資料處理的。(準确的說,samza是通過子產品化的形式來使用kafka的,是以可以構架在其他消息隊列架構上,但出發點和預設實作是基于kafka)

datatorrent

基于hadoop2.x建構的實時流式處理和分析平台,每秒可以處理超過10億個實時事件

spark streaming

spark streaming是一種建構在spark上的實時計算架構,它擴充了spark處理大規模流式資料的能力。

apache flink

apache flink是一個高效、分布式、基于java實作的通用大資料分析引擎,它具有分布式 mapreduce一類平台的高效性、靈活性和擴充性以及并行資料庫查詢優化方案,它支援批量和基于流的資料分析,且提供了基于java和scala的api。

<b>疊代計算</b>

apache hama

建立在hadoop上基于bsp(bulk synchronous parallel)的計算架構,模仿了google的pregel。

apache giraph

建立在hadoop上的可伸縮的分布式疊代圖處理系統,靈感來自bsp(bulk synchronous parallel)和google的pregel

haloop

疊代的mapreduce

twister

spark graphx

graphx是 spark中用于圖(e.g., web-graphs and social networks)和圖并行計算(e.g., pagerank and collaborative filtering)的api,可以認為是graphlab(c++)和pregel(c++)在spark(scala)上的重寫及優化

<b>離線計算</b>

hadoop mapreduce

經典的大資料批處理系統

berkeley spark

使用scala語言實作,和mapreduce有較大的競争關系,性能強于mapreduce

<b>鍵值存儲</b>

leveldb

google開源的高效kv程式設計庫,注意它隻是個庫

rocksdb

facebook開源的,基于google的leveldb,但提高了擴充性可以運作在多核處理器上

hyperdex

下一代kv存儲系統,支援strings、integers、floats、lists、maps和sets等豐富的資料類型

tokyocabinet

日本人mikio hirabayashi(平林幹雄)開發的一款dbm資料庫,注意它隻是個庫(大名鼎鼎的dbm資料庫qdbm就是mikio hirabayashi開發的),讀寫非常快

voldemort

一個分布式鍵值存儲系統,是amazon dynamo的一個開源克隆,linkedin開源

amazon dynamo

亞馬遜的kv模式的存儲平台,無主架構

tair

淘寶出品的高性能、分布式、可擴充、高可靠的kv結構存儲系統,專為小檔案優化,并提供簡單易用的接口(類似map),tair支援java和c版本的用戶端

apache accumulo

一個可靠的、可伸縮的、高性能的排序分布式的kv存儲系統,參照google bigtable而設計,建立在hadoop、thrift和zookeeper之上。

redis

使用ansi c語言編寫、支援網絡、可基于記憶體亦可持久化的日志型、單機版kv資料庫。從2010年3月15日起,redis的開發工作由vmware主持

memcached

memcached 是一個高性能的分布式記憶體對象緩存系統,用于動态web應用以減輕資料庫負載。它通過在記憶體中緩存資料和對象來減少讀取資料庫的次數,進而提高動态、資料庫驅動網站的速度。memcached基于一個存儲鍵/值對的hashmap。其守護程序(daemon)是用c寫的,但是用戶端可以用任何語言來編寫,并通過memcached協定與守護程序通信。

oceanbase

支援海量資料的高性能分布式資料庫系統,實作了數千億條記錄、數百tb資料上的跨行跨表事務

amazon simpledb

一個可大規模伸縮、用 erlang 編寫的高可用資料存儲

vertica

惠普2011收購vertica,vertica是傳統的關系型資料庫,基于列存儲,同時支援mpp,使用标準的sql查詢,可以和hadoop/mapreduce進行內建

cassandra

hadoop成員,facebook于2008将cassandra開源,基于o(1)dht的完全p2p架構

hypertable

搜尋引擎公司zvents針對bigtable的c++開源實作

foundationdb

支援acid事務處理的nosql資料庫,提供非常好的性能、資料一緻性和操作彈性

hbase

bigtable在hadoop中的實作,最初是powerset公司為了處理自然語言搜尋産生的海量資料而開展的項目

<b>檔案存儲</b>

couchdb

面向文檔的資料存儲

mongodb

文檔資料庫

tachyon

加州大學伯克利分校的amplab基于hadoop的核心元件開發出一個更快的版本tachyon,它從底層重構了hadoop平台。

kfs

gfs的c++開源版本

hdfs

gfs在hadoop中的實作

<b>資源管理</b>

twitter mesos

google borg的翻版

hadoop yarn

類似于mesos

<b>日志收集系統</b>

facebook scribe

facebook開源的日志收集系統,能夠從各種日志源上收集日志,存儲到一個中央存儲系統(可以是nfs,分布式檔案系統等)上,以便于進行集中統計分析處理,常與hadoop結合使用,scribe用于向hdfs中push日志

cloudera flume

cloudera提供的日志收集系統,支援對日志的實時性收集

logstash

日志管理、分析和傳輸工具,可配合kibana、elasticsearch組建成日志查詢系統

fluentd

fluentd是一個日志收集系統,它的特點在于其各部分均是可定制化的,你可以通過簡單的配置,将日志收集到不同的地方。開源社群已經貢獻了下面一些存儲插件:mongodb, redis, couchdb,amazon s3, amazon sqs, scribe, 0mq, amqp, delayed, growl 等等。

kibana

為日志提供友好的web查詢頁面

<b>消息系統</b>

stormmq

zeromq

很底層的高性能網絡庫

rabbitmq

在amqp基礎上完整的,可複用的企業消息系統

apache activemq

能力強勁的開源消息總線

jafka

開源的、高性能的、跨語言分布式消息系統,最早是由apache孵化的kafka(由linkedin捐助給apache)克隆而來

apache kafka

linkedin于2010年12月份開源的分布式消息系統,它主要用于處理活躍的流式資料,由scala寫成

未完待續

繼續閱讀