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.