收藏 | 史上最全的「大數據」學習資源

當前,整個互聯網正在從IT時代向DT時代演進,大數據技術也正在助力企業和公衆敲開DT世界大門。當今「大數據」一詞的重點其實已經不只在於數據規模的定義,它更表明着信息技術發展進入了一個新的時代,表明着爆炸性的數據信息給傳統的計算技術和信息技術帶來的技術挑戰和困難,表明着大數據處理所需的新的技術和方法,也表明着大數據分析和應用所帶來的新發明、新服務和新的發展機遇。

爲了幫助你們更好深刻了解大數據,雲棲社區組織翻譯了GitHub Awesome Big Data資源,供你們參考。本資源類型主要包括:大數據框架、論文等實用資源集合。

資源列表:

  •   關係數據庫管理系統(RDBMS)
  •   框架
  •   分佈式編程
  •   分佈式文件系統
  •   文件數據模型
  •   Key -Map 數據模型
  •   鍵-值數據模型
  •   圖形數據模型
  •   NewSQL數據庫
  •   列式數據庫
  •   時間序列數據庫
  •   類SQL處理
  •   數據攝取
  •   服務編程
  •   調度
  •   機器學習
  •   基準測試
  •   安全性
  •   系統部署
  •   應用程序
  •   搜索引擎與框架
  •   MySQL的分支和演化
  •   PostgreSQL的分支和演化
  •   Memcached的分支和演化
  •   嵌入式數據庫
  •   商業智能
  •   數據可視化
  •   物聯網和傳感器
  •   文章
  •   論文
  •   視頻


關係數據庫管理系統(RDBMS)

  •   MySQL:世界最流行的開源數據庫;
  •   PostgreSQL:世界最早進的開源數據庫;
  •   Oracle 數據庫:對象-關係型數據庫管理系統。


框架

  •   Apache Hadoop:分佈式處理架構,結合了 MapReduce(並行處理)、YARN(做業調度)和HDFS(分佈式文件系統);
  •   Tigon:高吞吐量實時流處理框架。


分佈式編程

  •   AddThis Hydra :最初在AddThis上開發的分佈式數據處理和存儲系統;
  •   AMPLab SIMR:用在Hadoop MapReduce v1上運行Spark;
  •   Apache Beam:爲統一的模型以及一套用於定義和執行數據處理工做流的特定SDK語言;
  •   Apache Crunch:一個簡單的Java API,用於執行在普通的MapReduce實現時比較單調的鏈接、數據聚合等任務;
  •   Apache DataFu:由LinkedIn開發的針對Hadoop and 和Pig的用戶定義的函數集合;
  •   Apache Flink:具備高性能的執行時間和自動程序優化;
  •   Apache Gora:內存中的數據模型和持久性框架;
  •   Apache Hama:BSP(總體同步並行)計算框架;
  •   Apache MapReduce :在集羣上使用並行、分佈式算法處理大數據集的編程模型;
  •   Apache Pig :Hadoop中,用於處理數據分析程序的高級查詢語言;
  •   Apache REEF :用來簡化和統一低層大數據系統的保留性評估執行框架;
  •   Apache S4 :S4中流處理與實現的框架;
  •   Apache Spark :內存集羣計算框架;
  •   Apache Spark Streaming :流處理框架,同時是Spark的一部分;
  •   Apache Storm :Twitter流處理框架,也可用於YARN;
  •   Apache Samza :基於Kafka和YARN的流處理框架;
  •   Apache Tez :基於YARN,用於執行任務中的複雜DAG(有向無環圖);
  •   Apache Twill :基於YARN的抽象概念,用於減小開發分佈式應用程序的複雜度;
  •   Cascalog:數據處理和查詢庫;
  •   Cheetah :在MapReduce之上的高性能、自定義數據倉庫;
  •   Concurrent Cascading :在Hadoop上的數據管理/分析框架;
  •   Damballa Parkour :用於Clojure的MapReduce庫;
  •   Datasalt Pangool :可選擇的MapReduce範例;
  •   DataTorrent StrAM :爲實時引擎,用於以儘量暢通的方式、最小的開支和對性能最小的影響,實現分佈式、異步、實時的內存大數據計算;
  •   Facebook Corona :爲Hadoop作優化處理,從而消除單點故障;
  •   Facebook Peregrine :MapReduce框架;
  •   Facebook Scuba :分佈式內存數據存儲;
  •   Google Dataflow :建立數據管道,以幫助其分析框架;
  •   Netflix PigPen :爲MapReduce,用於編譯成Apache Pig;
  •   Nokia Disco :由Nokia開發的MapReduc獲取、轉換和分析數據;
  •   Google MapReduce :MapReduce框架;
  •   Google MillWheel :容錯流處理框架;
  •   JAQL :用於處理結構化、半結構化和非結構化數據工做的聲明性編程語言;
  •   Kite :爲一組庫、工具、實例和文檔集,用於使在Hadoop的生態系統上創建系統更加容易;
  •   Metamarkets Druid :用於大數據集的實時e框架;
  •   Onyx :分佈式雲計算;
  •   Pinterest Pinlater :異步任務執行系統;
  •   Pydoop :用於Hadoop的Python MapReduce和HDFS API;
  •   Rackerlabs Blueflood :多租戶分佈式測度處理系統;
  •   Stratosphere :通用集羣計算框架;
  •   Streamdrill :用於計算基於不一樣時間窗口的事件流的活動,並找到最活躍的一個;
  •   Tuktu :易於使用的用於分批處理和流計算的平臺,經過Scala、 Akka和Play所建;
  •   Twitter Scalding:基於Cascading,用於Map Reduce工做的Scala庫;
  •   Twitter Summingbird :在Twitter上使用Scalding和Storm串流MapReduce;
  •   Twitter TSAR :Twitter上的時間序列聚合器。
 

