Анализ альтернативных архитектур управления транзакциями в облачной среде

       

Кэширование


На рис. 5 показано, как можно интегрировать кэширование на уровне сервера баз данных. Кэширование может объединяться с другими архитектурами (разделением, репликацией и распределенным управлением). И снова принцип прост: результаты запросов к базе данных сохраняются специальными серверами кэширования. Обычно эти серверы сохраняют результаты запросов в своей основной памяти (main memory), так что доступ к кэшу оказывается настолько быстрым, насколько это возможно. Соответственно, набор кэширующих серверов обычно называется MemCache. Наиболее широко используемым программным обеспечением (с открытыми исходными текстами), поддерживающим такие распределенные кэши в основной памяти, является Memcached [9].

Как и в случае с репликацией, имеется много разных схем поддержки согласованности кэша при изменениях базы данных. На рис. 5 представлен подход, в котором согласованность кэша контролируется приложением. Этот подход используется в AppEngine компании Google, которая является единственным известным нам поставщиком "облачных" услуг, использующим "ферму" выделенных MemCache-серверов. К сожалению, Google не публикует какие-либо подробности о реализации MemCache.

Кэширование также может помочь в реализации потенциала cloud computing в отношении стоимости и масштабируемости. Для кэширования можно использовать дешевые машины. Кроме того, число кэширующих машин может тривиальным образом увеличиваться и уменьшаться в любой момент времени.

Табл. 1. Общие сведения об "облачных" службах



Содержание раздела