фиксированным размером памяти сталкивается с проблемой: слишком маленький кэш снижает производительность, слишком большой — приводит к неоправданным расходам. Эластичное кэширование динамически изменяет размер кэша, рассматривая память как ресурс с линейной стоимостью, зависящей от объёма и времени хранения данных. Задача решается с помощью алгоритма «проката лыж» (ski rental problem), где для каждого фрагмента данных выбирается между «арендой» (хранением с платой за время) и «покупкой» (долговременным хранением). Для прогнозирования оптимального времени жизни (TTL) страницы используется неглубокое дерево решений, которое компилируется в несколько строк C++ и учитывает размер данных, стоимость промаха кэша и тип операции. Внедрение в рабочие серверы Spanner в течение нескольких месяцев показало сокращение затрат на кэш до 35% при росте промахов кэша всего на 2,6%, причём из-за учёта стоимости промахов фактическое влияние на ввод-вывод составило лишь 0,5%. Тесты на публичных трассах с применением различных вариантов алгоритма (включая обучение на первой половине трассы) также подтвердили преимущество эластичного подхода над фиксированными кэшами, особенно при высокой стоимости памяти. Работа выполнена совместно с Тамашем Шарлошем и Рави Кумаром (Google) и представлена на конференции CIDR 2025.