Какое максимальное количество полей в документах Couchdb? - PullRequest
1 голос
/ 08 сентября 2011

Я оцениваю couchdb для постоянной функциональности корзины.Если я создаю один документ для каждого пользователя и каждый элемент корзины отображается в виде поля, сколько элементов я могу сохранить?В текущем сценарии у меня может быть до 500 товаров в корзине.

Ответы [ 2 ]

2 голосов
/ 08 сентября 2011

doc-per-cart или doc-per-item являются хорошими вариантами, и ни один документ не звучит так, как будто бы он стал очень большим (кодирование / декодирование JSON медленнее для очень больших документов, и они должны полностью храниться в памяти). В целом, я бы предпочел документ по каждому пункту. Конечно, вам нужно будет создать (простое) представление для отображения корзины, если вы использовали doc-per-item.

Одной из веских причин отдавать предпочтение документам на каждую вещь является MVCC от CouchDB. Добавление товара в корзину всегда создает новый документ, поэтому вам не нужно знать текущий _rev предмета. Когда пользователь хочет удалить элемент, у вас есть _id и _rev, и вы можете легко удалить его. Если вы использовали doc-per-cart, вы будете постоянно обновлять документ, который требует, чтобы у вас всегда был текущий _rev.

Обратите внимание, что doc-per-item разрешит дубликаты в вашей корзине (пользователь нажимает «Обновить» и делает два добавления вместо одного), но пока отображение корзины показывает это, и на последней странице оформления заказа тоже, Я думаю, что это разумный режим отказа.

1 голос
/ 08 сентября 2011

Краткий обзор обзора CouchDB должен прояснить, что не существует внутреннего ограничения на количество полей в документе CouchDB и, следовательно, нет ограничения (кроме доступной памяти) на количествотовары, которые можно хранить в корзине.

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