Я немного читал о CouchDB, и я действительно заинтригован этим фактом. что это «только добавление-». Я могу неправильно понять это, но, насколько я понимаю, это работает примерно так::
данные добавляются в момент времени t0 в БД, сообщая, что пользователя с идентификатором 1 зовут «Седрик Мартин»
запрос с вопросом "как зовут пользователя с ID 1?" возвращает «Седрик Мартин»
в момент времени t1 в БД делается обновление, говорящее:«Пользователя с ID 1 зовут Седрик Мартин»(изменение ' к' в 'с').
повторный запрос "как зовут пользователя с ID 1" теперь возвращает "Седрик Мартин"
Это глупый пример, но это потому, что я хотел бы понять что-то фундаментальное о CouchDB.
Видно, что обновление было сделано с использованием добавления в конце БД, возможно ли запросить БД «как это было во время t0», не делая ничего особенного?
Могу ли я спросить CouchDB "Как звали пользователя с ID 1 в момент времени t0?" ?
РЕДАКТИРОВАТЬ первый ответ очень интересен, и поэтому у меня есть более точный вопрос:пока я не "сжимаю" CouchDB, я могу писать запросы, которые каким-то образом "прозрачны ссылочно"(т.е. они будут всегда давать один и тот же результат)? Например, если я запрашиваю «документ d в редакции r» , гарантированно ли я всегда получаю один и тот же ответ, если я не сжимаю БД?