Question

I have a huge database of products(about 300 Million Products) and about 1 million users. I want to suggest products to this users depending on some criterias ( gender, country, age, interests ...) i wrote an algorithm suggesting this products and I can suggest up to 100000 product for each user. My question is how to store all this data in Hbase before displaying it on my website?

Was it helpful?

Solution

You could store using the userID as rowKey and sets of productIds (you can think it as pages) as columns. The value would contain a serialized list of productIds.

Potentially you could separate the first pages into a separate column family, to prevent load all the columns (pages). Beware that Apache HBase does not perform well with more than 2-3 CFs ( http://hbase.apache.org/book/number.of.cfs.html ). MapR Tables commercial product overcomes this by increasing the limit to 64 column families per table.

If the user gets exposed to the first pages' products, you can cycle them with the other column families.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top