Skip to main content

ScyllaDB Helps Tubi Unify ML-Driven Apps with Scala and Spark

Alex Bantis describes how ScyllaDB helped Tubi to unify ML-driven apps with Scala and Spark.


Hi, my name is Alex Bantis. I'm a back end developer at Tubi.

I love working with Scala and up until about a year ago, I hadn't even heard of ScyllaDB, I hadn't heard of Cassandra. Well, I had heard of it, but I had never used it before.

So I came up with an interesting problem that had never come up before, which is we had this team of ML engineers that were creating wonderful, personalized recommendations within their space in Spark.  We had a whole bunch of client teams. And somehow we didn't really have a very good way of joining the two together.

My mission was to create a back end application that would take the recommendations and the ML algorithms that were being run in the Spark space and get them in front of the user. So at this time, they had a kind of a hacky way of doing it. It was taking about 300 milliseconds to do this kind of personalization, and it was not very stable.

I started by reading through the DataStax docs, and got up to speed on how Cassandra works. I developed a proof of concept on ScyllaDB. And initially, there was kind of resistance within the organization, like What is this ScyllaDB thingHow do I know if it's even going to work?  And I really didn't listen to all that stuff because I just knew it was the right choice and it would be proven over time.

Our  application went live in January, and it's reduced latency from 300 milliseconds to 10 milliseconds. That database cluster has had no errors since the beginning of the year and now finally, I've gotten to the point where there's no excuses left and the other teams are coming to me asking about how they can use ScyllaDB too.