當前位置:學問君>人在職場>IT認證>

Java程序員使用大數據工具彙總

學問君 人氣:1.41W

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

Java程序員使用大數據工具彙總

現在讓我們來討論一下存儲/處理數據用的不同的非SQL工具——NoSQL數據庫,內存快取,全文搜尋引擎,實時流,圖形數據庫,等等。

MongoDB

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

Elasticsearch

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

Cassandra

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

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寫的完全事務式的,支援雲的,分佈式數據庫。