2017-05-26 1 views
0

私のアプリはデータを収集し、それをmongoDBに送る毎日のジョブを実行します。このデータは処理され、残りのAPIを介して公開されます。mongoDBアーキテクチャスケーラブルな読み取りの重いアプリケーション(定数書き込み)

要件、セットアップにAWSでのMongoDBクラスタが必要:

  • データ(50Mレコードについて)毎日ほぼ同じ大きさに成長するので、スループットを拡張する必要はありません書きます。書き込みは特定の時間にcronによってトリガーされます。オブジェクトは不変です(それらは成長しません)
  • 読み取りスループットはユーザー/トラフィックの数に依存するため、スケーラビリティが必要です。トラフィックは最初は重くはありません。
  • データはほとんどが単純なJSONです。高速クエリ/フィルタリングのフィールドのいくつかのインデックスが必要です。

レプリカセット、シャードなどについてはどのようなアーキテクチャを使用しますか。

このアーキテクチャにはどのようなストレージボリュームを使用する必要がありますか? (EBS、NVMe)? さらに多くのインスタンスを使用したり、RAID設定を使用することをお勧めします。 ?

私は月に約500を使いたいと思っています。セットアップするには、事前

答えて

1

おかげでAWSでのMongoDBクラスタは、私は建築の側面をカバーしますMongoDBのための最新AWS quick startを参照することをお勧めしますし、また、CloudFormationテンプレートを提供しています。

ストレージボリュームの場合、NVMeはインスタンスストレージのみであるため、NVMeストレージではなくEBSをサポートするEC2インスタンスタイプを使用する必要があります。 EC2を停止して起動すると、NVMeのデータは失われます。

また、ストレージボリュームのスループットについては、一般的なIOPSを共振可能なストレージサイズで開始できます。制限がある場合は、プロビジョニングされたIOPSのみを検討してください。

高可用性とフォールトトレランスのために、CloudFormationはMongoDBクラスタに複数のインスタンス(ノード)を作成します。

関連する問題