Skip to main content Moves from PostgreSQL and Cassandra to ScyllaDB

Why Kiwi moved from PostgreSQL and Cassandra, and now rely on ScyllaDB for real-time searches across their massive data set.   [Read the complete case study]


The data domain is massive. Every day in the world I think there's 100,000 flights. We have these 100,000 flights every day. But the problem is that you get unique pricing for combinations of these of these flights. So, Lufthansa might give you a better price if you fly with Lufthansa from Brussels to Munich, and then from Munich to Los Angeles, compared to buying separately. So we have to store all these combinations. We currently store 7 billion, or something like that. And this is just the underlying graph for us,  this is a graph with 7 billion edges. And over this graph, we do real time searching, which is pretty challenging, I would say. That's a big graph.

We used Postgres, then we used. a lot of Postgreses. It is just terrible. It didn't scale. We had to do manual distribution of data over a cluster of nodes running individual Postgreses. But then you have so many problems because it's not uniform units, it's 50 or 70 units, like 70 different systems running all over the place. Imagine the variable.

ScyllaDB is written in C++, which I think is the right thing to do. And also I think that ScyllaDB is getting right, all the things about consistency and internally how ScyllaDB works, I like it from both technical point of view. But obviously it allows us to grow even further, so I like that from a business point of view.