Существует ли база данных NoSQL, которая может эффективно обнаруживать дублирующиеся элементы? - PullRequest
2 голосов
/ 21 июня 2011

Я ищу систему, которая ищет дублирующиеся записи перед сохранением новых записей, в основном по IP-адресу. Поскольку базы данных NoSQL имеют возможную согласованность, это не похоже на естественный вариант использования. Есть ли способ заставить его работать?

Ответы [ 2 ]

3 голосов
/ 21 июня 2011

CouchDB обеспечивает уникальность в поле _id документа. Вот и выдержка из http://guide.couchdb.org

В базе данных CouchDB каждый документ должен иметь уникальное поле _id. Если вам требуются уникальные значения в базе данных, просто назначьте их в поле _id документа, и CouchDB обеспечит вам уникальность.

Однако есть одна оговорка: в распределенном случае, когда вы запускаете более одного узла CouchDB, который принимает запросы на запись, уникальность может быть гарантирована только для каждого узла или за пределами CouchDB. CouchDB позволит записывать два идентичных идентификатора в два разных узла. При репликации CouchDB обнаружит конфликт и пометит документ соответствующим образом.

0 голосов
/ 21 июня 2011

Каждая реляционная база данных и MongoDB поддерживают уникальные индексы для таблиц / коллекций данных, предотвращающие вставку дублирующих данных ... почему этого недостаточно?

Создать уникальный индекс в MongoDB просто. Попытка вставить повторяющиеся записи вызовет ошибку (если вы используете безопасный режим или проверяете результат операции вставки).

...