I am also very interested in using worker + kv. Can kv be used as a proper application database? Has anyone ever done that?
article:1 -> {"user": 1, "content": "..."}
user:1 -> {"name": "username"}
user:1:articles -> [1, ...]postid:someid/text
postid:someid/author
etc.
the relation aspect doesnt daunts me. As long as I can have a list/collection as a value, i can define a working schema.
I am more worried about if its costlier than normal dbs. and if there are any other gotchas to keep in mind as kv workers have scant documentation.
You should also consider how you intend to backup the data as there currently isn't a process to do that outside of writing something yourself to periodically download the keys. This will add to your usage cost depending on what your strategy is, for example, backing up old keys that gets updated vs only new keys by keeping track of the cursor.