WebサイトのDBとしてMongoDBを使ってみようか迷っています。
「MongoDBは1レコードを更新する際、DB単位でロックする。」といった表現がちらほらネット上で散見されるため、ユーザによる更新が頻繁に発生するようなWEBサイト(SNS)でのMongoDBの使用をためらっています。
で、「MongoDBは1レコードを更新する際、DB単位でロックする。」とは本当でしょうか?
(「コレクション単位でロック」などの表現もみられるのですが、どっちにしろ、
頻繁にロックで待機がかかると実用性が乏しくなってしまう気がしています。)
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
自分はMongoDBを使ったことはありませんが、MongoDBのマニュアルにはそういうことが書いてあるように見えます。
http://docs.mongodb.org/manual/faq/concurrency/
http://docs.mongodb.org/manual/faq/concurrency/# …
によれば、ほとんどの操作に対してdatabase単位でロックを行なっているようです。
read/write lockなのでwrite lockが必要なケースが少ないと問題ないでしょうが、ユーザーによる更新が多発する場合には大きな問題になりそうです。
http://docs.mongodb.org/manual/faq/concurrency/# …
更新の際には当然、write lockが行われるようです。
work aroundとしてはすべてのユーザーを単一のdatabaseに入れるのではなく、ユーザーIDごとに散らして入れておくという方法がありそうですが。複数のユーザーに関わる操作をされた場合には複数のdatabaseのロックを取得しないといけなくなります。
柔軟性の高いフィールド設定など、便利そうだったのですが、
多数のユーザが使用するサイトでは、実用性が薄そうですね・・。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- IT・エンジニアリング ドメイン駆動設計の値オブジェクトについて質問 1 2023/05/13 02:50
- その他(データベース) pythonでsqlight勉強中、クエリー結果の利用法教えて下さい 1 2022/04/28 20:38
- Android(アンドロイド) auのAndroid端末のSIMカードがロックされてしまいました。 6 2022/08/22 20:31
- HTML・CSS WEBサイトの構築。表示データとWEBデザインを分離する考え方を専門用語・業界用語では何と言うか? 8 2022/09/27 09:16
- Android(アンドロイド) メルカリでスマホ新品未開封 どうやってやっている? SIM を他のスマホで開通させるですよね 3 2023/01/10 02:20
- 情報処理技術者・Microsoft認定資格 応用情報処理技術者試験のシステム利用率の計算について 2 2022/03/28 07:43
- 格安スマホ・SIMフリースマホ Y!mobileから他の格安スマホへ 4 2022/05/29 19:01
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- 格安スマホ・SIMフリースマホ SIMカードのロックについて 1 2022/03/29 15:02
- Amazon Amazon アカウントはどうすると変更できる? 5 2022/04/10 07:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT時の行ロックの必要性に...
-
accessのロック
-
どういう時にテーブルロックを...
-
Oracleの排他制御について教え...
-
SELECT文でのデッドロックに対...
-
更新ロックとデッドロック
-
SQLServer Insertが遅い
-
DB2でSelectした時(rollback,c...
-
「マスタ」と「テーブル」の違...
-
2つのテーブルから条件に一致...
-
accessテーブル作成クエリを実...
-
データの二重表示の原因
-
重複するキーから一番古い年月...
-
[ BETWEEN ] vs [ >= AND <= ]
-
ACCESS2007 フォーム 「バリア...
-
ACCESSのSQLで、NULLかNULLでな...
-
accessからSQLサーバへの移行。
-
ACCESS 一番最新の日付の金額...
-
場合によって条件を変えるSQL
-
Access VBA [リモートサーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT時の行ロックの必要性に...
-
SELECT文でのデッドロックに対...
-
accessのロック
-
Oracleの排他制御について教え...
-
INSERTにおいてロック処理は必要か
-
SQLServer Insertが遅い
-
AccessShareLock はどの程度気...
-
SELECT文でタイムアウト...
-
DB2でSelectした時(rollback,c...
-
UPDATE文で発生するデッドロッ...
-
トランザクション中にSELECTし...
-
ExcelからAccess2013DBを更新す...
-
max+1で初番する場合 for updat...
-
更新ロックとデッドロック
-
SELECT FOR UPDATE にトランザ...
-
同時書き込み
-
DB2のロック調査
-
排他ロックしたレコードが、別...
-
DB2の更新ロックについて
-
パススルークエリでのロックに...
おすすめ情報