advanced

Database cache

Rely on database buffer pools and query caches deliberately instead of hiding missing indexes or bad access patterns. Всегда проговаривайте freshness и invalidation.

БД кеширует внутри через buffer pool горячих страниц в памяти и иногда кеш результатов запросов. Это не замена проектированию — без индексов и full table scan остаются медленными даже с тёплым buffer pool.

Размер buffer относительно working set. Query cache (где есть) помогает повторяющимся идентичным read, но агрессивно инвалидируется при записи. Предпочитайте индексы и read replica для предсказуемого read scaling.

На интервью: buffer pool против слоя Redis, когда индексы важнее кеша, понятие working set.

Типовые ошибки: надежда на кеш БД без индексов; oversized buffer отнимает page cache ОС; query cache при write-heavy нагрузке.

Компромисс — гибкость против сложности: знайте, когда достаточно более простого пути.

Чеклист:

  • Размер buffer pool под working set.
  • Сначала пути доступа и индексы.
  • App cache для горячих данных между запросами.
  • Hit ratio и slow query.