Illustration Image
logo
Company: Outbrain
Industry: Software
Functional Use Case: Recommendation

This use case is based on an article originally published here.

Outbrain, a content recommendation platform, undertook the challenging task of migrating its large-scale production clusters from DataStax Enterprise (DSE) 4.8.x to Apache Cassandra 3.11. The company uses Cassandra extensively, with around 30 production clusters of varying sizes across three data centers. The primary motivation behind the upgrade was to achieve better performance and efficiency by leveraging the newer features of Apache Cassandra 3.11.

The Decision-Making Process

After considering two options – upgrading to the commercial distribution version provided by DataStax or migrating to the Apache Cassandra distribution – Outbrain opted for Apache Cassandra 3.11. The decision was based on the fact that they did not utilize any of the Datastax enterprise features and were satisfied with the core functionality offered by Apache Cassandra.

The Proof of Concept (POC)

Outbrain conducted a POC to validate whether Apache Cassandra 3.11 would meet their needs. They built a new cluster and aimed to achieve acceptable read and write latencies with fewer nodes. Through a series of tests and problem-solving, they found that not only could they benefit from storage space savings and faster read path, but they could also potentially store more data per node for clusters that used LeveledCompactionStrategy (LCS).

The Migration Plan

The migration plan included several steps:

  • Upgrade to the latest DSE 4.x version (4.8.14)
  • Upgrade to DSE 5.0.14 (Cassandra 3)
  • Upgrade sstables
  • Upgrade to DSE 5.1.4 (Cassandra 3.11)
  • Replace DSE with Apache Cassandra 3.11.1

Outbrain then proceeded to upgrade their clusters, carefully following the migration plan to ensure minimal downtime and impact on performance.

The Results

The migration from DSE 4.8.x to Apache Cassandra 3.11 was successful, bringing significant performance improvements and major storage savings. The new storage format also resulted in lower JVM pressure during reads. As a result, read latencies decreased across all three data centers during load tests performed before and after the migration.

Conclusion

Outbrain’s successful in-place migration from DSE 4.8.x to Apache Cassandra 3.11 proves that it is possible to conduct such an upgrade in running production clusters without compromising on performance or causing downtime. With careful planning, thorough testing, and a well-executed migration strategy, companies can leverage the benefits of Apache Cassandra 3.11 while minimizing disruption to their operations.

Stack Includes: Apache Cassandra

HandbookLogo
Want to share your use case?

Planet Cassandra is the home page for the Cassandra Community, where everyone in the community can share their use cases.

Show off what you've done & help others learn following your example & contribution.

Become part of our
growing community!
Welcome to Planet Cassandra, a community for Apache Cassandra®! We're a passionate and dedicated group of users, developers, and enthusiasts who are working together to make Cassandra the best it can be. Whether you're just getting started with Cassandra or you're an experienced user, there's a place for you in our community.
A dinosaur
Planet Cassandra is a service for the Apache Cassandra® user community to share with each other. From tutorials and guides, to discussions and updates, we're here to help you get the most out of Cassandra. Connect with us and become part of our growing community today.
© 2009-2023 The Apache Software Foundation under the terms of the Apache License 2.0. Apache, the Apache feather logo, Apache Cassandra, Cassandra, and the Cassandra logo, are either registered trademarks or trademarks of The Apache Software Foundation. Sponsored by Anant Corporation and Datastax, and Developed by Anant Corporation.

Get Involved with Planet Cassandra!

We believe that the power of the Planet Cassandra community lies in the contributions of its members. Do you have content, articles, videos, or use cases you want to share with the world?