Case Study: Opera Syncs Tens of Millions of Browsers with ScyllaDB and Achieves Huge Latency Improvements

By Rafał Furmański, Head of Web Services, Opera

About Opera

In 1995, Opera was founded on the premise that anyone should be able to browse the web on any device. For more than 20 years, Opera browsers have enabled millions of people to access the internet, pioneering many features that are now taken for granted today, including tabs and speed dial. Opera makes browsers for PCs (Windows, MacOS and Linux) as well as mobile devices (Opera for Android, Opera Mini for Android and iOS, Opera Touch and Opera News).

Opera uniquely provides a completely free, no-log virtual private network (VPN), along with the “My Flow” feature that enables users to sync things securely between computer and phone. The Opera browser is also first on the market with built-in ad blocking and cryptocurrency-mining protection.

The Challenge

Opera used Apache Cassandra for about 2 years before they discovered ScyllaDB. The team was plagued by constant issues, such as the Cassandra process itself being killed, and several hundreds of hours spent debugging Java garbage collection (GC). Cassandra proved to be a constant struggle, and countless experiments in tuning configurations delivered only marginal improvements.

“We can now focus on creating new features for our users instead of babysitting Cassandra.”

Rafał Furmański, Head of Web Services, Opera

The Solution

Opera discovered ScyllaDB at the Cassandra Summit in 2015, where the ScyllaDB database achieved 1,000,000 CQL operations per second on a single node. “I was really impressed and discovered that ScyllaDB has built a very efficient database that is also compatible with Cassandra,” said Rafał Furmański, Head of Web Services for Opera. In 2018, the Opera team decided that ScyllaDB was mature enough to migrate users’ data from Cassandra. As an added bonus, they found they were able to significantly reduce their node count, lowering TCO in the process.
scylla Opera bar graph

Running cassandra-test against a cluster of 3 nodes, Opera found that ScyllaDB performed three times better in terms of operations per second and latency. Approaching the migration conservatively, the Opera team moved users one by one from Cassandra to ScyllaDB. The backends were simultaneously connected to Cassandra and ScyllaDB clusters. The migration completed, Opera now runs only ScyllaDB in production. The database infrastructure shrank from 30 nodes of Cassandra to 21 of ScyllaDB, replicating 33 terabytes of data across two data centers.

“I’ve never had better technical support experience in my entire life — I really mean it,” exclaimed Furmański. “Since migrating to ScyllaDB our on-call engineers are finally getting enough sleep. They’re really happy with this change. ScyllaDB simply works as promised. We can now focus on creating new features for our users instead of babysitting Cassandra.”

Latency Improvements by the Numbers:

  • 99th percentile read request latency
    • Cassandra: 5000ms
    • ScyllaDB: 4ms
  • 99th percentile write request latency
    • Cassandra: 500ms
    • ScyllaDB: 4ms