1. 程式人生 > >開源大資料利器彙總

開源大資料利器彙總

類別 名稱 官網 備註
查詢引擎 Phoenix Salesforce公司出品,Apache HBase之上的一個SQL中間層,完全使用Java編寫
Kylin eBay開源的基於Hadoop的分散式OLAP分析引擎,旨在減少Hadoop在10億行以上資料級別的情況下的查詢延遲
Shark Spark上的SQL執行引擎,已演化成Spark-SQL和Hive on Spark
流式計算 Facebook Puma 實時資料流分析
Twitter Rainbird 分散式實時統計系統,如網站的點選統計
Yahoo S4 Java開發的一個通用的、分散式的、可擴充套件的、分割槽容錯的、可插拔的無主架構的流式系統
迭代計算 Apache Hama 建立在Hadoop上基於BSP(Bulk Synchronous Parallel)的計算框架,模仿了Google的Pregel。
Apache Giraph 建立在Hadoop上的可伸縮的分散式迭代圖處理系統,靈感來自BSP(bulk synchronous parallel)和Google的Pregel
Apache Ignite 記憶體資料組織框架是一個高效能、整合化和分散式的記憶體計算和事務平臺
DataTorrent 基於Hadoop2.X構建的實時流式處理和分析平臺,每秒可以處理超過10億個實時事件
RocksDB Facebook開源的,基於Google的LevelDB,但提高了擴充套件性可以執行在多核處理器上
HyperDex 下一代KV儲存系統,支援strings、integers、floats、lists、maps和sets等豐富的資料型別
TokyoCabinet 日本人Mikio Hirabayashi(平林幹雄)開發的一款DBM資料庫,注意它只是個庫(大名鼎鼎的DBM資料庫qdbm就是Mikio Hirabayashi開發的),讀寫非常快
Tair 淘寶出品的高效能、分散式、可擴充套件、高可靠的KV結構儲存系統,專為小檔案優化,並提供簡單易用的介面(類似Map),Tair支援Java和C版本的客戶端
Apache Accumulo 一個可靠的、可伸縮的、高效能的排序分散式的KV儲存系統,參照Google Bigtable而設計,建立在Hadoop、Thrift和Zookeeper之上。
Redis 使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、單機版KV資料庫。從2010年3月15日起,Redis的開發工作由VMware主持
表格儲存 OceanBase 支援海量資料的高效能分散式資料庫系統,實現了數千億條記錄、數百TB資料上的跨行跨表事務
Vertica 惠普2011收購Vertica,Vertica是傳統的關係型資料庫,基於列儲存,同時支援MPP,使用標準的SQL查詢,可以和Hadoop/MapReduce進行整合
Cassandra Hadoop成員,Facebook於2008將Cassandra開源,基於O(1)DHT的完全P2P架構
HyperTable 搜尋引擎公司Zvents針對Bigtable的C++開源實現
FoundationDB 支援ACID事務處理的NoSQL資料庫,提供非常好的效能、資料一致性和操作彈性
MemSQL 前Facebook工程師創辦的,號稱世界上最快的分散式關係型資料庫,相容MySQL但快30倍,能實現每秒150萬次事務,原理是僅用記憶體並將SQL預編譯為C++。
HBase Bigtable在Hadoop中的實現,最初是Powerset公司為了處理自然語言搜尋產生的海量資料而開展的專案
日誌收集系統 Facebook Scribe Facebook開源的日誌收集系統,能夠從各種日誌源上收集日誌,儲存到一箇中央儲存系統(可以是NFS,分散式檔案系統等)上,以便於進行集中統計分析處理,常與Hadoop結合使用,Scribe用於向HDFS中Push日誌
Cloudera Flume Cloudera提供的日誌收集系統,支援對日誌的實時性收集
logstash 日誌管理、分析和傳輸工具,可配合kibana、ElasticSearch組建成日誌查詢系統
Jafka 開源的、高效能的、跨語言分散式訊息系統,最早是由Apache孵化的Kafka(由LinkedIn捐助給Apache)克隆而來
Apache Kafka Linkedin於2010年12月份開源的分散式訊息系統,它主要用於處理活躍的流式資料,由Scala寫成
分散式服務 ZooKeeper 分散式鎖服務,PoxOS演算法的實現,對應Google的Chubby
etcd 一個高可用的鍵值儲存系統,主要用於共享配置和服務發現。etcd是由CoreOS開發並維護的,靈感來自於 ZooKeeper 和 Doozer,它使用Go語言編寫,並通過Raft一致性演算法處理日誌複製以保證強一致性。
grpc 一個高效能、通用的開源RPC框架,其由Google主要面向移動應用開發並基於HTTP/2協議標準而設計,基於ProtoBuf(Protocol Buffers)序列化協議開發,且支援眾多開發語言。
Apache Ambari Hadoop成員,管理和監視Apache Hadoop叢集的開源框架
基礎設施 SSTable 源於Google,orted String Table
RecordIO 源於Google
Flat Buffers 針對遊戲開發的,高效的跨平臺序列化庫,相比Proto Buffers開銷更小,因為Flat Buffers沒有解析過程
Protocol Buffers Google公司開發的一種資料描述語言,類似於XML能夠將結構化資料序列化,可用於資料儲存、通訊協議等方面。它不依賴於語言和平臺並且可擴充套件性極強。
Consistent Hashing 1997年由麻省理工學院提出,目標是為了解決因特網中的熱點(Hot spot)問題,初衷和CARP十分類似,基本解決了在P2P環境中最為關鍵的問題——如何在動態的網路拓撲中分佈儲存和路由。
Netty JBOSS提供的一個java開源框架,提供非同步的、事件驅動的網路應用程式框架,用以快速開發高效能、高可靠性的網路伺服器和客戶端程式。
BloomFilter 布隆過濾器,1970年由布隆提出,是一個很長的二進位制向量和一系列隨機對映函式,可以用於檢索一個元素是否在一個集合中,優點是空間效率和查詢時間都遠遠超過一般的演算法,缺點是有一定的誤識別率和刪除困難。
Lucene 一套資訊檢索工具包,但並不包含搜尋引擎系統,它包含了索引結構、讀寫索引工具、相關性工具、排序等功能。
SolrCloud 基於Solr和Zookeeper的分散式搜尋, Solr4.0 的核心元件之一,主要思想是使用 Zookeeper 作為叢集的配置資訊中心
Sphinx 一個基於SQL的全文檢索引擎,可結合MySQL、PostgreSQL做全文檢索,可提供比資料庫本身更專業的搜尋功能,單一索引可達1億條記錄,1000萬條記錄情況下的查詢速度為0.x秒(毫秒級)。
SenseiDB Linkin公司開發的一個開源分散式實時半結構化資料庫,在全文索引的基礎封裝了Browse Query Language (BQL,類似SQL)的查詢語法。
Iaas OpenStack 美國國家航空航天局和Rackspace合作研發的,以Apache許可證授權雲平臺管理的專案,它不是一個軟體。這個專案由幾個主要的元件組合起來完成一些具體的工作,旨在為公共及私有云的建設與管理提供軟體的開源專案。6個核心專案:Nova(計算,Compute),Swift(物件儲存,Object),Glance(映象,Image),Keystone(身份,Identity),Horizon(自助門戶,Dashboard),Quantum & Melange(網路&地址管理),另外還有若干社群專案,如Rackspace(負載均衡)、Rackspace(關係型資料庫)。
Docker 應用容器引擎,讓開發者可打包應用及依賴包到一個可移植的容器中,然後釋出到Linux機器上,也可實現虛擬化。
類別 名稱 官網 備註
查詢引擎 Phoenix Salesforce公司出品,Apache HBase之上的一個SQL中間層,完全使用Java編寫
Kylin eBay開源的基於Hadoop的分散式OLAP分析引擎,旨在減少Hadoop在10億行以上資料級別的情況下的查詢延遲
Shark Spark上的SQL執行引擎,已演化成Spark-SQL和Hive on Spark
流式計算 Facebook Puma 實時資料流分析
Twitter Rainbird 分散式實時統計系統,如網站的點選統計
Yahoo S4 Java開發的一個通用的、分散式的、可擴充套件的、分割槽容錯的、可插拔的無主架構的流式系統
迭代計算 Apache Hama 建立在Hadoop上基於BSP(Bulk Synchronous Parallel)的計算框架,模仿了Google的Pregel。
Apache Giraph 建立在Hadoop上的可伸縮的分散式迭代圖處理系統,靈感來自BSP(bulk synchronous parallel)和Google的Pregel
Apache Ignite 記憶體資料組織框架是一個高效能、整合化和分散式的記憶體計算和事務平臺
DataTorrent 基於Hadoop2.X構建的實時流式處理和分析平臺,每秒可以處理超過10億個實時事件
RocksDB Facebook開源的,基於Google的LevelDB,但提高了擴充套件性可以執行在多核處理器上
HyperDex 下一代KV儲存系統,支援strings、integers、floats、lists、maps和sets等豐富的資料型別
TokyoCabinet 日本人Mikio Hirabayashi(平林幹雄)開發的一款DBM資料庫,注意它只是個庫(大名鼎鼎的DBM資料庫qdbm就是Mikio Hirabayashi開發的),讀寫非常快
Tair 淘寶出品的高效能、分散式、可擴充套件、高可靠的KV結構儲存系統,專為小檔案優化,並提供簡單易用的介面(類似Map),Tair支援Java和C版本的客戶端
Apache Accumulo 一個可靠的、可伸縮的、高效能的排序分散式的KV儲存系統,參照Google Bigtable而設計,建立在Hadoop、Thrift和Zookeeper之上。
Redis 使用ANSI C語言編寫、支援網路、可基於記憶體亦可持久化的日誌型、單機版KV資料庫。從2010年3月15日起,Redis的開發工作由VMware主持
表格儲存 OceanBase 支援海量資料的高效能分散式資料庫系統,實現了數千億條記錄、數百TB資料上的跨行跨表事務
Vertica 惠普2011收購Vertica,Vertica是傳統的關係型資料庫,基於列儲存,同時支援MPP,使用標準的SQL查詢,可以和Hadoop/MapReduce進行整合
Cassandra Hadoop成員,Facebook於2008將Cassandra開源,基於O(1)DHT的完全P2P架構
HyperTable 搜尋引擎公司Zvents針對Bigtable的C++開源實現
FoundationDB 支援ACID事務處理的NoSQL資料庫,提供非常好的效能、資料一致性和操作彈性
MemSQL 前Facebook工程師創辦的,號稱世界上最快的分散式關係型資料庫,相容MySQL但快30倍,能實現每秒150萬次事務,原理是僅用記憶體並將SQL預編譯為C++。
HBase Bigtable在Hadoop中的實現,最初是Powerset公司為了處理自然語言搜尋產生的海量資料而開展的專案
日誌收集系統 Facebook Scribe Facebook開源的日誌收集系統,能夠從各種日誌源上收集日誌,儲存到一箇中央儲存系統(可以是NFS,分散式檔案系統等)上,以便於進行集中統計分析處理,常與Hadoop結合使用,Scribe用於向HDFS中Push日誌
Cloudera Flume Cloudera提供的日誌收集系統,支援對日誌的實時性收集
logstash 日誌管理、分析和傳輸工具,可配合kibana、ElasticSearch組建成日誌查詢系統
Jafka 開源的、高效能的、跨語言分散式訊息系統,最早是由Apache孵化的Kafka(由LinkedIn捐助給Apache)克隆而來
Apache Kafka Linkedin於2010年12月份開源的分散式訊息系統,它主要用於處理活躍的流式資料,由Scala寫成
分散式服務 ZooKeeper 分散式鎖服務,PoxOS演算法的實現,對應Google的Chubby
etcd 一個高可用的鍵值儲存系統,主要用於共享配置和服務發現。etcd是由CoreOS開發並維護的,靈感來自於 ZooKeeper 和 Doozer,它使用Go語言編寫,並通過Raft一致性演算法處理日誌複製以保證強一致性。
grpc 一個高效能、通用的開源RPC框架,其由Google主要面向移動應用開發並基於HTTP/2協議標準而設計,基於ProtoBuf(Protocol Buffers)序列化協議開發,且支援眾多開發語言。
Apache Ambari Hadoop成員,管理和監視Apache Hadoop叢集的開源框架
基礎設施 SSTable 源於Google,orted String Table
RecordIO 源於Google
Flat Buffers 針對遊戲開發的,高效的跨平臺序列化庫,相比Proto Buffers開銷更小,因為Flat Buffers沒有解析過程
Protocol Buffers Google公司開發的一種資料描述語言,類似於XML能夠將結構化資料序列化,可用於資料儲存、通訊協議等方面。它不依賴於語言和平臺並且可擴充套件性極強。
Consistent Hashing 1997年由麻省理工學院提出,目標是為了解決因特網中的熱點(Hot spot)問題,初衷和CARP十分類似,基本解決了在P2P環境中最為關鍵的問題——如何在動態的網路拓撲中分佈儲存和路由。
Netty JBOSS提供的一個java開源框架,提供非同步的、事件驅動的網路應用程式框架,用以快速開發高效能、高可靠性的網路伺服器和客戶端程式。
BloomFilter 布隆過濾器,1970年由布隆提出,是一個很長的二進位制向量和一系列隨機對映函式,可以用於檢索一個元素是否在一個集合中,優點是空間效率和查詢時間都遠遠超過一般的演算法,缺點是有一定的誤識別率和刪除困難。
Lucene 一套資訊檢索工具包,但並不包含搜尋引擎系統,它包含了索引結構、讀寫索引工具、相關性工具、排序等功能。
SolrCloud 基於Solr和Zookeeper的分散式搜尋, Solr4.0 的核心元件之一,主要思想是使用 Zookeeper 作為叢集的配置資訊中心
Sphinx 一個基於SQL的全文檢索引擎,可結合MySQL、PostgreSQL做全文檢索,可提供比資料庫本身更專業的搜尋功能,單一索引可達1億條記錄,1000萬條記錄情況下的查詢速度為0.x秒(毫秒級)。
SenseiDB Linkin公司開發的一個開源分散式實時半結構化資料庫,在全文索引的基礎封裝了Browse Query Language (BQL,類似SQL)的查詢語法。
Iaas OpenStack 美國國家航空航天局和Rackspace合作研發的,以Apache許可證授權雲平臺管理的專案,它不是一個軟體。這個專案由幾個主要的元件組合起來完成一些具體的工作,旨在為公共及私有云的建設與管理提供軟體的開源專案。6個核心專案:Nova(計算,Compute),Swift(物件儲存,Object),Glance(映象,Image),Keystone(身份,Identity),Horizon(自助門戶,Dashboard),Quantum & Melange(網路&地址管理),另外還有若干社群專案,如Rackspace(負載均衡)、Rackspace(關係型資料庫)。
Docker 應用容器引擎,讓開發者可打包應用及依賴包到一個可移植的容器中,然後釋出到Linux機器上,也可實現虛擬化。
分類: 大資料