On 13 Nov 2015, at 6:46pm, A. Mannini <alessandro.mannini at esod.it> wrote:
> 1) is there a list of FS where SQLite works fine?
It's not usually the FS which is causing the problem. When your application
tells the OS to write to a remote disk ...
program calls OS API to write to a file
OS calls Network FS on client
Network Filing System communicates across the network
NFS on server calls FS
FS calls storage driver
storage driver talks to hardware
hardware performs the write
hardware reads the sector just written
hardware checks what was read matches what it was told to write
hardware returns success/error code to storage driver
storage driver returns success/error code to file system
file system returns success/error code to server-side NFS
Network Filing System communicates across the network
Network FS on client returns success/error code to the OS
OS API returns success/error code to the program
program correctly handles success/error
(Above is simplified. For example, any stage might try again if it gets an
error.)
Only in server-range setups (expensive, slow) is this correctly implemented.
It takes a lot of time (a millisecond or two for each call) to do it right. If
this setup was used for your desktop computer you'd be down to three or four
characters a second in Word. I've set computers up this way for demonstrations
and they are ridiculously slow and annoying to use. Like 25 minutes to from
power-on to being able to type in Word.
In standard desktop setups the pause for the check is skipped, either by the
hardware (check your jumper settings) or in the storage driver. Instead of
waiting for the check, it receives the command, returns "Command executed
without error." and /then/ passes the command along to the lower level. Much
faster.
As you can see this occurs below file system level and is dependent on your
hard drive and its driver, the DIP (jumper) settings set on your hard drive,
and the mode your driver is loaded in. Worse still, manufacturers change the
specification of a drive and what the jumpers mean without changing the model
name. And it can happen even if both your FS and NFS are bugless. The whole
thing's a nightmare.
> 2) why there are SERVERLESS database (MS Access or VistaDB) that works
> without FS restrictions?
Both have similar problems. They all suffer from rare failures. You can use
any of these databases for a year without problems and then get database
corruption for no obvious reason.
Simon.