News for hackers. Stuff that matters.
Re:Building blobd: single-machine object store with sub-ms r... by Scaevolus on Tuesday November 04, 2025 @09:42PM (#45818382)
Similar systems include Facebook's Haystack and its open source equivalent, SeaweedFS.
Re:Building blobd: single-machine object store with sub-ms r... by stackskipton on Tuesday November 04, 2025 @10:29PM (#45818660)
Interesting project but lack of S3 protocol compatibility and fact it seems to YOLO your data means it's not acceptable for many.
Re:Building blobd: single-machine object store with sub-ms r... by moi2388 on Wednesday November 05, 2025 @12:14AM (#45819420)
And means it is acceptable for many others. There is a whole world outside of s3 you know.
Re:Building blobd: single-machine object store with sub-ms r... by Unroasted6154 on Wednesday November 05, 2025 @02:51AM (#45820484)
It's a bit weird to present it as an alternative to S3 when it looks like a persistent cache or k/v store. A benchmark against Redis would have been nice for example. The benchmark for rocks DB is also questionable as the performance depends a lot on how you configure it, and the article's claim that it doesn't support range read doesn't give me confidence in the results.

Also for the descried issue of small images for a frontend, nobody would serve directly from S3 without a caching layer on top.

It's a interesting read for fun, but I am not sure what it solves in the end.

Re:Building blobd: single-machine object store with sub-ms r... by supriyo-biswas on Wednesday November 05, 2025 @06:29AM (#45821717)
I'd have to assume it's a blob store for their search engine (or similar) project: https://blog.wilsonl.in/search-engine/
Re:Building blobd: single-machine object store with sub-ms r... by moi2388 on Wednesday November 05, 2025 @10:59AM (#45824357)
Yes, those are fair points.
Re:Building blobd: single-machine object store with sub-ms r... by amluto on Tuesday November 04, 2025 @11:44PM (#45819207)
That’s a lot of work creating a whole system that stores data on a raw block device. It would be nice to see this compared to… a filesystem. XFS, ZFS and btrfs are pretty popular.
Re:Building blobd: single-machine object store with sub-ms r... by bionsystem on Wednesday November 05, 2025 @04:34AM (#45821113)
I don't quite understand the point, why would anybody use S3 then ?
Re:Building blobd: single-machine object store with sub-ms r... by bob1029 on Wednesday November 05, 2025 @03:17AM (#45820645)
> Despite serving from same-region datacenters 2 ms from the user, S3 would take 30-200 ms to respond to each request.

200ms seems fairly reasonable to me once we factor in all of the other aspects of S3. A lot of machines would have to die at Amazon for your data to become at risk.

Re:Building blobd: single-machine object store with sub-ms r... by rockwotj on Wednesday November 05, 2025 @03:18AM (#45820653)
> Direct I/O means no more fsync: no more complexity via background flushes and optimal scheduling of syncs. There's no kernel overhead from copying and coalescing. It essentially provides the performance, control, and simplicity of issuing raw 1:1 I/O requests.

Not true, you still need fsync in direct I/O to ensure durability in power loss situations. Some drives have write caches that means acknowledged writes live in non-volatile memory. So maybe the perf is wildly better because you’re sacrificing durability?

Re:Building blobd: single-machine object store with sub-ms r... by actionfromafar on Wednesday November 05, 2025 @06:24AM (#45821706)
You mean in volatile memory?
Re:Building blobd: single-machine object store with sub-ms r... by rockwotj on Wednesday November 05, 2025 @06:35AM (#45821758)
yes thanks
Re:Building blobd: single-machine object store with sub-ms r... by rrauch on Wednesday November 05, 2025 @06:33AM (#45821742)
Looks like the author is well aware:

  /// Even when using direct I/O, `fsync` is still necessary, as it ensures the device itself has flushed any internal caches.
  async fn sync(&self) {
    let (fut, fut_ctl) = SignalFuture::new();
    self.sender.send(Request::Sync { res: fut_ctl }).unwrap();
    fut.await
  }
Full code here:

https://github.com/wilsonzlin/blobd/blob/master/libblobd-dir...

Re:Building blobd: single-machine object store with sub-ms r... by grenran on Wednesday November 05, 2025 @07:56AM (#45822351)
S3's whole selling point is 11 9s of durability across the whole region which is probably why it's slow to begin with.
Re:Building blobd: single-machine object store with sub-ms r... by tuhgdetzhh on Wednesday November 05, 2025 @01:22PM (#45826061)
When you have a service and really care about shoving of S3 latencies in the millisecond range, then you propably have enough users that all the tiny images are cached @ edge anyways.