タグ

ブックマーク / crumbjp.hateblo.jp (4)

  • Aggregation FWの特徴と地雷 - 中年engineerの独り言 - crumbjp

    MongoDBのAggregation FWはSQLの集約関数(COUNT,SUM,GROUP等)の様な組み込み機能の集合である。 非常に便利なのだが、色々と問題があって、手放しにはお勧めできない。 Aggregation FWの機能や利用する時のハマリ所をリストアップしてみた。 機能 MapReduceの様にロジックを投入できる訳ではなく、組み込みの機能を利用するだけなので、柔軟性は無いものの殆どの用途に十分なほどの機能が用意されている。 1. noscripting=trueで運用できる なによりサーバサイドでスクリプトを走らせるリスクを回避できる事が最大のポイント 2. SECONDARYで動作 Primaryへの負荷を掛けることなく動作できる。 専用のhiddenノードで運用すすればオンライン系への負担も無いのでとても便利。 3. パイプライン 多段の集計が可能。ある意味SQLより

    Aggregation FWの特徴と地雷 - 中年engineerの独り言 - crumbjp
    muddydixon
    muddydixon 2013/11/26
    普通の量のデータを処理するならmongohadoopでよいかと
  • MongoDB 2.4 の性能 徹底評価(Memory vs DISK) - 中年engineerの独り言 - crumbjp

    大体欲しいデータは揃ったのと、MongoDBの気持ちが解ってきたのでMongoDB2.4の性能調査は今回で最後の予定 実は前回MongoDB 2.4 の性能 徹底評価(レコード長による評価)のFETCHバイト数(1.5GB) 実は今回のOn-memoryデータ vs DISKリードに繋げる事を意図した大きさだった。 システムの2GBメモリに収まるだろう。と・・・ しかし、、測れど測れど、意図した通りの結果にならない・・・ それで気付いた。 インデックスの大きさを勘違いしていたのだ。 MongoDBのインデックスは単なるコレクションでは無いようだ! 1億件の数値型インデックスは2.3GBにもなる。 という訳で、1億件のコレクションのインデックスはそもそもメモリーに入らない。。 1ドキュメント辺り25〜26byte インデックス数値型8バイト+ドキュメントへのポインタ8バイト+メタ情報? _i

    MongoDB 2.4 の性能 徹底評価(Memory vs DISK) - 中年engineerの独り言 - crumbjp
  • MongoDBが適さないケース - 中年engineerの独り言 - crumbjp

    > 原文(Why MongoDB is a bad choice for storing our scraped data) 私自身はMongoDBを推進する立場なのだが、確かにMongoDBに適さないケースはある。 闇雲に推進しても結局は全員がアンハッピーになるので、この様なネタもどんどん紹介していこうと思う。 この記事はMongoDBを徹底的に使い尽くしたエンジニアが書いている様で状況が良く解った。 ちょっと難しい所もあるので要点を意訳して、軽く解説を書いてみる。 (もちろん是非原文で読むのをお勧めする) 状況 最初はMongoDBでうまく動いていたが、だんだん苦労が増えてきて 元々のアーキテクチャを刷新するタイミングでMongoDBから別のプロダクトに乗り換える事にした。 システムの規模 詳しく書かれていないが、1ノード辺り数TBとあるのでSharding環境ではないかと思われる。

    MongoDBが適さないケース - 中年engineerの独り言 - crumbjp
    muddydixon
    muddydixon 2013/05/20
    激しく同意
  • MongoDB 2.4 の性能 徹底評価 - 中年engineerの独り言 - crumbjp

    まとめ 超長くなったのでまとめを上に持ってきた。 巷で言われているチューニングは結構嘘が多い事が解ってきた。 ツール等 workingSet Analyzer は信用ならない。(overSecondsはまあ良い) mongoperfの値は完全に参考にならない。 insert mongoperfの値はinsert性能と関連しない。(何を測ってるんだ?) カラムのプリアロケーションによるUPDATE時のデータ肥大化回避($setOnInsert)はMUST。 クリティカルな時間帯にストレージファイル(2GB)の生成を避けるチューニングの効果は懐疑的。 レコードプリアロケーション・チューニングは頑張る価値が無い。(むしろ逆効果) update 上記の通り必ずin-placeになるようにする。 paddingFactorが動くようだとお話にならない性能劣化 remove かなり高速。 全件削除の場

    MongoDB 2.4 の性能 徹底評価 - 中年engineerの独り言 - crumbjp
  • 1