2016-07-06 75 views
1

我想建立一個系統,收集社交網絡數據,每小時收集特定份額/帖子(可能會有成千上萬)的樣本。 一旦我進行爬網,我想將它保存在一個大數據分析中,我可以稍後分析。建議用於收集社交網絡分析的BigData數據庫

分析過程可能是Spark或甚至是應用程序代碼分析。 這意味着我正在尋找最適合我的數據庫: 1.查詢。 2. Spark和其他常用的數據處理可以在其上使用。

你會建議哪一個? HBase的? MongoDB的? Couchbase? BigTable的? DynamoDB?

謝謝!

+1

看起來你想要以「批量」的方式將每小時社交網絡數據存儲到這個nosql數據庫中,並使用db來主要驅動分析。如果這是用例,那麼我肯定會看看Apache Phoenix/HBase。在HBase中,您可以非常有效地以批處理方式導入數據。在HBase的頂部使用Phoenix,您可以獲得像界面一樣的SQL。你還會用這個數據庫做隨機讀取嗎(單行讀取而不是順序讀取)?卡桑德拉是另一種選擇。 Cassandra和Couchbase在功能上相似。其他因素包括Cloud/On Premise。 – satish

回答

1

由於您提到了spark,而且我認爲您需要將GB數據存儲一天,並且此輸入數據永遠不會更改(只讀),我建議將您的原始數據存儲在文件中,如s3或hdfs。因爲從文件讀取json將比從任何數據庫讀取更快,並且無論是來自hdfs還是hbase或couchbase,spark工作都將相同。文件存儲也會更便宜。

如果您仍然希望將它們存儲在hbase中,即使使用phoenix,它也不會提供太多的sql查詢功能,hbase是一個關鍵值db,並且您最終會得到許多二級索引表和重複數據,這是不必要的對於這種批處理用例。