При вводе поискового запроса практически на любом крупном веб-сайте, будь то Amazon, eBay или Facebook, происходит обращение к базе данных. Для ускорения доступа копии часто запрашиваемых данных хранятся веб-серверами локально, чтобы не выполнять поиск по всей базе каждый раз при выполнении запроса. Большую сложность при разработке систем кэширования представляет обеспечение автоматического изменения кэша при модификации данных в основной базе и соответствующее отслеживание взаимозависимостей между данными.

Специалисты Лаборатории компьютерных наук и искусственного интеллекта Массачусетского технологического института разработали TxCache, кэширующую систему нового типа, которая лишена недостатков, возникающих из-за асимметричного извлечения информации, и значительно упрощает разработку кэшей для баз данных. В отличие от обычных систем TxCache является транзакционной: она обеспечивает сохранение взаимозависимостей между данными еще на этапе программирования, автоматически отслеживает изменения и синхронизирует кэш с базой. Как указывают разработчики, отслеживание изменений, вопреки ожиданиям, отнимает сравнительно мало вычислительных ресурсов, и работает транзакционный кэш ненамного медленнее, чем традиционные системы кэширования.

Исследователи однако предупреждают, что ощутимую прибавку в производительности TxCache обеспечивает лишь сайтам, на которых операции считывания (поиска данных в базе) выполняются гораздо чаще, чем операции обновления баз.

Поделитесь материалом с коллегами и друзьями