В основном это зависит от удобства пользователя и свежести данных.
PouchDB предназначен для того, чтобы приложение могло локально хранить данные и синхронизировать их с бэкэнд-системой. (CouchDB и Couchbase поддерживаются в настоящее время как примеры серверных серверов.) Он также разработан, чтобы позволить нескольким клиентам вносить изменения.
Большинство баз данных ожидают высокой доступности центральной системы. Они предназначены для немедленного разрешения конфликтов. С PouchDB вы ожидаете конфликтов, которые могут не быть разрешены при времени записи клиента.
Основная идея заключается в том, что ваше приложение будет использоваться с плохим сетевым подключением или без него. Сохранение информации на местном уровне означает, что ваше приложение может продолжать работать даже в этих ситуациях.
Основные компромиссы:
Keep
- приложение по-прежнему может обеспечивать полезную функциональность без подключения к сети
- Быстрее времени отклика
- Снизить передачу данных по сети (во избежание повторной передачи всех данных для каждый вызов)
- Возможно, необходимо обратить внимание на разрешение конфликтов
- Может хранить избыточные объемы данных локально
Delete/Purge
- App не может осмысленно работать форума
- App необходимо, чтобы гарантировать пользователям только видит обновленные данные
- App использует недопустимое количество хранения
Note PouchDB - это база данных NoSQL. Базы данных NoSQL не могут обеспечить соответствие требованиям ACID. Это означает, что если ваше приложение требует, чтобы изменения данных были атомарными (транзакционными), это неправильное решение.
Существует множество вариантов использования, где в конечном итоге согласованные данные в порядке. Это может быть так же просто, как наличие единого клиента, а бэкэнд-система «соглашается» с тем, что правильно. Или это может быть сложная система с несколькими писателями, которые вносят изменения, которые в конечном итоге распространяются и интегрируются.
Существует также безопасность для рассмотрения. Вы дадите пользователю способ удалить конфиденциальные данные, если они находятся на общей машине, что-то вроде этого.
Как последнее замечание, вам может потребоваться найти «offline first» в качестве подхода к разработке приложений.
Я нашел интересные указатели здесь: https://developers.google.com/web/fundamentals/instant-and-offline/web-storage/ – balteo
Спасибо большое всем вам. Оба ответа очень актуальны. Если бы я согласился с ними, я бы сделал это. :-) – balteo