讓我們一起走進大數據開源項目--第2節
數據可視化
在大數據的海洋中,如何更直觀對數據進行探索和可視化也是目前最值得關註的方向,這類開源項目包括D3,Chart.js, Arbor, DC.js, Sigma.js, Zeppelin等,熟悉前端技術的攻城師可以分分鐘利用這些優秀的library將大數據直接以圖表形式展示給人們。
================================================================================================
以下為個人評價:
1、當前的數據倉庫產品,又發生了較大變化,kylin和durid的成熟,為OLAP提供了更好的解決方案,另外在數據分析中spark也愈發成熟
2、MADlib已經成為apache的頂級項目,另外HAWQ也發布到了2.2.0.0,相信很快會成為頂級項目
3、GemFire是個不錯的東東,抽空研究下,其版權屬於Pivotal(EMC與VMware/GE合資公司),Redis的創始人Salvatore Sanfilippo 現在也供職於Pivotal。當前主要應用銀行、社保、12306等交易系統。
大數據開源框架
- ElasticSearch
1.1 ElasticSearch的優點:
高並發。實測es單機分配10g內存單實例,寫入能力1200qps,60g內存、12核CPU起3個實例預計可達到6000qps。
同機房單條數據寫入平均3ms(比mysql慢,mg不清楚)
滿足大數據下實時讀寫需求,無需分庫(不存在庫的概念)。
易擴展。實例間做下配置即可擴展並發性和容積,自動分配的寫入機制,無需操心傳統db中多主同步的詬病
支持較復雜的條件查詢,group by、排序都不是問題
具有一定的關系性,但不用擔心大字段的問題
1.2 ElasticSearch的缺點:
不支持事務;
讀寫有一定延時;
無權限管理.
-
Lucene
Lucene 是一個 JAVA 搜索類庫,它本身並不是一個完整的解決方案,需要額外的開發工作。
2.1 Lucene的優點
成熟的解決方案,有很多的成功案例。apache 頂級項目,正在持續快速的進步。龐大而活躍的開發社區,大量的開發人員。它只是一個類庫,有足夠的定制和優化空間:經過簡單定制,就可以滿足絕大部分常見的需求;經過優化,可以支持 10億+ 量級的搜索。
2.2 Lucene的缺點
需要額外的開發工作。所有的擴展,分布式,可靠性等都需要自己實現;非實時,從建索引到可以搜索中間有一個時間延遲,而當前的“近實時”(Lucene Near Real Time search)搜索方案的可擴展性有待進一步完善。
- Redis
3.1 Redis的優點
讀寫性能優異
支持數據持久化,支持AOF和RDB兩種持久化方式
支持主從復制,主機會自動將數據同步到從機,可以進行讀寫分離。
數據結構豐富:除了支持string類型的value外還支持string、hash、set、sortedset、list等數據結構。
3.2 Redis的缺點
Redis不具備自動容錯和恢復功能,主機從機的宕機都會導致前端部分讀寫請求失敗,需要等待機器重啟或者手動切換前端的IP才能恢復。
主機宕機,宕機前有部分數據未能及時同步到從機,切換IP後還會引入數據不一致的問題,降低了系統的可用性。
Redis的主從復制采用全量復制,復制過程中主機會fork出一個子進程對內存做一份快照,並將子進程的內存快照保存為文件發送給從機,這一過程需要確保主機有足夠多的空余內存。若快照文件較大,對集群的服務能力會產生較大的影響,而且復制過程是在從機新加入集群或者從機和主機網絡斷開重連時都會進行,也就是網絡波動都會造成主機和從機間的一次全量的數據復制,這對實際的系統運營造成了不小的麻煩。
Redis較難支持在線擴容,在集群容量達到上限時在線擴容會變得很復雜。為避免這一問題,運維人員在系統上線時必須確保有足夠的空間,這對資源造成了很大的浪費。
- HBase
4.1 HBase的優點
列的可以動態增加,並且列為空就不存儲數據,節省存儲空間.
Hbase自動切分數據,使得數據存儲自動具有水平scalability.
Hbase可以提供高並發讀寫操作的支持
4.2 HBase的缺點
不能支持條件查詢,只支持按照Row key來查詢。
暫時不能支持Master server的故障切換,當Master宕機後,整個存儲系統就會掛掉。
- Hadoop
5.1 Hadoop的優點
Hadoop集群的擴展性是其一大特點,Hadoop可以擴展至數千個節點,對數據持續增長,數據量特別巨大的需求很合適。
Hadoop的成本是其另一大優勢,由於Hadoop是開源項目,而且不僅從軟件上節約成本,硬件上的要求也不高。目前去IOE潮流風行,低成本的Hadoop也是一大推手。
Hadoop生態群活躍,其周邊開源項目豐富,HBase, Hive,Impala等等基礎開源項目眾多。
6.5.2 Hadoop的缺點
全量場景,任務內串行
重吞吐量,響應時間完全沒有保證
中間結果不可見,不可分享
單輸入單輸出,鏈式浪費嚴重
鏈式MR不能並行
粗粒度容錯,可能會造成陷阱
圖計算不友好
叠代計算不友好
不能支持秒級計算,只適合做離線數據分析任務
這些只是本人的一些見解,如果有什麽不對的隨時可以指出。
以後會更新一些其他的關於大數據的文章。
很多人都知道我有大數據培訓資料,都天真的以為我有全套的大數據開發、hadoop、spark等視
頻學習資料。我想說你們是對的,我的確有大數據開發、hadoop、spark的全套視頻資料。
如果你對大數據開發感興趣可以加口群領取免費學習資料: 763835121
讓我們一起走進大數據開源項目--第2節