タグ付けされた質問 「mongodb」

MongoDBのすべてのバージョン-スケーラブルで高性能なオープンソースのドキュメント指向データベース。

2
CouchDB対MongoDB [終了]
現在のところ、この質問はQ&A形式には適していません。回答は、事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は、議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、おそらく再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 ドキュメント指向ストレージの評価、CouchDBとMongoDBの長所と短所は何ですか?

5
高度な同時書き込み、高書き込みDBのインフラストラクチャ
私の要件は次のとおりです。 3000接続 70-85%の書き込みと読み取り 現在、700の接続でHigh-CPU、エクストララージインスタンスを最大化しています。8コアすべてが最大化されています。メモリが十分であるため、同時接続の数だと思います。書き込み自体は非常に単純です(検証によって処理が遅くなります)。3000に拡張するには、現在のオプションである複数のサーバーに移動する必要があります。 MySQLシャーディング MongoDBクラスター カサンドラ HadoopとMySQL(Hadoopキャッシュ、MySQLへの単一ダンプ) MongoDBとMySQL(Hadoopの代わりに、mongoをキャッシュに使用します) この数の接続を処理するには、いくつかの質問があります。 MySQL Shardingは同時接続を処理できますか? 単一のマスターがこれらの同時接続を処理できますか、またはMongoのようなマルチヘッドがより良いオプションですか? 問題をうまく説明していない場合は謝罪します。質問してください。

2
Mongoデータベースの管理者としてユーザーを作成するとエラーが発生します
私は、任意のデータベースにアクセスする権限を持つ単純なユーザーを作成しようとしており、任意のアクションを実行できます。createUserコマンドを実行しようとすると、次のエラーが表示されました。 db.createUser({ user: "mongoadmin" , pwd: "mongoadmin", roles: ["userAdminAnyDatabase", "dbAdminAnyDatabase", "readWriteAnyDatabase"]}) 2015-08-20T17:09:42.300+0000 E QUERY Error: couldn't add user: No role named userAdminAnyDatabase@new_vehicles_catalog 上記の問題は、認証設定を有効にして必要な場合にのみ発生します。 だから、どのようにデータベースの管理者権限を持つユーザーを作成しますか。認証接続を使用するようにmongoサービスを構成したため、これが必要です。データのダンプを実行する場合は、この認証パラメーターを使用する必要があります。 助けてください? mongoバージョン3.0.5を使用します。 サービスはAmazon Linux AMI 2015.03(HVM)、SSDボリュームタイプ-ami-1ecae776にあります

1
データベースは、可変長フィールドのインデックスキー値(ディスク上)をどのように格納しますか?
環境 この質問は、SQLデータベースシステムとNoSQLデータベースシステムの両方でのインデックスの低レベルの実装の詳細に関するものです。質問はこれらの実装の単一ノード内に保存されたキーに特に関係するため、インデックスの実際の構造(B +ツリー、ハッシュ、SSTableなど)は無関係です。 バックグラウンド SQL(MySQLなど)およびNoSQL(CouchDB、MongoDBなど)データベースでは、データの列またはJSONドキュメントフィールドにインデックスを作成するときに、実際にデータベースに実行させるのは、本質的にすべてのソート済みリストを作成することですこれらの値と、その値に関連するレコードが存在するメインデータファイルへのファイルオフセット。 (簡単にするために、特定の実装のその他の難解な詳細を手で振り払うかもしれません) シンプルなクラシックSQLの例 インデックスを作成する単純な32ビットint主キーを持つ標準SQLテーブルを考えます。データファイルへの64ビットオフセットに関連付けられ、関連付けられた整数キーのディスク上のインデックスが作成されます。レコードは存続します。例: id | offset -------------- 1 | 1375 2 | 1413 3 | 1786 インデックス内のキーのディスク上の表現は、次のようになります。 [4-bytes][8-bytes] --> 12 bytes for each indexed value ファイルシステムとデータベースシステムでのディスクI / Oの最適化に関する標準的な経験則に固執して、ディスク上の4KBブロックにキーを保存するとします。 4096 bytes / 12 bytes per key = 341 keys per block インデックスの全体構造(B +ツリー、ハッシュ、ソート済みリストなど)を無視して、341キーのブロックを一度に読み書きし、必要に応じてディスクに戻します。 クエリの例 前のセクションの情報を使用して、「id = …
16 mongodb  index  nosql  couchdb 

3
Mongoシェルでの過去24時間の日付範囲クエリ
MongoDBデータベースプロファイラーから結果を収集するためにcronジョブを設定しています。24時間以内に結果を収集したいと思います。javascriptでmongoコマンドを実行する予定です。 質問は、Mongoシェルで、24時間前の日付範囲を見つけるためのクエリをどのように書くのですか?といった: db.system.profile.find({ "timestamp" : { $lte : <current date & time>, $gt : <date & time 24 hrs ago> } })
15 mongodb  cron 

