摘要: 當今“大數據”一詞的重點其實已經不僅在於數據規模的定義,它更代表著信息技術發展進入了一個新的時代,代表著爆炸性的數據信息給傳統的計算技術和信息技術帶來的技術挑戰和困難,代表著大數據處理所需的新的技術和方法,也代表著大數據分析和應用所帶來的新發明、新服務和新的發展機遇。為了幫助大家更好深入瞭解大數據,
當前,整個互聯網正在從IT時代向DT時代演進,大數據技術也正在助力企業和公眾敲開DT世界大門。當今“大數據”一詞的重點其實已經不僅在於數據規模的定義,它更代表著信息技術發展進入了一個新的時代,分享一下需要大數據學習視頻資料可以加我扣扣群,每天分享最新學習資源,零基礎到項目實戰,歡迎加入:606859705代表著爆炸性的數據信息給傳統的計算技術和信息技術帶來的技術挑戰和困難,代表著大數據處理所需的新的技術和方法,也代表著大數據分析和應用所帶來的新發明、新服務和新的發展機遇。
為了幫助大家更好深入瞭解大數據,雲棲社區組織翻譯了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上的時間序列聚合器。
分佈式文件系統
- Apache HDFS:在多臺機器上存儲大型文件的方式;
- BeeGFS:以前是FhGFS,並行分佈式文件系統;
- Ceph Filesystem:設計的軟件存儲平臺;
- Disco DDFS:分佈式文件系統;
- Facebook Haystack:對象存儲系統;
- Google Colossus:分佈式文件系統(GFS2);
- Google GFS:分佈式文件系統;
- Google Megastore:可擴展的、高度可用的存儲;
- GridGain:兼容GGFS、Hadoop內存的文件系統;
- Lustre file system:高性能分佈式文件系統;
- Quantcast File System QFS:開源分佈式文件系統;
- Red Hat GlusterFS:向外擴展的附網存儲(Network-attached Storage)文件系統;
- Seaweed-FS:簡單的、高度可擴展的分佈式文件系統;
- Alluxio:以可靠的存儲速率在跨集群框架上文件共享;
- Tahoe-LAFS:分佈式雲存儲系統;
文件數據模型
- Actian Versant:商用的面向對象數據庫管理系統;
- Crate Data:是一個開源的大規模可擴展的數據存儲,需要零管理模式;
- Facebook Apollo:Facebook的Paxos算法,類似於NoSQL數據庫;
- jumboDB:基於Hadoop的面向文檔的數據存儲;
- LinkedIn Espresso:可橫向擴展的面向文檔的NoSQL數據存儲;
- MarkLogic:模式不可知的企業版NoSQL數據庫技術;
- MongoDB:面向文檔的數據庫系統;
- RavenDB:一個事務性的,開源文檔數據庫;
- RethinkDB:支持連接查詢和群組依據等查詢的文檔型數據庫。
Key Map 數據模型
注意:業內存在一些術語混亂,有兩個不同的東西都叫做“列式數據庫”。這裡列出的有一些是圍繞“key-map”數據模型而建的分佈式、持續型數據庫,其中所有的數據都有(可能綜合了)鍵,並與映射中的鍵-值對相關聯。在一些系統中,多個這樣的值映射可以與鍵相關聯,並且這些映射被稱為“列族”(具有映射值的鍵被稱為“列”)。
另一組也可稱為“列式數據庫”的技術因其存儲數據的方式而有別於前一組,它在磁盤上或在存儲器中——而不是以傳統方式,即所有既定鍵的鍵值都相鄰著、逐行存儲。這些系統也彼此相鄰來存儲所有列值,但是要得到給定列的所有值卻不需要以前那麼繁複的工作。
前一組在這裡被稱為“key map數據模型”,這兩者和Key-value 數據模型之間的界限是相當模糊的。後者對數據模型有更多的存儲格式,可在列式數據庫中列出。若想了解更多關於這兩種模型的區分,可閱讀Daniel Abadi的博客:Distinguishing two major types of Column Stores。
- 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:是在內存中面向列的關係型數據庫管理系統;
- SenseiDB:分佈式實時半結構化的數據庫;
- Sky:用於行為數據的靈活、高性能分析的數據庫;
- SymmetricDS:用於文件和數據庫同步的開源軟件;
- Map-D:為GPU內存數據庫,也為大數據分析和可視化平臺;
- TiDB:TiDB是分佈式SQL數據庫,基於谷歌F1的設計靈感;
- VoltDB:自稱為最快的內存數據庫。
列式數據庫
注意:請在鍵-值數據模型 閱讀相關注釋。
- Columnar Storage:解釋什麼是列存儲以及何時會需要用到它;
- Actian Vector:面向列的分析型數據庫;
- C-Store:面向列的DBMS;
- MonetDB:列存儲數據庫;
- Parquet:Hadoop的列存儲格式;
- Pivotal Greenplum:專門設計的、專用的分析數據倉庫,類似於傳統的基於行的工具,提供了一個列式工具;
- Vertica:用來管理大規模、快速增長的大量數據,當用於數據倉庫時,能夠提供非常快的查詢性能;
- Google BigQuery :谷歌的雲產品,由其在Dremel的創始工作提供支持;
- Amazon Redshift :亞馬遜的雲產品,它也是基於柱狀數據存儲後端。
時間序列數據庫
- Cube:使用MongoDB來存儲時間序列數據;
- Axibase Time Series Database:在HBase之上的分佈式時間序列數據庫,它包括內置的Rule Engine、數據預測和可視化;
- Heroic:基於Cassandra和Elasticsearch的可擴展的時間序列數據庫;
- InfluxDB:分佈式時間序列數據庫;
- Kairosdb:類似於OpenTSDB但會考慮到Cassandra;
- OpenTSDB:在HBase上的分佈式時間序列數據庫;
- Prometheus:一種時間序列數據庫和服務監測系統;
- Newts:一種基於Apache Cassandra的時間序列數據庫。
類SQL處理
- Actian SQL for Hadoop:高性能交互式的SQL,可訪問所有的Hadoop數據;
- Apache Drill:由Dremel授意的交互式分析框架;
- Apache HCatalog:Hadoop的表格和存儲管理層;
- Apache Hive:Hadoop的類SQL數據倉庫系統;
- Apache Optiq:一種框架,可允許高效的查詢翻譯,其中包括異構性及聯合性數據的查詢;
- Apache Phoenix:Apache Phoenix 是 HBase 的 SQL 驅動;
- Cloudera Impala:由Dremel授意的交互式分析框架;
- Concurrent Lingual:Cascading中的類SQL查詢語言;
- Datasalt Splout SQL:用於大數據集的完整的SQL查詢工具;
- Facebook PrestoDB:分佈式SQL查詢工具;
- Google BigQuery:交互式分析框架,Dremel的實現;
- Pivotal HAWQ:Hadoop的類SQL的數據倉庫系統;
- RainstorDB:用於存儲大規模PB級結構化和半結構化數據的數據庫;
- Spark Catalyst:用於Spark和Shark的查詢優化框架;
- SparkSQL:使用Spark操作結構化數據;
- Splice Machine:一個全功能的Hadoop上的SQL RDBMS,並帶有ACID事務;
- Stinger:用於Hive的交互式查詢;
- Tajo:Hadoop的分佈式數據倉庫系統;
- Trafodion:為企業級的SQL-on-HBase針對大數據的事務或業務工作負載的解決方案。
數據攝取
- Amazon Kinesis:大規模數據流的實時處理;
- Apache Chukwa:數據採集系統;
- Apache Flume:管理大量日誌數據的服務;
- Apache Kafka:分佈式發佈-訂閱消息系統;
- Apache Sqoop:在Hadoop和結構化的數據存儲區之間傳送數據的工具;
- Cloudera Morphlines:幫助 Solr、HBase和HDFS完成ETL的框架;
- Facebook Scribe:流日誌數據聚合器;
- Fluentd:採集事件和日誌的工具;
- Google Photon:實時連接多個數據流的分佈式計算機系統,具有高可擴展性和低延遲性;
- Heka:開源流處理軟件系統;
- HIHO:用Hadoop連接不同數據源的框架;
- Kestrel:分佈式消息隊列系統;
- LinkedIn Databus:對數據庫更改捕獲的事件流;
- LinkedIn Kamikaze:壓縮已分類整型數組的程序包;
- LinkedIn White Elephant:日誌聚合器和儀表板;
- Logstash:用於管理事件和日誌的工具;
- Netflix Suro:像基於Chukwa 的Storm和Samza一樣的日誌聚合器;
- Pinterest Secor:是實現Kafka日誌持久性的服務;
- Linkedin Gobblin:LinkedIn的通用數據攝取框架;
- Skizze:是一種數據存儲略圖,使用概率性數據結構來處理計數、略圖等相關的問題;
- StreamSets Data Collector:連續大數據採集的基礎設施,可簡單地使用IDE。
以上為“史上最全的“大數據”學習資源(上)”的全部內容
閱讀更多 心在遠方ios 的文章