MySQL、MongoDB還是Hadoop-記錄

來源:互聯網
上載者:User

本文是根據一個Google論壇上的話題的討論,想瞭解一下mongoDB、hadoop、mysql的相關對比,以及如何合理的使用。

問題如下:

這是一個mongodb-user的google group上的討論。LZ是一個廣告公司的技術人員,需要對500M行(5億行)的log資訊進行儲存和資料分析工作,他將這一問題提到group中,並提出了自己的三種想法:

  1. 將5億行每行50個欄位的資料存在Mysql中-對每一個欄位做索引。
  2. 同上,不過是將億行資料存在MongoDB中並建索引。
  3. 將所有行載入到Hadoop中,通過MapReduce進行資料分析。

這是一個常見的問題,我們可以先試著自己思考一下解決方案,然後再來看文章後面各路神仙們的方法吧。

下面是本討論的地址:

http://groups.google.com/group/mongodb-user/browse_thread/thread/632d1648707e51d9/9a504c99168cf4e7?pli=1

建議:

1、mongoDB作為storage layer,hadoop做processing

2、mongoDB不適合經常做插入性更新的資料(需要手工做分區(需要嗎現在?)),1.6之後的mongoDB已經支援分區了

3、mongoDB的javascript-based的mapreduce是一個輕量級的線程,可能成為資料處理的bottleneck但是可以自己寫一個mapreduce程式

4、hadoop-plugin是什麼意思?是mongoDB提供了InputReader, InputSplit, etc?  回答:這幫人真的要寫一個hadoop上的jar包....

5、認為hadoop+mongoDB會是個很prefect組合,

查詢是這樣的:SELECT OS, SUM(IMPS), SUM(CLICKS) FROM TABLE WHERE CC = 'US' AND  ISMOBILE = 1 GROUP BY OS; 

storage in mongoDB

use mongo as the input into hadoop, using mongo's index for CC="US" &&  ISMOBILE=1 

use hadoop to do the aggregation

store the result in mongoD

6、也有認為不合適的,因為mongoDB的查詢索引之類的可能比不上mysql所以,mongoDB可能只是做了前期的儲存工作,可以沒有!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.