分佈式文件系統

 

文件數據模型

  •   Actian Versant:商用的面向對象數據庫管理系統;
  •   Crate Data:是一個開源的大規模可擴展的數據存儲,須要零管理模式;
  •   Facebook Apollo:Facebook的Paxos算法,相似於NoSQL數據庫;
  •   jumboDB:基於Hadoop的面向文檔的數據存儲;
  •   LinkedIn Espresso:可橫向擴展的面向文檔的NoSQL數據存儲;
  •   MarkLogic:模式不可知的企業版NoSQL數據庫技術;
  •   MongoDB:面向文檔的數據庫系統;
  •   RavenDB:一個事務性的,開源文檔數據庫;
  •   RethinkDB:支持鏈接查詢和羣組依據等查詢的文檔型數據庫。


Key Map 數據模型

注意:業內存在一些術語混亂,有兩個不一樣的東西都叫作「列式數據庫」。這裏列出的有一些是圍繞「key-map」數據模型而建的分佈式、持續型數據庫,其中全部的數據都有(可能綜合了)鍵,並與映射中的鍵-值對相關聯。在一些系統中,多個這樣的值映射能夠與鍵相關聯,而且這些映射被稱爲「列族」(具備映射值的鍵被稱爲「列」)。php

另外一組也可稱爲「列式數據庫」的技術因其存儲數據的方式而有別於前一組,它在磁盤上或在存儲器中——而不是以傳統方式,即全部既定鍵的鍵值都相鄰着、逐行存儲。這些系統也彼此相鄰來存儲全部列值,可是要獲得給定列的全部值卻不須要之前那麼繁複的工做。html

前一組在這裏被稱爲「key map數據模型」,這二者和Key-value 數據模型之間的界限是至關模糊的。後者對數據模型有更多的存儲格式,可在列式數據庫中列出。若想了解更多關於這兩種模型的區分,可閱讀Daniel Abadi的博客:Distinguishing two major types of Column Storesmysql

 
  •   Apache Accumulo:內置在Hadoop上的分佈式鍵/值存儲;
  •   Apache Cassandra:由BigTable受權,面向列的分佈式數據存儲;
  •   Apache HBase:由BigTable受權,面向列的分佈式數據存儲;
  •   Facebook HydraBase:Facebook所開發的HBase的衍化品;
  •   Google BigTable:面向列的分佈式數據存儲;
  •   Google Cloud Datastore:爲徹底管理型的無模式數據庫,用於存儲在BigTable上非關係型數據;
  •   Hypertable:由BigTable受權,面向列的分佈式數據存儲;
  •   InfiniDB:經過MySQL的接口訪問,並使用大規模並行處理進行並行查詢;
  •   Tephra:用於HBase處理;
  •   Twitter Manhattan:Twitter的實時、多租戶分佈式數據庫。
 

