3 ms·
Direct answer: no, probably no database. HN forwards info to Firebase which provides an API. But assuming Arc is still running on Racket, there aren't a lot of
by sillysaurus3 9y ago
Direct answer: no, probably no database. HN forwards info to Firebase which provides an API. But assuming Arc is still running on Racket, there aren't a lot of options for database bindings (https://docs.racket-lang.org/continue/ https://docs.racket-lang.org/continue/) and flat files work well enough.
EDIT: Actually, you may be right. They already forward data to Firebase, which means they could just store the data in Firebase directly. Firebase is pretty great, so it's possible they did this.
One bit of supporting evidence: there seems to be no startup time. Loading GBs of data from disk takes a little while, so restarting HN would be painful. We'd notice it as ~30 seconds of downtime. Especially now that HN has grown so large. I haven't noticed this in a couple years (but I'm not omnipresent).
So it could go either way, and there are a lot of advantages to the Firebase approach.
I guess I take back everything I said. But only because a lightweight alternative exists, not because flat files are inherently bad.
- soegaard 9y agoLots of database options! See https://docs.racket-lang.org/db/ https://docs.racket-lang.org/db/