About Me
Felipe Fernández
Some craftsmanship related topics
- BDD
- Outside-in development
- Focus on delivery
- Minimise waste
About the talk
- 1. Cassandra rationale
- 2. Cassandra internals
- 3. Data modeling
1. Cassandra rationale
Cassandra rationale
RDBMS Approach to modern world challenges
- Third normal form
- Favour space over time
Cassandra rationale
ACID Properties
- Atomicity
- Consistency
- Isolation
- Durability
Cassandra rationale
Relational Data Modeling
- Denormalisation
- Referential integrity
- Strong uniqueness
- Indexes
- Joins
- Aggregations
Cassandra rationale
RDBMS Problems
- Scale up
- Sharding
- Availability
- Locality
Cassandra rationale
Cassandra to the rescue
- Distributed peer to peer architecture
- Scale out
- Low latency
- CAP theorem
Cassandra rationale
Right tool for the right job
- Big data
- Higher storage costs
- Change mindset
2. Cassandra internals
Cassandra internals
Distribution internals
- Data is partitioned around the ring
- Coordinator node
- Replication factor
- Consistency level
Cassandra internals
Distribution internals
- Column family
- Keyspace
- Node
- Rack
- Data center
- Cluster
Cassandra internals
Storage internals: Write path
- Commit log
- Memtable
- SSTable
- Compaction
- Tombstones
Cassandra internals
Storage internals: Read path
- Timestamps
- Read from Memtable and SSTables
- Caches
3. Data modeling
Data modeling
Partition
- Partition key
- Clustering key
- Primary key
Data modeling
Anti patterns
- Secondary indexes
- Join tables
- Allow filtering
Data modeling
Conceptual Modeling
- Entity-relationship diagrams
- Chen notation
- Technology agnostic
Data modeling
Logical Modeling
- Query based approach
- Chebotko notation
- Mapping rules and patterns
Data modeling
Physical modeling
- Fleshing out details
- Optimizations
Data modeling
Mindset change
- Data consistency
- Transactions
- Concurrent access