私は、新しいエントリを保存する前に、主にIPアドレスで重複したエントリを検索するシステムを実装しようとしています。 NoSQLデータベースは最終的な一貫性を持っているので、これは自然なユースケースのようではありません。それを動作させる方法はありますか?重複した項目を効果的に検出できるNoSQLデータベースはありますか?
答えて
CouchDBは、ドキュメントの_idフィールド内で一意性を強制します。ここからと抜粋http://guide.couchdb.org
CouchDBデータベース内では、各ドキュメントに固有の_idフィールドが必要です。データベースに一意の値が必要な場合は、ドキュメントの_idフィールドに値を代入すれば、CouchDBは一意性を強制します。
ただし、配布されたケースでは、書き込み要求を受け付ける複数のCouchDBノードを実行している場合、ノードごとまたはCouchDB外で一意性が保証されます。 CouchDBでは、2つの異なるIDに2つの同一のIDを書き込むことができます。レプリケーション時に、CouchDBは競合を検出し、それに応じてドキュメントにフラグを立てます。
問題を理解するのを手伝ってくれてありがとう。明確にするために、私のケースでは、 "重複"エントリが複数の固有のフィールドで検出されなければなりません。スペックはまだ完全に書かれていないので、私はまだ情報を収集しています。今では、RDBMSを使用する場合と同様に、重複した検出と書き込みを単一のノードに限定する必要があることがわかりました。 VoltDB(実際はNoSQLではない)では、すべてのノードがデータの同じビューを持っていると思われます。たぶん私はこれのようなものを使用することができますか? – mpso
すべてのリレーショナルデータベースとMongoDBは、重複したデータの挿入を防止するデータテーブル/コレクションのユニークなインデックスをサポートしています...なぜそれで十分ではありませんか?
MongoDBでユニークなインデックスを作成するのは簡単です。重複したエントリを挿入しようとすると、エラーが発生します(セーフモードを有効にしている場合や、挿入操作の結果である を確認している場合)。
特定の状況で重複したエントリが許可されるので、新しいものを保存する前にレコードを検索する必要があります。メインノードに書き込みを制限することでこれを行うことはできますか? – mpso
私はあなたを正しく理解していますか?最初にレコードを読んだ後、重複をチェックしてから書き込みます。重複はIPアドレスでチェックされ、アプリケーション層のロジックによって強制され、IPアドレスで一意性をチェックするので、これらが別個のトランザクションであっても、これは依然として原子的になります...私は地球上のすべてのデータベースがこれをサポートしていると思います。 –
申し訳ありませんが、適切な回答を得るために、より一貫した方法で質問してください。 –
- 1. リサイクラービューの各項目に視差効果がありますか?
- 2. matplotlibの凡例に重複している項目はありますか?
- 3. Qt:setTextAlignmentはQListWidgetの項目で効果がありません
- 4. 複数の項目をテキスト項目に重複項目を追加する
- 5. Intellijで重複したコードの検出を無効にすることはできますか?
- 6. DropDownListから複数の項目をTextBoxに選択します。重複はありません
- 7. は、効率的に検出した場合兄弟要素重複
- 8. 効果的にPythonのCSVから重複を削除する
- 9. Recyclerviewスクロールの重複項目
- 10. 文字列に重複した項目を見つける
- 11. いくつかの項目の重複する項目を取得する
- 12. 重複するケース項目: "0"
- 13. 効果的なデータベースの一括検索
- 14. iPhoneのTabber項目(下部)を押したときに呼び出される関数はありますか?
- 15. パンダDataFrame - 目的のインデックスに重複する値があります
- 16. Javascriptの項目を削除せずに配列内の重複項目をユニークな項目に変換する
- 17. setImageBitmapは目に見える効果がありません
- 18. リストボックス項目の傾き効果を抑制する
- 19. データベース内の重複したつぶやきのログを効率的に検索して保持するにはどうすればよいですか?
- 20. データベースの動的メニュー項目
- 21. ツールバー項目からextjsツールチップを有効または無効にします
- 22. 私はテーブルに項目を追加する毎回フェード効果があります。
- 23. 単純なリスト項目の検証(重複防止)
- 24. Couchbase以外のiOS用の安定したnosqlデータベースはありますか?
- 25. より効果的なアプローチはありますか?
- 26. チェックボックスリスト項目を動的に無効/有効にする
- 27. TreeListコントロールに入力された重複した項目を許可することは可能ですか?
- 28. nosqlによる情報の重複?
- 29. NoSQLデータベース用の新興標準APIはありますか?
- 30. WPF ListBoxは重複した項目を表示します。どのように回避するには?
すべてのNoSQL DBが最終的な一貫性を持っているわけではありません...どちらを使用していますか? – bdonlan
最終的な整合性は、リレーショナルデータストアにも存在します。たとえば、MySQLのレプリケーションは、常に**最新ではありません**。レプリケーションの遅れがあるのは確かです。議論は明らかにあなたが奴隷ではなく主人公に挿入されていることになるので、遅れは重要ではありません。これはMongoDBのようなDBの場合と同じ答えになります。この場合、最終的な一貫性は読み込みの方が重要です。 –
重複するエントリを定義しますか? – synhershko