I want to take feeds of products and deals from merchants, and keep them up-to-date with with detected changes. Every time I update a update a product, I want to give it a higher version number. (Don't worry about the issue of assigning incrementing numbers -- that's covered.) I want to be able to do the following queries:
- All deals at version n and greater
- A specific deal by its ID
- All deals in a feed (latest version of each)
Could this be done in Cassandra? I can't come up with a single PK that will let me query by (feed, version) or (feed, deal_id). I could just put the data in two different tables, of course. Would HBase help me model this? It has built-in version support, but I'm a complete HBase n00b. Is anything else more suitable?