Every time there's a change to the db you need to download a whole new copy afaik.
Ideally you'd use a log based store. To do this you need to fundamentally change your idea for how a website works.
With a distributed log store chances are you won't have the same data as another person.
https://docs.datproject.org/faq - https://beakerbrowser.com/ - https://github.com/bunsenbrowser/bunsen
> The two systems also have a number of differences. Dat keeps a secure version log of changes to a dataset over time which allows Dat to act as a version control tool. The type of Merkle tree used by Dat lets peers compare which pieces of a specific version of a dataset they each have and efficiently exchange the deltas to complete a full sync. It is not possible to synchronize or version a dataset in this way in IPFS without implementing such functionality yourself, as IPFS provides a CDN and/or filesystem interface but not a synchronization mechanism.
Above quote is from "How is Dat different than IPFS?" https://docs.datproject.org/faq
The Dat web can be browsed on Desktop with Beaker Browser https://beakerbrowser.com or on Android with Bunsen Browser https://github.com/bunsenbrowser/bunsen.
* Disclaimer: I'm helping out with the development of Bunsen. You should too!