This white paper sets out a methodical approach that we have found useful in approaching Cassandra data modelling. Our approach focuses on 3 simple principles: understand the data, define the entities and then review and tune.
We have defined a set of distinct steps that implement these principles:
- Step 1: Define the data domain
- Step 2: Define the required access patterns
- Step 3: Identify the primary access entities
- Step 4: Allocate secondary entities
- Step 5: Review partition and cluster keys
- Step 6: Test and tune
As well as defining the process in this paper, we provide a worked example based on building a database to store and retrieve log messages from multiple servers.