> SMB keeps its cache on the computer which hosts the file.  So if a file is
> opened locally the cache is on the only computer concerned.  If computer A
> opens a file on computer B, the file-system cache is on computer B, where
> all file requests pass through it.
> 
> Of course a badly written program could keep a local cache too.  But
> that's the programmer's fault and SQLite certainly doesn't have its own
> cache at that level.

The SQLite page cache is local to the application running SQLite, obviously.  
It cannot be located on the remote filesystem server since the remote server is 
not running SQLite.  Of course, what you *really* mean is that client's view of 
the dataset must be consistent with the servers' view for the dataset and that 
the mechanisms to maintain that consistency must work across the network, just 
as they work for a local file on a local filesystem.

There is no difference between a file opened over the network and one opened 
locally, except that in the network open case the network filesystem does not 
maintain consistency between the client view of the file and the server view of 
that same file, because doing so takes time and the network filesystem designer 
decided to trade off in favour of speed over consistency, usually without 
provision of a knob to change this decision.






Reply via email to