Today, the files of the file systems often has become the data itself.
A typical program stores these files as BLOBs or CLOBs in the DBMS that itself only stores a reference to an entry in the underlying file system. This is working fine and gives you all the benefit of the DBMS. But also you have to handle with all Cons of a DBMS, for ex. you do need the running DBMS when accessing your files.
We feel these problems when dealing with files in applications like iFolder and Teaming. What about backup? What about antivirus? A typical antivirus solution deletes the files when it can't eliminate the virus; for iFolder this means inconsistencies. Access to the files in the file system via NCP, SMB, NFS, AFP, FTP ..... is nearly impossible or hard to realize.
Integration to files stored in file systems has been done through mechanisms like synchronisation or replication with all the merging problems.
So we should think about a new approach, a new point of view to these data. The files are the data itself!
A principal idea could be a file system aware DBMS and a DBMS aware file system. The databases will get a new datatype FILES that has to be specified with reference, checksum, data, etc. The file system itself is extended with information about the accessing (or "linked" database). When changes in the file system occur (via NCP, SMB and so on) an event triggers the DBMS to actualize its data.
Of course, this means the DBMSs and file systems have to be changed or extended. Maybe some work for IBM and Oracle or the communites.
The beauty of such an approach is a tranparent access to files via the DBMS (SQL) and file access protocols, while the systems - like they are designed for years - are handling the consistency. Backup and antivirus problems have been solved, file access works easy without replication or sychronisation, redundancies are eliminated.
Please let me hear about your opinion to these ideas.
Disclaimer: As with everything else at Cool Solutions, this content is definitely not supported by Novell (so don't even think of calling Support if you try something and it blows up).
It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.