CASE STUDY

Eniro Choses Scylla over Redis and Kafka for Data Steaming Application

About Eniro

Eniro is a leading search company for individuals and businesses with operations in Sweden, Norway, Denmark, Finland, and Poland. The company specializes in local search and Eniro’s content is available through internet and mobile services, printed directories, directory assistance, and SMS services. With quality-assured content and an unrivaled user experience, Eniro inspires local discoveries and makes local communities thrive. Each month, Eniro Group’s digital services has an average of 23.2 million unique visitors that make 70.6 million searches.

Challenges

Replace single threaded Redis, which created end application resource constraints and data stream service stalls

  • Eliminate high latencies for data read/writes preventing adequate service levels
  • Need persistent data store for various data types, and ability to integrate third party tools for streaming and data analytics.

“It is fast. We have started to get used to seeing latencies in the microseconds as opposed to milliseconds.”

Henrik Johansson, Senior Developer, Eniro

The Solution

  1. Use ScyllaDB as the prime data store.
  2. Use NATS as the primary streaming solution to store website events, logs, and documents related to services provided by Eniro.
  3. Scylla stored information of nightly artifacts for further analysis, online and real-time data for different processes along the data chain.
  4. The application logic is written in Go, using gocql to communicate with the Scylla cluster. Using Go gives access to the great support for Go in the NATS community.

Results

  • Delivered top performing, durable, and cost-effective streaming solution
  • Reduced read latency in single digit milliseconds and write latency in sub milliseconds
  • Seamless support for Go applications and analytics tools
  • Easy to store multiple types of data in the same cluster, with different keyspaces
  • Efficient usage of servers: 3 servers, 16 Gb RAM, 6 Intel Xeon 2.6 GHz

Eniro has been using Scylla since the Scylla 1.0 release. Upgrades and maintenance operation are non-intrusive and completed in a timely manner and minimum effort from the operations team. Read more from Henrik and why he chose ScyllaDB on the Eniro developer blog. Or watch Henrik’s Scylla Summit presentation.