К основному содержимому
все выпуски
Code of Architecture · выпуск 09

Database Internals — выпуск 3

1:29:14

Участники выпуска

  • Константин Евтеев

    гость

  • Олег Бондарь

    гость

Содержание

Что обсудили голосом

Третий выпуск открывает распределённую часть Database Internals. Заблуждения о надёжной сети и бесконечной пропускной способности ведут к cascading failures, поэтому нужны ограниченные очереди и backpressure. Каналы теряют и дублируют сообщения, а exactly once на практике опирается на повторы, idempotency и deduplication.

Задача двух генералов объясняет, почему при потере сообщений нельзя гарантировать agreement. Для consensus разбирают validity, termination и неизменность решения, а отказы делят на crash, omission и Byzantine. Failure detector не отличает медленную ноду от упавшей наверняка: ping и gossip лишь управляют подозрениями.

Leader election создаёт точку принятия решений, но приносит риск split brain. Обсуждаются выбор по rank, кольцевой обход и отдельное множество candidates. Replication добавляет избыточность, а CAP рассматривается именно при network partition: тогда приходится выбирать между ответом и согласованностью реплик.

Модели consistency идут от регистров к linearizability, sequential и causal consistency. Первая учитывает реальное время, вторая сохраняет общий порядок, третья — зависимости операций. Session guarantees дают read-your-writes, monotonic reads и writes, а также writes-follow-reads. В конце уточняют значения strong и eventual.

Серия по книге
Database Internals
Alex Petrov
Плейлист книги