Как couchbase обеспечивает уникальность идентификатора? - PullRequest
0 голосов
/ 20 февраля 2019

Согласно документации первичный индекс (индекс ключа документа) является необязательным в Couchbase.Как Couchbase эффективно обеспечивает уникальность ключа документа без индекса?

1 Ответ

0 голосов
/ 21 февраля 2019

Основной индекс, на который ссылается документация, предназначен только для запросов N1QL и не имеет ничего общего с обеспечением уникальности.

Вместо этого уникальность обеспечивается службой данных ключ / значение.Из обзорной документации «Данные» :

Каждое значение (двоичное или JSON) идентифицируется уникальным ключом, определяемым пользователем или приложением при сохранении элемента.Ключ является неизменным: после сохранения элемента его нельзя изменить.

Я не специалист по внутренним компонентам Couchbase, но уникальные ключи являются основополагающими для того, как Couchbase хранит / извлекает / обрабатывает данные.Проверьте Понимание vBuckets для получения дополнительной информации (vBucket аналогичен 'shard').Вот фрагмент кода:

Элементы записываются и извлекаются из vBuckets с помощью алгоритма хеширования CRC32, который применяется к ключу элемента и, таким образом, создает номер vBucket, в котором находится элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...