frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Supertoast tables

https://hatchet.run/blog/supertoast-tables
49•abelanger•11h ago

Comments

debarshri•9h ago
I think anything interesting more cleaner route would be to create a plugin in postgres and introduce a type that upload the large file in s3.

It would reduce thr complexity.

Postgres plugins are very underrate and under utilized

levkk•9h ago
All queries run inside transactions, and a slow lane like S3 will cause delays, which will in turn block vacuum and cause more problems than it will solve. Most deployments of Postgres (e.g., RDS) won't let you install custom extensions either, although they do have their own S3 extension (which I wouldn't recommend you use).

The right place to manage this is either in the app or in a proxy, before the data touches Postgres.

carderne•9h ago
How does this work with self-hosting? Is the assumption that self-hosters won’t run into this problem?

For most use-cases I’d probably prefer to just delete the payloads some time after the job completes (persisting that data is business logic problem). And keep the benefits of “just use Postgres”, which you guys seem to have outgrown.

abelanger•8h ago
Candidly we're still trying to figure that out: all of the plumbing is there in the open source, but the actual implementation of writes to S3 are only on the cloud version. This is partially because we're loath to introduce additional dependencies, and partially because this job requires a decent amount of CPU and memory and would have to run separate from the Hatchet engine, which adds complexity to self-hosted setups. That said, we're aware of multi-TB self-hosted instances, and this would be really useful for them - so it's important that we can get this into the open source.

The payloads are time-partitioned (in either case) so we do drop them after the user-defined retention period.

philsnow•6h ago
Unexpectedly, I love the animated ascii diagrams, very cogmind-esque.

Anybody know how they designed those?

atombender•5h ago
I really wish there was a seamless system for this. Once you try to do this kind of thing, you run into all sorts of rabbit holes and cans of worms.

For example, coalescing blobs into "superblobs" to avoid a proliferation of small objects means you invent a whole system for tracking "subfiles" within a bigger file.

And you'll need a compacting job to ensure old, deleted data is expunged, which may be more important than you think if the data has to be erased for privacy or legal reasons.

Object storage has no in-place mutation, so this compaction has to be transactionally safe and must be careful not to leave behind cruft on failure, and so on.

Furthermore, storing blobs in object storage without keeping a local inventory of them is, in my experience, a disaster. For example, if your database has tenants or some other structural grouping, something simple like finding out how much blob storage a specific tenant has is a very time-consuming operation on S3/GCS/etc. because you need to filter the whole bucket by prefix. So for every blob you store, you want to have a database table of what they are so that the only object operations you do are reads and writes, not metadata operations.

Sure, you have things like inventory reports on GCS that can help, but I would still say that you need to track this stuff transactionally. The database must be the source of truth, and the object storage must never be used as a database.

And so on.

This need to be able to store many small objects in object storage is coming up more and more for me, as is the desire to mutate them in-place or at least append. For example, imagine you want to build a kind of database which stores a replicated copy of itself in the cloud. There is no way to do this in S3-like object storage without representing this as a series of immutable "snapshots" and "deltas". It's fast to append this way, but you run into the problem of eventually needing to compact, and you absolutely have to batch up the uploads in order to avoid writing too many small objects.

So lately I've pondered using something else for this type of work, like a key/value database, like FoundationDB or TiKV, or even something like Ceph. I wonder if anyone else has tried that?

huntaub•5h ago
Well, I think this is what our company, Archil, is working on. We basically built an SSD clustering layer that proxies/caches/and assembles requests into object storage so that you can run a POSIX file system directly on top.

There's also some really great projects like SlateDB in this space, which could be more like what you're looking for (~RocksDB like API that runs on S3).