鍵-值數據模型

  •   Aerospike:支持NoSQL的閃存優化,數據存儲在內存。開源,「'C'(不是Java或Erlang)中的服務器代碼可精確地調整從而避免上下文切換和內存拷貝」。
  •   Amazon DynamoDB:分佈式鍵/值存儲,Dynamo論文的實現;
  •   Edis:爲替代Redis的協議兼容的服務器;
  •   ElephantDB:專門研究Hadoop中數據導出的分佈式數據庫;
  •   EventStore:分佈式時間序列數據庫;
  •   GridDB:適用於存儲在時間序列中的傳感器數據;
  •   LinkedIn Krati:簡單的持久性數據存儲,擁有低延遲和高吞吐量;
  •   Linkedin Voldemort:分佈式鍵/值存儲系統;
  •   Oracle NoSQL Database:Oracle公司開發的分佈式鍵值數據庫;
  •   Redis:內存中的鍵值數據存儲;
  •   Riak:分散式數據存儲;
  •   Storehaus:Twitter開發的異步鍵值存儲的庫;
  •   Tarantool:一個高效的NoSQL數據庫和Lua應用服務器;
  •   TiKV:由Google Spanner和HBase受權,Rust提供技術支持的分佈式鍵值數據庫;
  •   TreodeDB:可複製、共享的鍵-值存儲,能提供多行原子寫入。
 

圖形數據模型

  •   Apache Giraph:基於Hadoop的Pregel實現;
  •   Apache Spark Bagel:可實現Pregel,爲Spark的一部分;
  •   ArangoDB:多層模型分佈式數據庫;
  •   DGraph:一個可擴展的、分佈式、低時延、高吞吐量的圖形數據庫,旨在爲Google生產水平規模和吞吐量提供足夠的低延遲,用於TB級的結構化數據的實時用戶查詢;
  •   Facebook TAO:TAO是facebook普遍用來存儲和服務於社交圖形的分佈式數據存儲;
  •   GCHQ Gaffer:GCHQ中的Gaffer是一個易於存儲大規模圖形的框架,其中節點和邊緣都有統計數據;
  •   Google Cayley:開源圖形數據庫;
  •   Google Pregel :圖形處理框架;
  •   GraphLab PowerGraph:核心C ++ GraphLab API和創建在GraphLab API之上的高性能機器學習和數據挖掘工具包的集合;
  •   GraphX:Spark中的彈性分佈式圖形系統;
  •   Gremlin:圖形追蹤語言;
  •   Infovore:以RDF爲中心的Map / Reduce框架;
  •   Intel GraphBuilder:在Hadoop上構建大規模圖形的工具;
  •   MapGraph:用於在GPU上大規模並行圖形處理;
  •   Neo4j:徹底用Java寫入的圖形數據庫;
  •   OrientDB:文檔和圖形數據庫;
  •   Phoebus:大型圖形處理框架;
  •   Titan:建於Cassandra的分佈式圖形數據庫;
  •   Twitter FlockDB:分佈式圖形數據庫。
 

NewSQL數據庫

  •   Actian Ingres:由商業支持,開源的SQL關係數據庫管理系統;
  •   Amazon RedShift:基於PostgreSQL的數據倉庫服務;
  •   BayesDB:面向統計數值的SQL數據庫;
  •   CitusDB:經過分區和複製橫向擴展PostgreSQL;
  •   Cockroach:可擴展、地址可複製、交易型的數據庫;
  •   Datomic:旨在產生可擴展、靈活的智能應用的分佈式數據庫;
  •   FoundationDB:由F1授意的分佈式數據庫;
  •   Google F1:創建在Spanner上的分佈式SQL數據庫;
  •   Google Spanner:全球性的分佈式半關係型數據庫;
  •   H-Store:是一個實驗性主存並行數據庫管理系統,用於聯機事務處理(OLTP)應用的優化;
  •   Haeinsa:基於Percolator,HBase的線性可擴展多行多表交易庫;
  •   HandlerSocket:MySQL/MariaDB的NoSQL插件;
  •   InfiniSQL:無限可擴展的RDBMS;
  •   MemSQL:內存中的SQL數據庫,其中有優化的閃存列存儲;
  •   NuoDB:SQL / ACID兼容的分佈式數據庫;
  •   Oracle TimesTen in-Memory Database:內存中具備持久性和可恢復性的關係型數據庫管理系統;
  •   Pivotal GemFire XD:內存中低延時的分佈式SQL數據存儲,可爲內存列表數據提供SQL接口,在HDFS中較持久化;
  •   SAP HANA:是在內存中面向列的關係型數據庫管理系統;
相關文章
相關標籤/搜索