Серебряной пули нет: как СУБД балансируют скорость и надежность через Write-Ahead Logging?
Программный комитет ещё не принял решения по этому докладу
Целевая аудитория
Тезисы
Обеспечение надежного сохранения данных и их восстановления после сбоев — ключевая задача систем обработки данных. Любая ошибка записи может привести к потере транзакций или повреждению данных, а масштабные системы требуют при этом высокой производительности и быстрой доступности после сбоя. Мы в OtterBrix тоже столкнулись с задачей проектирования собственного WAL, и довольно быстро выяснили, что универсального рецепта здесь не существует.
Проектирование WAL — это поиск инженерного компромисса между скоростью записи, временем фиксации транзакций, временем восстановления после сбоя и надёжностью системы хранения. В зависимости от требований, для каждой отдельной СУБД этот компромисс будет решатся по-разному.
В докладе я покажу модель принятия решений при проектировании WAL на примере PostgreSQL, SQLite и DuckDB, а также расскажу, как в OtterBrix мы построили собственный WAL.
C++-разработчик, занимаюсь серверными и инфраструктурными системами обработки данных. Мейнтейнер фреймворка обработки данных OtterBrix.
Студент магистратуры ИТМО.
Видео
Другие доклады секции
Базы данных и системы хранения