Key-value store would be OK, we (developers) can handle that. And in fact, we do it already. But IndexedDB is broken by design. But I agree, handle relational data is what we want. And you can easily emulate non-relation data with it, if you need.
You can now have both: a relational database in your key-value localStorage:
<https://sqlite.org/wasm/doc/trunk/persistence.md#kvvfs>
:-D
Absolutely, but _it works_ and nothing trumps working code ;). A slow and space-limited database is better than none at all!
We implemented that functionality primarily to make peoples' eyes bug out ;), but also so that folks who don't yet have OPFS can have some form of persistent sqlite databases.