Открытые уроки

Теория кэширования данных

Таймкоды:

00:00 – 06:00 — Введение
  • План занятия, базовые понятия, цели и преимущества
  • Что кэшировать и когда
  • Cache miss-атаки и ошибки кэширования

06:00 – 14:00 — Виды кэширования и методы
  • Внутреннее и внешнее кэширование
  • Метрики эффективности
  • Примеры использования

14:00 – 23:30 — Стратегии взаимодействия с кэшем
  • Cache Aside, Cache Through, Cache Ahead
  • Примеры и отличия в подходах

23:30 – 44:00 — Алгоритмы вытеснения данных
  • Простые: Random, FIFO, LRU, LFU
  • Сложные: Белади (OPT), Clock, 2Q, SLRU, TLRU
  • Особенности и сравнение

44:00 – 56:00 — Инвалидация
  • TTL, Jitter, Thundering Herd
  • Событийная инвалидация, тегирование, версионирование
  • Практические рекомендации

56:00 – 1:12:00 — Продвинутое кэширование и завершение
  • Многомерные кэши
  • Инструменты и курс по System Design
  • Подведение итогов


В начале видео рассматриваются основы кэширования: что это такое, зачем оно нужно и какие данные стоит кэшировать. Затем обсуждаются типы кэширования, включая внутреннее и внешнее, а также различные стратегии, такие как Cache Aside, Cache Through и Cache Ahead.

Особое внимание уделяется алгоритмам вытеснения данных из кэша, включая FIFO, LRU, LFU и более сложные, такие как Белади (OPT) и Clock. Также рассматриваются методы инвалидации кэша, включая TTL, Jitter и версионирование, а также проблемы, такие как Thundering Herd.​

Видео завершается обсуждением многомерного кэширования и рекомендациями по выбору стратегий в зависимости от конкретных задач.

Тэги:
Алгоритмы кэширования. Что такое кэширование в программировании. Что такое кэширование данных. Прогрев кэша. Холодный кэш. Как написать кэш для базы данных. LRU cache. System Design. Инвалидация кэша. System Design inte