2
Mongo DBレプリカがRECOVERING状態でスタックする
レプリカセットを作成しましたが、問題はレプリカセットの2メンバー[3メンバーセット]が48時間から復旧モードになっていることです。最初は、回復するノードのサイズが増加していましたが、現在では停止しています。そのため、ノードを復旧する際に、90 GBのデータと60 GBを超えるローカルデータの後にスタックします。 このモードから抜け出す方法は?

2
大規模なMongoDBデータベースをバックアップする方法
MongoDBで大規模なデータセットをバックアップする推奨方法は何ですか?10TBのオーダーのデータサイズがあるとします-どのようにバックアップしますか? 私たちは、隠された、おそらく遅延した、レプリカセットノードを検討しています。遅延は、データベース全体の偶発的なドロップから私たちを保護します。これは実行可能なソリューションですか?調査することをお勧めする他のオプションは何ですか? ありがとう!

2
突然のMongodbの高接続/キュー、データベースが応答を停止する
問題 mongodbのセットアップに奇妙な問題があります。時々、高接続と高キューのピークを取得し、キューと接続を増加させるとmongodbプロセスが応答を停止します。htopでsigkillを使用してインスタンスを再起動する必要があります。 ハードウェアリソースは問題ないため、mongodbの動作をブロックするシステム制限/ mongodb設定があるようです。この問題のバージョンはスタンドアロンで発生し、その後実稼働サーバーでレプリカセットが発生します。今後の詳細。 ソフトウェア環境について これはスタンドアロンのmongodbインスタンス(シャードでもレプリカセットでもない)であり、専用のマシン上で動作し、他のマシンによってクエリされます。Debian 7.7でmongodb-linux-x86_64-2.6.12を使用しています。 mongoを照会するマシンは、Django == 1.7.4、Mongoengine = 0.10.1 with pymongo == 2.8、nginx 1.6.2およびgunicorn 19.1.1を使用しています。 Django settings.pyファイルで、次の行を使用してデータベースに接続しています。 from mongoengine import connect connect( MONGO_DB, username = MONGO_USER, password = MONGO_PWD, host = MONGO_HOST, port = MONGO_PORT ) MMS統計 MMSサービスの次のimgでわかるように、接続とキューにピークがあります。 これが発生すると、mongodbプロセスが完全にフリーズします。SIGKILLを使用してmongodbを再起動する必要がありますが、これは非常に悪いことです。 画像には3つのフリーズイベントがあります。 imgが示すように、これが発生すると、非マップ仮想メモリにもピークがあります。 また、2番目と3番目のフリーズの前後でBtreeチャートの増加を発見しました。 ログを確認しましたが、疑わしいクエリはなく、Opcountersも急増しません。通常よりも多くのクエリはないようです。 同じバグの別の日時の別のスクリーンショットを次に示します。 すべてのケースで、DBのロックはそれほど増加しておらず、ピークがありますが、4%にも達していません。 OpCounterはゼロに低下し、すべてのopがmongodb quequeに送られるように見えるため、データベースは新しい接続を作成して新しい要求を実行しようとし、それらもすべてキューに送られます。 …

4
MongoDBの運用/管理に関する優れたリソース
MongoDBを操作および管理する方法を学ぶための最良のリソースは何ですか? それに対する開発には多くのリソースがあります-開発能力が十分にあり、実際にそのノイズを除去する必要がある場合、実際に問題が発生します。まだDBAを雇う余裕のない開発者のために、Mongoクラスターの安定性、パフォーマンスなどを適度に維持する必要があります。フォローする良いブログなど?
13 mongodb 

2
mongodb接続URIで認証データベースとターゲットデータベースを個別に指定する方法
この接続uriを使用して、mongodbに接続しています:mongodb://user:password@localhost/admin。adminボット認証およびターゲットデータベースとして使用します。URIをadmin認証として使用するが、別のデータベースに接続できるようにするにはどうすればよいですか?例として以下のコマンドを参照してください: mongo --host localhost -u user -p password --authentication admin test 上記のコマンドはadmin認証データベースとして使用されますが、testデータベースに接続します。uriで同じことをするにはどうすればよいですか?

2
MongoDBドキュメントが検証に失敗した理由を確認するにはどうすればよいですか?
MongoDBドキュメントの挿入が検証に失敗した理由を判断するにはどうすればよいですか?返されるのは、「ドキュメントの検証に失敗しました」というwriteErrorだけです。これはあまり役に立ちません。 (これは頻繁に発生します。特定の例について助けを求めるのではなく、これらを適切にデバッグする方法を理解したいと思います。)

