2012年10月22日のブックマーク (2件)

  • mongodbのMapReduceでUUを求めてみた - ブログなんだよもん

    現在、e-NDEXのアクセスログは全部mongodbに入れてお手製のアクセス解析ツールでレポートしています。 最初はとりあえずパフォーマンス無視ということで全部データを取得してRubyで解析するという荒業に出てたんだけど、現状で65万行くらいなので既にかなり重い。7秒とかかかる。 これは微妙ということで、普通にmongoidのCriteriaAPIを使って集計しようとしたんだけど、groupの仕様がイマイチ使いづらい。というかtimestampは秒単位で登録してるので、日付毎のUUが集計できない。 という訳でMapReduce使ってゴリゴリ集計して見ることに。いきなりmongoidでやるのも大変そうなので、まずはコンソールからJSで書きました。 UUはいきなり計算せずに、まず日付毎のIPに集約して、それを一時コレクションに保存。そして、その一時コレクションに対して更に日付毎で集計する、とい

    mongodbのMapReduceでUUを求めてみた - ブログなんだよもん
    mizuno234
    mizuno234 2012/10/22
    mongodb
  • MapReduce - Docs-Japanese - 10gen Confluence

    shard環境中では、すべてのshardで並行してデータ処理が走ります。   (注意: 2010/2/2: shard内でのmap/reduceはペンティング中ですが、すぐに戻ります) map/reduce はデータベース [command] を経由して、呼び出されます。   データバースは一時的なコレクションを出力結果用に作成します。この一時的なコレクションは、クライアントのコネクションが閉じたとき、または明示的にdropされた場合削除されます。また、永続的な出力用のコレクション名を指定することもできます。  map と reduce ファンクションはJavaScriptで書き、サーバ上で実行されます。 コマンドの文法: db.runCommand( { mapreduce : <collection>, map : <map ファンクション名>, reduce : <reduce フ

    mizuno234
    mizuno234 2012/10/22