Disney+ Hotstar: Scaling NoSQL for Millions of Users with ScyllaDB
Vamsi Subhash Achanta, Architect, explains why Disney+ Hotstar chose ScyllaDB Cloud to replace both Redis and Elasticsearch, and how they migrated their data with zero downtime.
Transcript
I'm Vamsi. I work as an engineer at Disney+ Hotstar. About Disney+ Hotstar: it's a subscription video-on-demand service in India, where users can stream video on demand.
We support multiple variants of "Continue Watching" in the Hotstar platform. One use case is where you play something first, and then you pause it, you go to another tab and buy something or do some work, and then come back to the home page, again...and you can resume it from there. This provides a seamless experience for the user, so that he can resume from where he left off in the series, it understands the season state.
Originally, we had multiple data sources for the same use case, and each had their own data model; Redis is a key-value store and Elasticsearch is a document store. As the number of users who are coming to the platform increases, increasing day by day, and when a high scale event happens, it becomes a difficult challenge to maintain this data. The cost which we incur for maintaining two data stores and at high scales ended up being expensive for us.
We explored the possible candidates at that time to move from the existing Redis and Elasticsearch solution to a Bigtable solution. Out of all these options we evaluated, we have gone with ScyllaDB. The reason for ScyllaDB is it doesn't have a high maintenance cost. When we calculated the costs, the overall cost for writes over a period of time when fully provisioned, ScyllaDB is actually better in terms of costs for us. The major driving factor for us was the low latency with respect to writes and reads. When the writes are less latent and the reads are also less latent, the user can pause video from one platform and then resume to another platform in very quick time. So this handoff will be very good and the user experience will be better.