Menu

Finally arrived

Here it is. After long time TmStorage is available as open source. I planned to put it out a year ago but I found some more bugs and I also wanted to change a few things in the hart of the library. Therefore I wrote it mostly from scratch in just two months . Current results are very promising and TmStorage works pefectly.

Development & history

Long time ago I came to an idea of how to manage space inside the storage. Before that I read articles of how i.e. FAT32 file system works but I took different approach. My idea was to manage space by using segments. Each data stream inside storage would be composed of one or more segments linked together. Even empty space is composed of segments. Storage only needs to allocate or deallocate segments when data streams are enlarged or shrinked. Only two operations on segments are required for everything to work: split and merge. This structure proved to be excelent.

Simplicity & vision

The storage itself doesn't tell the whole story of why is it as it is. It's very simple, every data stream is identified only by a number (no file names, creation dates...) and data streams are not structured (i.e. tree structure). But this is the whole point of the storage. The plan is to put as much features as possible into TmStorage while keeping is simple as it is now. Then use it to create more complex storages from it so that all derived storages could automatically use features of TmStorage. As an example, if you wanted to create hieararchical file system, you'd need to take care of space allocation/deallocation, implement transactions, snapshots... By using TmStorage all of those are already implemented. You only need to build hierarchical structure on top of it by storing structure information and data in TmStorage data streams.

You can create specialized storage for document management system, image store, anything. If you have a storage supporting i.e. only hierarchical structure, you need to adjust your data to fit into hierarchical form. But by quickly and simply creating your custom storage you can adjust storage to fit to your data. This is my vision of where I would like to proceed.

Future

I'd like to expand TmStorage with the help of you and other developers. I'd like to expand it with great ideas usefull for users of TmStorage and storages based on it.

Posted by Tomaz Koritnik 2013-02-01

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.