Java程序員使用的20幾個大數據工具

最近我問了不少Java開發人員關於最近12個月內他們使用的是什麼大數據工具。web

 

這是一個系列,主題爲:數據庫

 

  1. 語言緩存

  2. web框架服務器

  3. 應用服務器數據結構

  4. SQL數據訪問工具框架

  5. SQL數據庫分佈式

  6. 大數據工具

  7. 構建工具oop

  8. 雲提供商大數據

 

今天咱們就要說說大數據。根據維基百科,大數據是數據集的一個廣義的術語,而且該數據集是如此龐大和複雜,以至於傳統的數據處理應用程序沒法勝任。

 

在許多狀況下,使用SQL數據庫用於存儲/檢索數據就足夠了。但在另外一些狀況下,要麼SQL數據庫規模不夠,要麼還有更好的工具。這一切都取決於使用狀況。

 

如今讓咱們來討論一下存儲/處理數據用的不一樣的非SQL工具——NoSQL數據庫,內存緩存,全文搜索引擎,實時流,圖形數據庫,等等。

 

MongoDB—— 一種流行的,跨平臺的面向文檔的數據庫。

 

Elasticsearch——專爲雲而構建的分佈式REST風格搜索引擎。

 

Cassandra——一個開源的分佈式數據庫管理系統,最初由Facebook開發,被設計用來處理橫跨多個商用服務器的大量數據,提供了無單點故障的高度可用性。

 

Redis—— 一個開源的(BSD許可),內存數據結構存儲,做爲數據庫、緩存和消息代理使用。

 

Hazelcast——基於Java的開源內存數據網格。

 

EHCache——一種被普遍使用的開源Java分佈式緩存,用於通用緩存、Java EE和輕量級容器。

 

Hadoop——用Java編寫的一個開源軟件框架,用於分佈式存儲和對在計算機集羣上的超大型數據集的分佈式處理。

 

Solr——一個開源的企業搜索平臺,用Java編寫的,來自於Apache Lucene項目。

 

Spark——Apache Software Foundation中最活躍的項目,一個開源的集羣計算框架。

 

Memcached—— 一個通用的分佈式內存緩存系統。

 

Apache Hive——提供了Hadoop之上相似於SQL的層。

 

Apache Kafka—— 一個高通量、分佈式的發佈-訂閱式消息系統,最初開發在LinkedIn上。Windows上脫離Cygwin運行Apache Kafka

 

Akka—— 一個工具包和運行時,用於在JVM上構建高度並行的、分佈式的、有彈性的消息驅動的應用程序。

 

HBase—— 一個開源的,非關係型的,分佈式數據庫,在谷歌的BigTable後建模,用Java編寫,並運行在HDFS上。

 

Neo4j——用Java實現的開源圖形數據庫。

 

CouchBase——一個開源的、面向文檔的分佈式NoSQL數據庫,特別爲了交互式應用而優化。

 

Apache Storm——開源的分佈式實時計算系統。

 

CouchDB——使用JSON來存儲數據的面向文檔的開源NoSQL數據庫。

 

Oracle Coherence—— 一個內存的數據網格解決方案,經過提供快速訪問經常使用數據的渠道,使得企業可預測地擴展關鍵任務應用程序。

 

Titan—— 一個可擴展的圖形數據庫,優化的目的在於存儲和查詢包含數千億頂點和邊的圖形,分佈在多機集羣。

 

Amazon DynamoDB——一個快速、靈活、徹底管理的NoSQL數據庫服務,用於在任何規模須要一致的、個位數毫秒延遲的全部應用程序。

 

Amazon Kinesis—— 用於在AWS上的流數據的實時平臺。

 

Datomic—— 一個用Clojure寫的徹底事務式的,支持雲的,分佈式數據庫。

相關文章
相關標籤/搜索