#object #token #blobd #verify #generate #read #constant

blobd-token

生成和验证blobd使用的令牌

3 个版本 (破坏性更新)

0.2.0 2023年4月6日
0.1.0 2023年4月5日
0.0.1 2023年3月28日

#blobd 中排名 1


3 个crate(直接使用2个)中使用

Apache-2.0

5KB
93

blobd

非常快速且并行的对象存储,以原始设备速度运行。设计用于在万亿个对象(小型或大型)上进行数百万并发随机部分读取,具有恒定的延迟。

  • 所有好的功能:无共享架构,io_uring,异步Rust I/O,无页缓存,直接I/O。
  • 保证持久性:可以随时安全崩溃,成功结果表示数据已100%持久化。
  • 创建分区以在块设备或文件内部或之间本地分片,以实现极高的创建和删除吞吐量。
  • 可作为嵌入式库、RPC服务器或带有CORS、范围请求、预签名URL和HTTP/2的HTTP RESTful服务器提供。
  • 异步复制和事件流。

设计

  • 设备上的可配置固定大小哈希表,其中对象在堆上以链表形式存在。整个设备映射到内存中。
  • 优化读取,然后创建,然后删除。无法列出对象。
  • 创建一个对象,然后并行写入其数据的16 MiB部分,然后提交。
  • 提交后对象不可变。目前无法进行版本控制。提交时对象将替换所有具有相同键的其他对象(不是创建时)。
  • 仅存储对象的尺寸。不收集其他元数据,也无法设置自定义元数据。
  • 设备必须小于256 TiB。对象限制为1 TiB。存储的对象峰值最优数量约为140万亿。
  • 未提交的对象可能在7天后被删除。对象删除后,占用的空间可能不会立即释放。

历史

此项目以前称为Turbostore,完全用C编写;您还可以在此看到代码。

依赖关系

~1.6–2.5MB
~50K SLoC