eBay is the world’s largest online marketplace, enabling the buying and selling of practically anything. Founded in 1995, eBay connects a diverse and passionate community of individual buyers and sellers, as well as small businesses. eBay’s collective impact on eCommerce is staggering: In 2012, the total value of goods sold on eBay was $75.4 billion. eBay currently serves over 112 million active users and 400+ million items for sale.
We’re building a next generation recommendation system at eBay. By understanding each person’s unique tastes, we can help people find what they’re looking for faster or even help them discover things they’ll love that they didn’t even know about.
We are storing user activity data on Cassandra, representing it as a graph that is made up of edges between users and items that the user has indicated an interest or disinterest towards . As new behavioral data is recorded, in real time, we update our models about what the user is predicted to like or not. Cassandra is critical for being able to look up historical behavior data quickly, so that we can do these model updates with low latency. We’re storing the data in multiple of our own data centers.
Cassandra was well suited to store graph structures (using wide-rows) and it scaled better than the alternatives we evaluated.
Someone new to Cassandra should understand that it’s different than any relational database and it requires very different query and update patterns. They should also be careful about disk space. When on STCS, it’s very important to keep up to 50% of disk space free to give compactions enough space to finish.
Thanks to the community for helping make an awesome product!