<story><title>Libsqlfs: A POSIX-style file system on top of an SQLite database</title><url>https://github.com/guardianproject/libsqlfs</url></story><parent_chain></parent_chain><comment><author>Animats</author><text>Tandem Computers actually did implement files on top of a database. 
Their OS didn&amp;#x27;t have files. Their system was a replicated database running directly on the hard disk, with no file system.&lt;p&gt;There&amp;#x27;s something to be said for this. Your files get ACID properties. If we were serious about file integrity, we&amp;#x27;d have file systems that worked like this:&lt;p&gt;- Unit files. The unit of data is the entire file. Files are written once, and when closed successfully, the file transaction commits and others can read the file.  Any update replaces the entire file as an atomic operation.  (Many applications need this, and try to do it with various move and rename operations, usually leaving files behind if things fail at the wrong moment.)&lt;p&gt;- Log files.  You can only add at the end. Writes are atomic. In the event of a crash, the file is valid up to some recently completed write. (On many systems, log files can tail off into junk or contain truncated records.)&lt;p&gt;- Temporary files. When the process or process group exits, they&amp;#x27;re gone. Random access is OK. (You shouldn&amp;#x27;t have to clean up junk temporary files.)&lt;p&gt;- Managed files.  These support a database or something with complex structure. There are extra I&amp;#x2F;O functions for locking, flushing and being sure a write has been committed to disk.&lt;p&gt;That covers most of the use cases for files.  There have been file systems which did some of this, but not in recent years.</text></comment>
<story><title>Libsqlfs: A POSIX-style file system on top of an SQLite database</title><url>https://github.com/guardianproject/libsqlfs</url></story><parent_chain></parent_chain><comment><author>fragmede</author><text>From the README: Copyright 2006, Palmsource, Inc., an ACCESS company.&lt;p&gt;I wonder if this has anything to do with when PalmOS got a &amp;#x27;filesystem&amp;#x27; even though the OS originally only gave programs a database to interface with, way back when...</text></comment>