2016-08-09 8 views
1

MongoDbを多種多様な集計で使用するためにMongoDbを使用することに関するいくつかのパフォーマンス上の問題を解決しようとしています。MongoDB集計パフォーマンス機能

私は、コレクションにはチャンクとシャードのキー値のサイズに応じて32TBのcapcityがあることを読んでいます。

平均して1日350件の販売取引を私たちに提供している顧客が65,000人いると、最終的に毎日22,750,000件の文書が作成されます。私が販売取引を言うとき、私はヘッダーと広告申込情報を持つ請求書のようなオブジェクトを意味します。私が持っている各文書は平均2.60kbです。

私はまた、アカウント残高やカタログの商品など、同じ顧客が受け取った他のデータもあります。私はいつでも約1,000件の製品レコードをアクティブに見積もっています。

上記に基づいて、1年間に8,392,475,0,00(84億)のドキュメントを作成し、合計20,145,450,000 kb(18.76Tb)のデータをコレクションに格納します。

32Tb(34,359,738,368 kb)のMongoDbコレクションの容量に基づいて、私は容量の58.63%になると考えています。

これは、実行中の異なる集約クエリに対してこれがどのように機能するかを理解したいと思います。私は、ビジネス・インサイト分析のためのソース・データとして使用される異なるコレクションに書き込む一連のステージングされたパイプライン・アグリゲーションを作成したいと考えています。

844億件のトランザクション文書にわたって、単一の結果セットの16Mbドキュメントサイズの問題を避けるために、$outを使用して出力する個々のサービスの集合によって、この集約されたデータを異なるコレクションに作成することを目指します。

私のことができるようにするためにここにexpectionにMongoDBを過度に野心的なものアム:更新されたデータの

  • 集計し、出力結果コレクション内の多くのデータがために別々のコレクションにビジネス洞察を駆動する

    1. ストア

    任意のフィードバックを歓迎は、私は限界が数量データストレージと私たちのために他の技術とは対照的に、MongoDBのを使用するのであるかを理解したい、顧客のビジネスの離散的な側面を提供するサービスによる消費e。事前

  • 答えて

    0

    おかげで(レプリカセットまたはシャードクラスタ内に)することができますどのように大きなコレクションMongoDBの中に制限はありません。私はあなたがそれを分けることができない最大の収集サイズにこれを混同していると思います。あなたはそれが最初からシャードクラスタで行くことに理にかなって持っていることを計画しているデータの量については

    MongoDB Docs: Sharding Operational Restrictions

    +0

    ありがとうございました@Kiril、集計で使用する予定のドキュメントの量がありますが、MongoDbはそれをうまく処理できると思いますか?私は記憶容量が私が考慮する必要がある1つの側面であることを理解する。ありがとう、Matt –

    +0

    集計クエリのパフォーマンスは、特定のクエリに対して返されるデータの量と、そのクエリをサポートするために使用できるインデックスによって異なります。あなたのレポートのために、クエリが高速データであるために18TBのデータを組み合わせる必要がある場合は、メモリ内にあるか高速SSDである必要があります。 – Kiril