4 个版本 (2 个破坏性版本)
0.2.1 | 2023年4月13日 |
---|---|
0.2.0 | 2023年4月7日 |
0.1.0 | 2023年4月6日 |
0.0.1 | 2023年3月28日 |
#842 in 并发
105KB
2.5K SLoC
blobd
- 可扩展至数百万个随机并发部分读取,覆盖数万亿对象(小型或大型),在恒定的磁盘级延迟下。
- 异步复制和事件流。
- 适用于高传输和创建速率以及许多小对象的批量创建API。
- 支持CORS、范围请求、预签名URL和HTTP/2的HTTP RESTful API。
设计
- 设备上的可配置固定大小哈希表,堆上对象的链表。整个设备映射到内存。
- 优化读取,然后创建,然后删除。无法列出对象。
- 创建一个对象,然后并发地以16 MiB的部分写入其数据,然后提交。
- 对象提交后不可变。目前不支持版本控制。提交时,对象替换所有具有相同键的其他对象(不是创建时)。
- 只存储与对象相关的大小。不收集其他元数据,也无法设置自定义元数据。
- 设备必须小于256 TiB。对象限制为1 TiB。存储对象的最大峰值数量约为140万亿。
- 未提交的对象在7天后可以删除。删除对象时,对象使用的空间可能不会立即释放。
历史
该项目以前称为 Turbostore,完全用C编写;您仍然可以在这里看到代码。
依赖项
~15–24MB
~339K SLoC