PouchDB is a free and open-source JavaScript DBMS inspired by Apache CouchDB (document-oriented NoSQL DBMS) that is designed to run inside a web browser. It was designed with the intention of serving web developers and to run smoothly within a browser. Applications utilize a system where, while offline, data is stored locally, then, when back online, the data is synchronized with Apache CouchDB and between clients. Thus, data is synchronized regardless of login context.
Indexed Sequential Access Method (ISAM)
When offline, data is stored locally using WebSQL (deprecated) or IndexedDB, depending on the browser. For IndexedDB usage, the method of storage organization is ISAM. When online, data synchs with CouchDB (and other servers). CouchDB storage uses copy-on-write to update database files. (TODO: select two options).
Multi-version Concurrency Control (MVCC)
PouchDB's concurrency control policy is multi-version concurrency control, allowing consistency of reads.
https://github.com/pouchdb/pouchdb
2010