>>>>> "gp" == Greg Palmer <gregorylpal...@netscape.net> writes:
    gp> Performing a checkpoint will perform such tasks as making sure
    gp> that all transactions recorded in the log but not yet written
    gp> to the database are written out and that the system is not in
    gp> the middle of a write when you grab the data.

great copying of buzzwords out of a glossary, but does it change my
claim or not?  My claim is: 

  that SQLite2 should be equally as tolerant of snapshot backups as it
  is of cord-yanking.

The special backup features of databases including ``performing a
checkpoint'' or whatever, are for systems incapable of snapshots,
which is most of them.  Snapshots are not writeable, so this ``in the
middle of a write'' stuff just does not happen.

    gp> Dragging the discussion of database recovery into the
    gp> discussion seems to me to only be increasing the FUD factor.

except that you need to draw a distinction between recovery from
cord-yanking which should be swift and absolutely certain, and
recovery from a cpio-style backup done with the database still running
which requires some kind of ``consistency scanning'' and may involve
``corruption'' and has every right to simply not work at all.  The FUD
I'm talking about, is mostly that people seem to think all kinds of
recovery are of the second kind, which is flatly untrue!

Backing up a snapshot of the database should involve the first
category of recovery (after restore), the swift and certain kind, EVEN
if you do not ``quiesce'' the database or take a ``checkpoint'' or
whatever your particular vendor calls it, before taking the snapshot.
You are entitled to just snap it, and expect that recovery work
swiftly and certainly just as it does if you yank the cord.  If your
database vendor considers it some major catastrophe to have the cord
yanked, requiring special tools, training seminars, buzzwords, and
hours of manual checking, then we have a separate problem, but I don't
think SQLite2 is in that category!

Of course Toby rightly pointed out this claim does not apply if you
take a host snapshot of a virtual disk, inside which a database is
running on the VM guest---that implicates several pieces of
untrustworthy stacked software.  But for snapshotting SQLite2 to clone
the currently-running machine I think the claim does apply, no?

Attachment: pgpd5AH6jPUrj.pgp
Description: PGP signature

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to