news
Databases: Postgres, SpacetimeDB News
-
Andrew Nesbitt ☛ Just Use Postgres
A couple of weeks ago I wrote about storing git repositories in Postgres and built gitgres to prove it worked. Two tables, some PL/pgSQL, a libgit2 backend, and you could push to and clone from a database. The post ended with a missing piece: the server-side pack protocol, the part that lets a Postgres instance serve git push and git clone over HTTP without a separate application in front of it.
I built that missing piece as omni_git, a Postgres extension that implements the git smart HTTP protocol inside the database and, when paired with omnigres, turns git push into a deployment mechanism where your SQL files go from git objects in a table to running code in the same Postgres instance.
The end result is something like Heroku, except the entire platform is a single Postgres process. You git push a Flask app (or raw SQL, or both) to a Postgres remote, a trigger deploys it, and omnigres starts serving HTTP traffic from it – no reverse proxy, no container runtime, no separate application server. The database is the git host, the build system, and the production runtime.
-
Strcat ☛ SpacetimeDB: a short technical review
The database market is harsh, particularly for newcomers. It’s very hard to launch a new product and differentiate yourself from the incumbents. Even harder to gain any long term traction. Earlier this week, SpacetimeDB launched version 2.0 of their database with a peculiar approach that —as far as I can tell— hasn’t been done before: a slightly surreal (meme-y) video where they mock their competitors (drinking “competitor’s tears”) and a set of benchmarks that seem too good to be true (they are, indeed, not true), and that also mock other databases. Look at the cute magnifying glass next to the big losers of that benchmark. You gotta zoom in to see how much they suck! Good stuff.