atombender•3h ago
Your product looks very interesting, I will take a look!
ovaistariq•5h ago
Well we have made small objects work well on Tigris (https://www.tigrisdata.com/). And we have several use cases of folks using it as KV store. Funny that you mention FoundationDB, we use that for our metadata storage.
atombender•3h ago
I've heard good things about Tigris. If that means I can store billions of objects without being bankrupted by request cost, and it has fast read access (GCS is quite poor here), then that helps a lot! I'm looking right now for a system that lets me store lots of very small blobs around 4KB each.

Plasma Bigscreen – 10-foot interface for KDE plasma

https://plasma-bigscreen.org
208•PaulHoule•3h ago•68 comments

UUID package coming to Go standard library

https://github.com/golang/go/issues/62026
39•soypat•1h ago•4 comments

Can a wealthy family change the course of a deadly brain disease?

https://www.science.org/content/article/can-wealthy-family-change-course-deadly-brain-disease
9•Snoozus•41m ago•0 comments

this css proves me human

https://will-keleher.com/posts/this-css-makes-me-human/
184•todsacerdoti•5h ago•65 comments

LLMs work best when the user defines their acceptance criteria first

https://blog.katanaquant.com/p/your-llm-doesnt-write-correct-code
89•dnw•2h ago•73 comments

Tell HN: I'm 60 years old. Claude Code has ignited a passion again

186•shannoncc•3h ago•100 comments

Maybe There's a Pattern Here?

https://dynomight.net/pattern/
28•surprisetalk•2d ago•11 comments

C# strings silently kill your SQL Server indexes in Dapper

https://consultwithgriff.com/dapper-nvarchar-implicit-conversion-performance-trap
70•PretzelFisch•4h ago•42 comments

Galileo's handwritten notes found in ancient astronomy text

https://www.science.org/content/article/galileo-s-handwritten-notes-found-ancient-astronomy-text
59•tzury•1d ago•8 comments

Hardening Firefox with Anthropic's Red Team

https://www.anthropic.com/news/mozilla-firefox-security
514•todsacerdoti•15h ago•148 comments

The Shady World of IP Leasing

https://acid.vegas/blog/the-shady-world-of-ip-leasing/
74•alibarber•6h ago•44 comments

Show HN: Moongate – Ultima Online server emulator in .NET 10 with Lua scripting

https://github.com/moongate-community/moongatev2
235•squidleon•13h ago•134 comments

Tech employment now significantly worse than the 2008 or 2020 recessions

https://twitter.com/JosephPolitano/status/2029916364664611242
783•enraged_camel•10h ago•526 comments

Show HN: Kula – Lightweight, self-contained Linux server monitoring tool

https://github.com/c0m4r/kula
16•c0m4r•3h ago•17 comments

Launch HN: Palus Finance (YC W26): Better yields on idle cash for startups, SMBs

40•sam_palus•9h ago•68 comments

Show HN: 1v1 coding game that LLMs struggle with

https://yare.io
7•levmiseri•21h ago•5 comments

A Modular Robot Dashboard

https://github.com/transitiverobotics/transact
4•chfritz•1d ago•0 comments

What canceled my Go context?

https://rednafi.com/go/context-cancellation-cause/
20•mweibel•2d ago•12 comments

CT Scans of Health Wearables

https://www.lumafield.com/scan-of-the-month/health-wearables
191•radeeyate•13h ago•41 comments

Entomologists use a particle accelerator to image ants at scale

https://spectrum.ieee.org/3d-scanning-particle-accelerator-antscan
103•gmays•11h ago•18 comments

Ada 2022

https://www.adaic.org/ada-resources/standards/ada22/
116•tosh•7h ago•23 comments

A tool that removes censorship from open-weight LLMs

https://github.com/elder-plinius/OBLITERATUS
134•mvdwoord•13h ago•59 comments

Astra: An open-source observatory control software

https://github.com/ppp-one/astra
85•pppone•11h ago•21 comments

Workers who love ‘synergizing paradigms’ might be bad at their jobs

https://news.cornell.edu/stories/2026/03/workers-who-love-synergizing-paradigms-might-be-bad-thei...
522•Anon84•14h ago•298 comments

Art Bits from HyperCard

https://archives.somnolescent.net/web/mari_v2/junk/hypercard/
67•TigerUniversity•6h ago•15 comments

Analytic Fog Rendering with Volumetric Primitives (2025)

https://matejlou.blog/2025/02/11/analytic-fog-rendering-with-volumetric-primitives/
87•surprisetalk•1d ago•8 comments

Multifactor (YC F25) Is Hiring an Engineering Lead

https://www.ycombinator.com/companies/multifactor/jobs/lcpd60A-engineering-lead
1•multifactor•10h ago

Good Bad ISPs

https://community.torproject.org/relay/community-resources/good-bad-isps/
109•rzk•13h ago•37 comments

Show HN: Claude-replay – A video-like player for Claude Code sessions

https://github.com/es617/claude-replay
74•es617•11h ago•28 comments

Game about Data of America

https://americaindata.com/
4•fidicen•3h ago•0 comments