3312115991_cc2a483d06_z

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

這是一個系列,主題為:

語言
web
框架
應用伺服器
SQL
資料訪問工具
SQL
資料庫
大數據
構建工具
雲提供商

今天我們就要說說大數據。根據維基百科,大數據是資料集的一個廣義的術語,並且該資料集是如此龐大和複雜,以至於傳統的資料處理應用程式無法勝任。在許多情況下,使用 SQL 資料庫用於存取 / 檢索資料就足夠了。但在另一些情況下,要嘛 SQL 資料庫規模不夠,要嘛還有更好的工具。這一切都取決於使用情況。

現在讓我們來討論一下存取 / 處理資料用的不同的非 SQL 工具——NoSQL 資料庫,記憶體緩存,全文檢索搜尋引擎,即時流,圖形資料庫,等等。

 

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

Elasticsearch—專為雲而構建的分散式 REST 風格搜尋引擎。

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

Redis— 一個開源的(BSD 許可),記憶體資料結構存儲,作為資料庫、緩衝和消息代理使用。

Hazelcast—基於 Java 的開源記憶體資料網格。

EHCache—一種被廣泛使用的開源 Java 分散式緩存,用於通用緩存、Java EE 和羽量級容器。Ehcache 相關介紹

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 寫的完全事務式的,支援雲的,分散式資料庫。

(本文獲《碼農網》授權刊登轉載,圖片來源:JanneM CC Licensed,未經授權請勿轉載。)

延伸閱讀

我想成為前端工程師!這 21 個程式設計網站你就絕不能錯過
【全端工程師解密】2016 年度 JavaScript 潮流:請徹底拋棄 jQuery
【2016年工程師必備】10大數據科學家最常使用的演算法都在這!