Illustration Image
Company: SmartThings
Industry: Technology
Functional Use Case: Session Store, Internet of Things/ Sensor Data, Data Store

Recently, Jeff Beck, Director of Database Engineering at SmartThings sat down with Aaron Ploetz on the Apache Cassandra® Corner podcast.  They discussed how SmartThings has used Cassandra for three or four major use cases over the years.  Those use cases include things like authentication and authorization, identity management systems, IoT (Internet of Things) event processing, and distributed state storage.

Essentially, they leverage Cassandra to help ensure global availability.  This is important as SmartThings has used Cassandra to replicate data for their identity systems around the world.

“So when we build things in Asia, Europe, and North America; those are our three, major places that we need everything to work. And that’s where Cassandra really is the thing for that. For our size of a team at the time, we could make it just work.”

Jeff goes on to explain that over the years, there were some areas of Cassandra which were trickier than others.  But his team was able to leverage a few features like TTLs (Time To Like) and Time Window Compaction in Cassandra to match and support their identity use cases.

 “We have done a lot with Time Window Compaction and more temporal data.  In the identity space, think about refresh tokens of OAuth credentials, for example.  They’re TTL’d so they only last a certain amount of time.  They get created sequentially, and fall-off sequentially.  So we do a lot of that.“

Jeff also mentions that they have spent a lot of time keeping identity working, not just optimizing for low latency. This is critical because everything needs to go through the authentication system. SmartThings has also done a few migrations between data centers and still maintained uptime. With their IoT use cases everything needs to be zero downtime.

“You don’t do scheduled downtime for people’s automations, for what they care about is their house.  Because the minute you do 10 minutes down, a purposeful 10 minute downtime, someone’s gonna have a flood in their basement.  That’s what we don’t want.”

What is clear, is that SmartThings makes supporting their customers a top priority.  Apache Cassandra is the database they use to make sure their systems stay up, which gives their customers the peace-of-mind to focus on the things which matter most to them.

Stack Includes: Ratpack, Grails, Spring Boot

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?