2016-07-06 14 views
1

ソーシャルネットワークのデータを毎時収集し、特定のシェア/ポストで何が起こっているかをサンプリングするシステムを構築したいと考えています。 クロールをやり終えたら、後で分析できる大きなデーターベースに保存します。ソーシャルネットワーク分析を収集するためのビッグデータDBの提案

解析プロセスは、潜在的にスパークまたはアプリケーションコード分析である可能性があります。 これは、私に可能な最良のDBを探していることを意味します。 1.クエリ。 2. Sparkと他の一般的に使用されるデータ処理を使用することができます。

どちらをお勧めしますか? HBase? MongoDB? Couchbase? BigTable? DynamoDB?

ありがとうございます!

+1

このソーシャルネットワークデータを毎時nosqlデータベースに「バッチ」形式で格納し、主にアナリティクスを駆動するためにdbを使用すると思われます。それがユースケースであれば、私は間違いなくApache Phoenix/HBaseを見ていきます。 HBaseでは、バッチ方式でデータを非常に効率的にインポートできます。 HBaseの上でPhoenixを使用すると、SQLのようなインターフェースが得られます。また、このDBをランダムな読み込み(シーケンシャルではなく単一行の読み込み)に使用しますか?カサンドラはもう一つの選択肢です。 CassandraとCouchbaseは機能が似ています。その他の要素には、Cloud/On Premiseがあります。 – satish

答えて

1

あなたはsparkについて言及しているので、私は1日GBのデータを保存する必要があると思います。この入力データは決して変更されません(読み取り専用)。s3やhdfsなどのファイルに生データを保存することをおすすめします。 jsonとしてのファイルからの読み込みは、どのデータベースからの読み込みよりも速く、あなたのスパークジョブは、hdfsまたはhbaseまたはcouchbaseのどちらからでも同じです。ファイルストレージも安くなります。

まだhbaseに保存したい場合は、phoenixを使用してもsqlクエリ機能はほとんど提供されません.hbaseはキー値dbであり、多くのセカンダリインデックステーブルと重複データこの種のバッチユースケースのために。