這是作者在另一個帖子中發布的一項近期調查結果,調查為作者詢問一些Java程序員,其在12個月內使用了什么框架開發工具。本次調查中覆蓋了大數據工具。
以下是調查所覆蓋的主題:
1、語言
2、Web框架
3、應用服務器
4、SQL數據訪問工具
5、SQL數據庫
6、大數據
7、構建工具
8、云提供商
今天讓我們來看看大數據。
根據維基百科,大數據是一個廣義的術語,所包含的的內容十分龐大且復雜,以至于傳統的數據處理應用程序根本不足以應對。
在許多情況下,使用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寫的完全事務式的,支持云的,分布式數據庫。
原文鏈接:https://dzone.com/articles/big-data-java-survey-result