Hacker News new | ask | show | jobs
by tlarkworthy 1788 days ago
no, it's no good for big data sets because lambda warmup time and RAM consumption is proportional to binary size.

Just reference the data as a URL to static storage, problem solved.

3 comments

> no, it's no good for big data sets because lambda warmup time and RAM consumption is proportional to binary size

What binary size? What RAM consumption? With a SQLite database or something similar you'll have a small and possibly unchanged program, one or more large replaced database files, and only the unavoidable reloading of actually used index pages contributing to memory use and "warmup" after an update.

Of course if instead of relying on some efficient DBMS that manages indexing and caching you have to discard and reload a large file in its entirety after an update in order to hold all its content in memory your database is part of the problem and not part of the solution.

Weirdly Cloud Run claims that cold start time isn't coupled to the size of the binary.

I find that larger database files on Cloud Run do need to be assigned a higher amount of RAM though, or they fail to start - but I'm not sure if that's a bug in how my code works. I've not yet spent much time tweaking SQLite parameters.

We switched from deployment:

> I wouldn't want to be deploying a multi-gigabyte binary every time i make a change to the dataset...

To runtime startup:

> lambda warmup time

And cost:

> RAM consumption is proportional to binary size