#data-storage #read #random #constant #huge #config-file #token-secret #block-device #deep-dive #small-objects

app blobd

Blob storage designed for huge amounts of random reads and small objects with constant latency

5 releases (3 breaking)

new 0.3.0 Nov 3, 2025
0.2.1 Apr 13, 2023
0.2.0 Apr 7, 2023
0.1.0 Apr 6, 2023
0.0.1 Mar 28, 2023

#485 in HTTP server

Apache-2.0

140KB
3.5K SLoC

blobd

Extremely fast object storage, performing at raw device speeds. Achieves constant sub-millisecond latency random partial reads over objects regardless of size.

Read the blog post for an accessible deep dive.

Usage

blobd requires Linux 6.11+, a NVMe SSD with support for atomic writes of 512-byte blocks, and direct access to the raw block device. Install the server by using cargo:

cargo install blobd

Then set up the configuration file:

device:
  path: /dev/my-nvme-device
  offset: 0
  len: <length of block device in bytes>
token_secret_base64: abcdef1234567890abcdef1234567890
interface: 127.0.0.1
port: 8080

Now you can format the device and start the server:

blobd --config my-config.yaml --format
blobd --config my-config.yaml

The server can now be accessed over HTTP. Clients are available for Node.js and Rust.

History

This project used to be called Turbostore and was written entirely in C; you can still see the code here.

Dependencies

~16–22MB
~407K SLoC