Solid File System (SolFS) is a file system implementation that can be embedded into your application or mounted as a virtual disk.
SolFS offers software architects and developers a feature-rich storage for application documents and data, and is designed for use with real media (such as Hard Drives or Flash Cards) or logical structures (files on disks, database records, application resources, and raw memory).
Solid File System is a secure vault for the information your applications create, process or archive.
Unlike databases SolFS offers a container with hierarchical structure, versioning of data, on-the-fly encryption and compression. At the same time SolFS lets you add tags of various types to each data stream (file) and use SQL-like query language to search data by tags.
Similar to ZIP files SolFS compresses the data and stores everything in one container. But unlike ZIP format SolFS was designed for easy rewriting of files in the container, so writing and deletion operations are fast and don't require rewriting of the whole container file.
As a virtual file system SolFS contains files in the container. Much like a disk, SolFS container can have a drive letter (on Windows) or be mounted to a folder on existing disk (Windows, Linux, MacOS, BSD), thus providing seamless integration into the disk subsystem of the OS. The user won't know that he's working with something that is not a physical storage.
While common scenario is to keep the disk data locally, cloud storage is an increasingly popular option. And when you want to work with the cloud as with the disk, SolFS will help as well. The container should not be necessarily present as a file on the local disk. It can be stored in the database (including distributed databases) or on the cloud blob storage. And you can have a local copy in parallel, thus guaranteeing an on-line storage with concurrent offline backup.
Use of SolFS is not limited to desktop systems and servers only. With embedded license for SolFS you can bring the benefits that SolFS offers to your custom hardware platform, such as Blackberry, Linux-based mobiles or embedded hardware.