Java程序員使用的20幾個(gè)大數(shù)據(jù)工具
最近我問了很多Java開發(fā)人員關(guān)于最近12個(gè)月內(nèi)他們使用的是什么大數(shù)據(jù)工具。
這是一個(gè)系列,主題為:
語言web框架應(yīng)用服務(wù)器SQL數(shù)據(jù)訪問工具SQL數(shù)據(jù)庫(kù)大數(shù)據(jù)構(gòu)建工具云提供商今天我們就要說說大數(shù)據(jù)。根據(jù)維基百科,大數(shù)據(jù)是數(shù)據(jù)集的一個(gè)廣義的術(shù)語,并且該數(shù)據(jù)集是如此龐大和復(fù)雜,以致于傳統(tǒng)的數(shù)據(jù)處理應(yīng)用程序無法勝任。
在許多情況下,使用SQL數(shù)據(jù)庫(kù)用于存儲(chǔ)/檢索數(shù)據(jù)就足夠了。但在另一些情況下,要么SQL數(shù)據(jù)庫(kù)規(guī)模不夠,要么還有更好的工具。這一切都取決于使用情況。
現(xiàn)在讓我們來討論一下存儲(chǔ)/處理數(shù)據(jù)用的不同的非SQL工具——NoSQL數(shù)據(jù)庫(kù),內(nèi)存緩存,全文搜索引擎,實(shí)時(shí)流,圖形數(shù)據(jù)庫(kù),等等。
MongoDB—— 一種流行的,跨平臺(tái)的面向文檔的數(shù)據(jù)庫(kù)。
Elasticsearch——專為云而構(gòu)建的分布式REST風(fēng)格搜索引擎。
Cassandra——一個(gè)開源的分布式數(shù)據(jù)庫(kù)管理系統(tǒng),最初由Facebook開發(fā),被設(shè)計(jì)用來處理橫跨多個(gè)商用服務(wù)器的大量數(shù)據(jù),提供了無單點(diǎn)故障的高度可用性。
Redis—— 一個(gè)開源的(BSD許可),內(nèi)存數(shù)據(jù)結(jié)構(gòu)存儲(chǔ),作為數(shù)據(jù)庫(kù)、緩存和消息代理使用。
Hazelcast——基于Java的開源內(nèi)存數(shù)據(jù)網(wǎng)格。
EHCache——一種被廣泛使用的開源Java分布式緩存,用于通用緩存、Java EE和輕量級(jí)容器。Ehcache相關(guān)介紹
Hadoop——用Java編寫的一個(gè)開源軟件框架,用于分布式存儲(chǔ)和對(duì)在計(jì)算機(jī)集群上的超大型數(shù)據(jù)集的分布式處理。
Solr——一個(gè)開源的企業(yè)搜索平臺(tái),用Java編寫的,來自于Apache Lucene項(xiàng)目。
Spark——Apache Software Foundation中最活躍的項(xiàng)目,一個(gè)開源的集群計(jì)算框架。
Memcached—— 一個(gè)通用的分布式內(nèi)存緩存系統(tǒng)。
Apache Hive——提供了Hadoop之上類似于SQL的層。
Apache Kafka—— 一個(gè)高通量、分布式的發(fā)布-訂閱式消息系統(tǒng),最初開發(fā)在LinkedIn上。Windows上脫離Cygwin運(yùn)行Apache Kafka
Akka—— 一個(gè)工具包和運(yùn)行時(shí),用于在JVM上構(gòu)建高度并行的、分布式的、有彈性的消息驅(qū)動(dòng)的應(yīng)用程序。
HBase—— 一個(gè)開源的,非關(guān)系型的,分布式數(shù)據(jù)庫(kù),在谷歌的BigTable后建模,用Java編寫,并運(yùn)行在HDFS上。
Neo4j——用Java實(shí)現(xiàn)的開源圖形數(shù)據(jù)庫(kù)。
CouchBase——一個(gè)開源的、面向文檔的分布式NoSQL數(shù)據(jù)庫(kù),特別為了交互式應(yīng)用而優(yōu)化。
Apache Storm——開源的分布式實(shí)時(shí)計(jì)算系統(tǒng)。
CouchDB——使用JSON來存儲(chǔ)數(shù)據(jù)的面向文檔的開源NoSQL數(shù)據(jù)庫(kù)。
Oracle Coherence—— 一個(gè)內(nèi)存的數(shù)據(jù)網(wǎng)格解決方案,通過提供快速訪問常用數(shù)據(jù)的渠道,使得企業(yè)可預(yù)測(cè)地?cái)U(kuò)展關(guān)鍵任務(wù)應(yīng)用程序。
Titan—— 一個(gè)可擴(kuò)展的圖形數(shù)據(jù)庫(kù),優(yōu)化的目的在于存儲(chǔ)和查詢包含數(shù)千億頂點(diǎn)和邊的圖形,分布在多機(jī)集群。
Amazon DynamoDB——一個(gè)快速、靈活、完全管理的NoSQL數(shù)據(jù)庫(kù)服務(wù),用于在任何規(guī)模需要一致的、個(gè)位數(shù)毫秒延遲的所有應(yīng)用程序。
Amazon Kinesis—— 用于在AWS上的流數(shù)據(jù)的實(shí)時(shí)平臺(tái)。
Datomic—— 一個(gè)用Clojure寫的完全事務(wù)式的,支持云的,分布式數(shù)據(jù)庫(kù)。
英文原文:What Big Data Tools Do Java Developers Use? 翻譯:codeceo
相關(guān)文章:
1. python 如何在 Matplotlib 中繪制垂直線2. bootstrap select2 動(dòng)態(tài)從后臺(tái)Ajax動(dòng)態(tài)獲取數(shù)據(jù)的代碼3. ASP常用日期格式化函數(shù) FormatDate()4. python中@contextmanager實(shí)例用法5. html中的form不提交(排除)某些input 原創(chuàng)6. CSS3中Transition屬性詳解以及示例分享7. js select支持手動(dòng)輸入功能實(shí)現(xiàn)代碼8. 如何通過python實(shí)現(xiàn)IOU計(jì)算代碼實(shí)例9. 開發(fā)效率翻倍的Web API使用技巧10. vue使用moment如何將時(shí)間戳轉(zhuǎn)為標(biāo)準(zhǔn)日期時(shí)間格式
