Published Sep 3, 2019

Episode 179: Cassandra with Jonathan Ellis

Explore the capabilities of Cassandra with Jonathan Ellis, as he delves into its innovative data modeling, scalable architecture, and efficient read/write operations, showcasing why it's an ideal choice for distributed systems over traditional databases.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Schema Flexibility

    Cassandra's data modeling offers flexibility through static and dynamic schemas, allowing developers to adapt their applications without altering the database structure. explains that static schemas maintain consistent columns across rows, while dynamic schemas enable adding new columns as needed, such as including an SMS number alongside an email address 1. This adaptability is crucial for performance, as it avoids costly joins by allowing millions of columns in a single row, thus enhancing query efficiency in distributed systems 2.

    We really want to emphasize avoiding joins. And having the ability to put millions or billions of columns in a single row lets us denormalize your query result set and precompute it into one of these rows.

    ---

    This approach ensures that applications can scale effectively, leveraging Cassandra's strengths in handling large datasets.

       

    Model Comparison

    Cassandra's approach to data modeling contrasts sharply with traditional relational databases, focusing on denormalization to optimize performance. illustrates this with Twissandra, a Twitter clone, where data is stored in a way that precomputes queries, eliminating the need for joins 3. This method involves creating separate column families for each query type, allowing for efficient data retrieval without the overhead of relational joins.

    In the relational model, the idea you normalize everything, every piece of data is in one place. You can always find the data you want if you're willing to do enough joins.

    ---

    Ellis emphasizes that Cassandra's model is better suited for applications requiring scalability and high query volumes, as it avoids the limitations of single-machine databases 4.

Related Episodes