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(); }
评论
Pistachio开源 KV 存储引擎
Pistachio是Yahoo开源的KV存储引擎,非常适合存储用户配置文件系统。现在有十多亿用户配置文件存储,大约两百万的读QPS,0.8GB/s读吞吐量,大约50万的写QPS,0.3GB/s写吞吐量
Pistachio开源 KV 存储引擎
0
HSE美光开源存储引擎
HSE是一个快速可嵌入的键值存储,专为SSD和持久化内存设计。HSE通过协调跨DRAM和多类固态存储的数据放置,优化了性能和耐久性。HSE是支持数据库、软件定义存储(SDS)、高性能计算(HPC)、物
HSE美光开源存储引擎
0
ForestDBKey-Value 存储引擎
ForestDB是一个快速的Key-Value存储引擎,基于层次B+树单词查找树。由Couchbase缓存和存储团队开发。关键特性:Key和Value可以是任意二进制值应用可以定制比较函数来支持自定义
ForestDBKey-Value 存储引擎
0