大資料學習資源匯總
文章匯總:https://www.cnblogs.com/dotnetcrazy/p/9160514.html
目錄:
關系資料庫管理系統(RDBMS)
框架
分布式編程
Key Map 資料模型
資料可視化
當前,整個互聯網正在從IT時代向DT時代演進,大資料技術也正在助力企業和公眾敲開DT世界大門。當今“大資料”一詞的重點其實已經不僅在于資料規模的定義,它更代表著資訊技術發展進入了一個新的時代,代表著爆炸性的資料資訊給傳統的計算技術和資訊技術帶來的技術挑戰和困難,代表著大資料處理所需的新的技術和方法,也代表著大資料分析和應用所帶來的新發明、新服務和新的發展機遇。
為了幫助大家更好深入了解大資料,云棲社區組織翻譯了GitHub Awesome Big Data資源,供大家參考。本資源型別主要包括:大資料框架、論文等實用資源集合。
資源串列:
關系資料庫管理系統(RDBMS)
框架
分布式編程
分布式檔案系統
檔案資料模型
Key -Map 資料模型
鍵-值資料模型
圖形資料模型
NewSQL資料庫
列式資料庫
時間序列資料庫
類SQL處理
資料攝取
關系資料庫管理系統(RDBMS)
SQLServer:世界最有活力的資料庫;
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。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/24814.html
標籤:其他開發語言
