mongo集群可以用來進行海量資料分析嗎?

時間 2021-06-07 08:51:19

1樓:潘飛

曾經使用過mongodb作為儲存來測試其分析效能,不是很理想,當然只是單節點,可能沒有說明性。

目前來看大資料分析的技術主要有以下幾個方向:

類似於Hadoop的MapReduce架構;

類似於Presto和Spark的記憶體計算架構;

類似於Elasticsearch的分布式索引架構;

類似於Storm之類的分布式實時計算框架;

MR演算法是傳統的批處理模型,其延遲性較為明顯,對於體量較大(資料粒度較細)的資料分析比較適合,比如ETL過程就比較適合於使用MR計算模型(可以通過Hive來使用SQL轉化成MR)。

類似於Presto這樣的架構(可以使用SQL),更多的是應用在即時分析的領域,因為其最大限度地利用記憶體來提公升計算效能,所以其延遲要比基於MR的Hive要低好幾個數量級。同時,也應該注意運算的複雜性,確保有足夠的記憶體支援運算;

Elasticsearch是技術Lucene開發的分布式的索引架構,很多設計借鑑了HDFS的設計,比如分片,複製等概念,其最大的優勢在於它的準實時性。其對資料分析的支援僅限於簡單的聚合計算,所以有其侷限性。其最大的問題就是為了效能,消耗記憶體比較大,所以要適當地保持資料的規模,確保每個節點的記憶體不會成為瓶頸。

Storm這種是一種資料流計算框架,其最大的優勢就在於它的準實時。作為乙個純粹的資料流計算框架來使用,它的效能沒有問題,但是如果要做一些稍微複雜一點的計算,比如JOIN操作,那其效能也會受到極大影響。

以上所有的計算模型,都要注意記憶體的使用,特別是Presto和ES,如果伺服器節點開始使用交換區的話,效能會呈指數級下降。

技術只是方法,業務模型、資料分析理論、思路才是根基;另資料分析並不能解決所有問題,要充分利用資料的同時,也要注意那些資料分析解決不了問題。

C語言可以用來幹嘛?

王路飛 C 語言是一種十分強大的語言,可以進行多種方式進行程式的設計,它是一種很有特色的高階語言通過若干個函式組成,它具備構成程式設計的 3 種基本結構順序,選擇和迴圈結構。C語言編輯簡潔明瞭,運算子豐富且功能強大還有編譯預處理功能。此語言的移植性好不同的處理器用不同的編譯器編譯指令達到移植的效果。...

哪些歌曲可以用來求婚?

王王王王王王王王無敵 廢話少說 致愛人!致愛人!致愛人!張羿凡的一首民謠。摘錄歌詞幾條 那位無畏的誓言 那些剎那就決定的永恆 在今天讓我們完成 請你相信明天 你不會再有片刻的孤單和寂寞 我亦相信自己 不會讓憂愁吞沒了生活 我們一起擁抱 那些未來也看不透的日子 我是分割線 聲音真的纏綿又溫柔。輕聲細語...

茶葉可以用來做哪些料理?

微君之故 為什麼都在說日式料理 說到茶葉當然首選茶葉蛋啊!拍桌狂笑 還有龍井蝦仁什麼的也不錯 說乙個我自己覺得很好吃 喝 的 紅茶豆漿 就是用豆漿機打豆漿的時候直接撕開乙個紅茶包把茶末倒進去一起打碎煮 非常香濃 還有在北京乙個咖啡店吃過伯爵茶蛋糕 也非常棒!感覺比他家招牌覆盆子撻要更好吃 左邊這個白...