Кэширование результата запроса для быстрых приложений баз данных
Пересказ статьи Christopher Jones. Query result caching for fast database applications
Встроенный в базы данных Oracle “Client Result Cache” (CRC) является эффективным, интегрированным, управляемым кэшем, который резко улучшает производительность запросов и существенно снижает нагрузку на базу данных при повторяющихся запросах к по большей части статическим таблицам, таким как почтовые индексы или номера деталей. Никакие изменения в приложениях не требуются. Никакого отдельное промежуточного кэша устанавливать не нужно. CRC доступен для каждого "толстого" клиента, который использует библиотеки Oracle Client, такие как драйверы для Python, Node.js, Go, PHP, Rust, Ruby и Oracle C API. Он также доступен в JDBC. Эта статья демонстрирует пример для Python.
Преимущества кэширования результатов клиента
- Может использоваться без необходимости изменять код приложения.
- Улучшенное время отклика запроса.
- Операторы не посылаются для выполнения в базу данных.
- Лучшая производительность за счет устранения циклов обмена между серверами.
- Улучшенная масштабируемость сервера баз данных за счет экономии ресурсов сервера.
- Автоматически управляемое аннулирование кэша, поддерживающее соответствие кэша изменениям в базе данных.
- Не требуется сервер промежуточного слоя для кэширования.
- Разработчикам не требуется создавать или использовать собственный кэш.