Cassandra на собеседовании Data Engineer
Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.
Архитектура
Distributed wide-column store. Masterless — все nodes peers.
Ring topology. Each node owns range tokens.
Replication factor (RF) — N copies каждой row.Built для linear horizontal scaling и multi-DC.
Data model
Tables с composite primary key:
CREATE TABLE events (
user_id UUID,
event_time TIMESTAMP,
event_type TEXT,
payload TEXT,
PRIMARY KEY (user_id, event_time)
) WITH CLUSTERING ORDER BY (event_time DESC);user_id — partition key. event_time — clustering column.
Query patterns determined upfront — schema designed под them.
Partition key
Determines node assignment. All rows с same key — same node.
SELECT * FROM events WHERE user_id = '...'; -- single partition, fast.
SELECT * FROM events WHERE event_type = '...'; -- ALLOW FILTERING (slow, anti-pattern).Hot partition. Один user с миллионы events → uneven load. Bucket key.
Consistency levels
Per-query.
- ONE. Read / write один replica. Fast, eventual.
- QUORUM. N/2 + 1. Balance.
- ALL. Все replicas. Strong, slow.
- LOCAL_QUORUM. В local DC.
- EACH_QUORUM. Quorum каждого DC (multi-DC).
Tunable per query.
Repair
Eventual consistency → diverge.
Anti-entropy repair. Compare replicas через Merkle trees. Sync.
nodetool repairRun weekly recommended.
Read repair. При reading inconsistency — fix automatically.
Hinted handoff. When node down — peers store hints. Replay when back.
Связанные темы
- NoSQL types для DE
- CAP теорема для DE
- Database sharding для DE
- Eventual consistency для SA
- Подготовка к собесу Data Engineer
FAQ
Это официальная информация?
Нет. Статья основана на документации Apache Cassandra.
Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.