Мое понимание подхода к кластеризации CouchDB состоит в том, чтобы гарантировать, что каждый узел в кластере получает равное распределение данных путем хеширования уникального идентификатора документа. Мой вопрос заключается в том, есть ли способ изменить это и определить собственный ключ для «разумной» маршрутизации документа на определенный узел в кластере?
В моем сценарии у меня есть данные, которые относятся к определенному объекту (например, клиент-проект-задача-элемент) по всем моим данным; У меня будет достаточно элементов, чтобы потребовать горизонтального масштабирования; однако каждый поиск всегда будет относиться к заданной задаче клиентского проекта, для которой набор данных имеет лишь умеренный размер.
Я думаю, что наиболее эффективным подходом будет разделение моих данных по клиент-проектной задаче и предварительное выделение, скажем, 1000 разделов.
Я понимаю, что в определенный момент это ограничит мои возможности масштабирования, но компромисс, заключающийся в том, что мне не нужно обращаться к каждому разделу для каждого поиска, делает его тем, за что я готов платить.
Итак, есть ли способ создать такую логику разбиения в CouchDb?
Спасибо; Брент