If you did that, wouldn't you have to fetch the entire SQLite database file before you could perform any queries?
With this you don't need to do that - the software magically fetches just the pages needed to answer your specific query.
That really depends on the S3 filesystem implementation. It could make the same sort of optimizations as this does using range reads.
Ah even if this were the case, in some situations you can’t mount filesystems (e.g. Docker without certain capabilities enabled?), and so something more in the application layer would be the only way to access SQLite on S3?
Yep! This kind of thing works around these problems.