
Show HN: S3SQLite, a Server-Less Relational DB Engine for Django - Mizza
https://blog.zappa.io/posts/s3sqlite-a-serverless-relational-database
======
samwillis
I love this idea.

Looking at the code it looks like the db is downloaded from s3 when a
connection is opened (although I'm not entirely sure if there is some caching
in here) and then uploaded, overwriting the old when the connection is closed.

It would be awesome if there was some sort of merge that could be done rather
than an overwrite. It would probably mean needing to use guid's rather than
sequential id's or have some sort of central blocking id generator.

I wonder if something could be done with a write ahead log, effectively
implementing an operation transform system. Each lambda function could
download the db once and then tail the log to update the db? It's a pity that
s3 has no append function...

Obviously, the main limiting factor with this is that each lambda function
needs to download the entire database and so it's not really suitable for dbs
of more than a few hundred MB.

------
_ao789
This is very interesting actually.

Some questions:

-In settings.py you only add <your-db-bucket>; obviously you also need AWS keys for this stored somewhere?

-Can you control the frequency of writes to be synced back to the bucket?

------
yujinyuz
Cool! I think I'll give this one a shot :)

