微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TmStorage 开源存储引擎

程序名称:TmStorage

授权协议: MIT

操作系统: Windows

开发语言: C#

TmStorage 介绍

TmStorage 是一个用 .NET 开发的虚拟文件系统,用来存储流数据。使用扁平结构进行数据存储,通过类型为 GUID 的流 id 来引用数据。

TmStorage 使用一个文件用来存储所有流数据。主文件被分成多个可变长度的段,每个段只由一个流来占用。每个流由 0 到多个段组成。

每个段包含一个段的元数据,这些元数据存放在段的起始位置,包含如下信息:

  • 段大小 (Int64)

  • 一个段的位置,如果是最后一个段则为 null(Int64)

  • 元数据的校验和 (Int)

为了防止碎片化严重,段大小固定为 512 字节的整数倍。

使用实例:

Image image = Image.FromFile("c:\\image.png");
Storage storage = new Storage("c:\\images.storage", "c:\\images.storagelog");
Guid streamId = Guid.NewGuid();
 
storage.StartTransaction();
try{
    Stream stream = storage.CreateStream(streamId);
    image.Save(stream, ImageFormat.Png);
    stream.Close();

    storage.CommitTransaction();
}finally{
    storage.RollbackTransaction();
}

TmStorage 官网

https://github.com/tomazk8/TmStorage

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