• HowTo CouchDB dev Объяснение, почему попытка прикрутить версионирование документов к CouchDB через update notification handlers плохая идея:

    Robert Newson:
    Assuming you mean db_update_notification (and not _update handlers,
    which are only called by clients) then, yes, they are triggered
    whenever a db is updated. This sequence of events leads you to miss an
    update, though;

    1) Db updated
    2) update notification fires
    3) compaction occurs
    4) processing update notification fetches doc

    At step 3, all old revisions were met. Since the triggering of the
    update notification and the subsequent exporting of the item are not
    instantaneous, a window of data loss opens.

    Storing old versions as attachments is a solid solution.