Interesting, I previously just assumed that WAL file stored a log of sql-like-update-statements since last checkpoint, making a large WAL-file effectivly unusable if you have any requirements on query-performance.
But re-reading the WAL-documentation, there are references to "pages" being stored at the end of the WAL-log, and a index containing some mapping. This smells alot like a COW-implementation, where modified pages/blocks of the database are copied then modfied and written to a change-file, and using an index to map old-pages to new-pages. Also, re-reading documentation about query-performance, nowhere does it warn about severe regression with unbounded WAL-size, as I assumed, further supporting that WAL is in fact implemented using COW. Given that we disable ceckpointing, can we assume that the main database-file will never be modified, and therefor could potentially be mounted read-only? Fredrik On Fri, Oct 4, 2019 at 11:18 PM Keith Medcalf <kmedc...@dessus.com> wrote: > > You still have not explained what you think COW is and of what possible > use it could be. > > If you want a "snapshot + changes" then why not just enable WAL mode and > disable checkpointing? > > -- > The fact that there's a Highway to Hell but only a Stairway to Heaven says > a lot about anticipated traffic volume. > > >-----Original Message----- > >From: sqlite-users <sqlite-users-boun...@mailinglists.sqlite.org> On > >Behalf Of Fredrik Larsen > >Sent: Friday, 4 October, 2019 14:14 > >To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> > >Subject: Re: [sqlite] Copy-on-write VFS > > > >A file-system with COW support would work, but that is a big > >dependency/constraint to bring into a project, and not always > >possible/practical. A file based version (snapshot + changes) will be > >more > >practical and easier to manage, and also very doable IMHO. > > > >Anyway, I was just wondering if anyone else had explored this path. From > >the feedback so far it seems not. > > > >Fredrik > > > >On Fri, Oct 4, 2019 at 3:23 PM test user <example.com.use...@gmail.com> > >wrote: > > > >> Hello Fredrik, > >> > >> Why does it need to be part of a VFS instead of using a file system > >with > >> COW like ZFS? > >> > >> On Fri, 4 Oct 2019 at 12:18, Fredrik Larsen <frel...@gmail.com> wrote: > >> > >> > Hi > >> > > >> > A copy-on-write IO-path where data is split into static and dynamic > >parts > >> > (think snapshots for storage) would be very helpful for our project, > >. > >> This > >> > would simplify backups, testing, moving data around in a multinode > >> > environment, etc. > >> > > >> > Does something like this exist for sqlite? In my head this sounds > >like an > >> > relative easy feature to add as IO-stuff is already centralized in > >the > >> VFS > >> > layer. Maybe a new COW-VFS? > >> > > >> > Fredrik > >> > _______________________________________________ > >> > sqlite-users mailing list > >> > sqlite-users@mailinglists.sqlite.org > >> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > >> > > >> _______________________________________________ > >> sqlite-users mailing list > >> sqlite-users@mailinglists.sqlite.org > >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > >> > >_______________________________________________ > >sqlite-users mailing list > >sqlite-users@mailinglists.sqlite.org > >http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > > > > _______________________________________________ > sqlite-users mailing list > sqlite-users@mailinglists.sqlite.org > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users