Not necessarily a pain, you just have to model the data very differently in something like DynamoDB. Those views are secondary indexes.
Search, though, you’re right. You’d be running ElasticSearch along side it and the cost and complexity starts to go up. Or just abandon having a functional search entirely, like Reddit did…
Ja, but you need an index for each thread, some kind of time partitioned thread index for each community, same for all.
Then you need to query all comments or posts by user, so that’s another index, then you need some way of querying for hot, or controversial or what have you.
It’s doable, but fiddly. Tempted to have a go though!
Bit of a pain to store in Dynamo, though. You’d need to write a bunch of different views, I think.
One comment thread makes sense as a partition, but listing threads is going to be awkward, and search is basically a no-no.
Not necessarily a pain, you just have to model the data very differently in something like DynamoDB. Those views are secondary indexes.
Search, though, you’re right. You’d be running ElasticSearch along side it and the cost and complexity starts to go up. Or just abandon having a functional search entirely, like Reddit did…
Ja, but you need an index for each thread, some kind of time partitioned thread index for each community, same for all.
Then you need to query all comments or posts by user, so that’s another index, then you need some way of querying for hot, or controversial or what have you.
It’s doable, but fiddly. Tempted to have a go though!