Cassandra на собеседовании Data Engineer

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

Карьерник — 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.

Готовься к собесу аналитика как в Duolingo
10 минут в день — SQL, Python, A/B, метрики. 1700+ вопросов в Telegram
Открыть Карьерник в Telegram

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 repair

Run weekly recommended.

Read repair. При reading inconsistency — fix automatically.

Hinted handoff. When node down — peers store hints. Replay when back.

Связанные темы

FAQ

Это официальная информация?

Нет. Статья основана на документации Apache Cassandra.


Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.