2
MongoDB:アプリケーションサーバーでmongosプロセスを共存させる
このドキュメントで説明されているベストプラクティスについて質問したいと思います。 http://info.mongodb.com/rs/mongodb/images/MongoDB-Performance-Best-Practices.pdf 複数のクエリルーターを使用します。複数のサーバーにまたがる複数のmongosプロセスを使用します。一般的な展開は、アプリケーションサーバー上のmongosプロセスを同じ場所に配置することです。これにより、アプリケーションとmongosプロセス間のローカル通信が可能になります。mongosプロセスの適切な数は、アプリケーションと展開の性質によって異なります。 展開についてのほんの少しの背景。多くのアプリケーションサーバーノードがあります。それらはそれぞれ、ステートレスRESTful WSで1つのJVMベースのプロセスを実行します。このベストプラクティスが示唆するように、すべての単一のアプリケーションサーバーノードは独自のmongosプロセスを実行します。つまり、JVMプロセスの数は常にプロセスの数に等しくなりmongosます。 すべてのmongosプロセスは、3つの構成サーバーと複数のmongo断片(各断片内にレプリカセットがある)に接続します。シャード展開を使用している場合でも、実際にはコレクションをシャーディングしていません。実際、作成時にすべてのシャードに分散する多数のデータベースがあります(これが現時点でのシャーディングの主な使用例です)。 ベストプラクティスでは「適切なmongosプロセスの数はアプリケーションとデプロイメントの性質に依存する」ことも示唆しているので、私たちの使用mongosが実際に適切かどうか、または複数の専用mongosノードを用意して、アプリサーバーはmongosローカルで実行せずに接続します。 mongosアプリケーションサーバーのインスタンス数またはMongoDBクラスターのサイズに関連して適切なインスタンスの数を決定するための最適なアプローチについて、あなたはどう思いますか? 最近、ステートレスWebサービスのクラスター管理を検討し始めました。つまり、Docker、Apache Mesos、Kubernetesなどのツールを意味します。Dockerを使用している場合、一般的にコンテナ内で複数のプロセスを実行することは推奨されません。この事実を考慮すると、アプリケーションサーバーコンテナとmongosコンテナを常に同じ物理ノードに配置し、同じ量のプロセスを確保することは非常に困難になります。これは、このベストプラクティスが今説明したクラスターアーキテクチャにまだ当てはまるのかと思います。そうでない場合は、mongosこのアーキテクチャでプロセスを見つけて展開するためのより良い方法を提案してください。

4
なぜMongoはSTARTUP2で動かなくなるのですか?
Mongoいくつかのセカンダリを含むレプリカセットがあります。セカンダリインスタンスをホストするボックスがクラッシュし、データベースが失われました。 セカンダリMongoインスタンスを再び起動しましたが、現在は12時間以上STARTUP2で停止しています。それは理にかなっていますか?ドキュメントはMongo、RECOVERING状態に入る前に、短時間STARTUP2にあるべきだと言っています STARTUP2とはどういう意味ですか?プライマリからデータベースをコピーしていますか?どうすれば検証できますか(MongoがLinuxで実行されていると仮定)?
12 mongodb  recovery 

3
mongodb用のubuntuのアップスタートスクリプト
Linuxとmongodbは初めてです。私はすでにubuntuにmongodbをインストールしていますが、別のポートでもう1つのインスタンスを実行したいと思います。他の質問やフォーラムからわかったように、upstartスクリプトが必要です。 /programming/7300109/ubuntu-start-upstart-second-instance-of-mongodb しかし、サーバーでupstartスクリプトを見つけられない、または見つけられません。upstartスクリプトを作成した場合、サービスとして開始するためにどこに見つければよいですか。 または、同じサーバーでポートが異なるmongodbの別のインスタンスを起動するための適切で簡単な方法は他にもありますか?

2
MongoDBレプリカセットSECONDARYが「ROLLBACK」状態でスタック
私たちのmongodbの最近の自動更新中に、降格PRIMARYしたときPRIMARYに永久にROLLBACK状態になりました。 ROLLBACK状態で数時間経過した後も、mongodbデータベースディレクトリのディレクトリにはロールバック.bsonファイルがありませんでしたrollback。それと、ログファイルの次の行も[rsSync] replSet syncThread: 13410 replSet too much data to roll back、ROLLBACKプロセスが失敗したことを示しているようです。 何がうまくいかなかったかを分析するのを手伝ってほしい。 ログで2つの異なるロールバックが発生したようです。それはそうですか、それとも3時間かかったものですか? 最初のロールバック(19:00時間)が成功した場合、ou rollbackディレクトリに何も表示されないのはなぜですか? これらすべての警告の原因について推測はありますか?それはロールバックの失敗に関連しているのでしょうか? 最初のデータが原因で18秒のデータが失われましたROLLBACKか? 「スタックROLLBACK状態」の問題に対する一般的な解決策はありますか?最終的に、DB全体をホースし、プライマリから再同期する必要がありました。 関連するログ行は次のとおりです。 # Primary coming back after restart... Tue May 15 19:01:01 [initandlisten] MongoDB starting : pid=3684 port=27017 dbpath=/var/lib/mongodb 64-bit host=magnesium Tue May 15 19:01:01 [initandlisten] db version v2.0.5, pdfile version 4.5 …
11 mongodb  rollback 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.