3 ms·
You don't really need to be a clever engineer, there are pre-made implementations out there for you. For example if you have an Oracle DB, then it has a featur
by mike_hearn 3y ago
You don't really need to be a clever engineer, there are pre-made implementations out there for you.
For example if you have an Oracle DB, then it has a feature called DBFS that does this already:
https://docs.oracle.com/en/database/oracle/oracle-database/23/adlob/why-a-database-file-system.html#GUID-6CB9F457-01AA-438D-9DE2-99F297319A66 https://docs.oracle.com/en/database/oracle/oracle-database/2...
You can instantiate a POSIX compatible FS using database tables, and then mount them using FUSE. From there you can export it via NFS if you wish. You can also export the FS via WebDAV and thus mount it over the network using the WebDAV support built in to Windows or macOS.
If you want to work with the FS transactionally, you have to do that using PL/SQL. POSIX doesn't define APIs for FS transactions, so some other approach is needed.
Because it's stored in the DB you can use all the other features of the RDBMS too like clustering, replication, encryption, compression and if need be, you can maintain indexes over the file content.
- divyenduz 3y agoPlug, wrote something along these lines. It is a FUSE file system and the storage is SQLite https://github.com/divyenduz/zoid-fs https://github.com/divyenduz/zoid-fs
- tombert 3y agoAbsolutely, I was referring to the cleverness of the engineers that actually made those implementations. Making a FUSE file system is sort of a bucket list thing I haven’t gotten around to doing yet. Maybe I should hack something together while I am still unemployed…
- hansoolo 3y agoThanks for that one. I just started a new job, where they use only Oracle DBs and that could be useful.
- j33zusjuice 3y agoI’m so sorry.