Shop.com, Facebook и Nokia открыли свои разработки по кешированию контента

Автор turbo, 26 Декабря 2008, 17:24

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

turbo

Известный американский сервис сравнения цен на товары shop.com, опубликовал под лицензией Apache код системы кеширования контента sccache. Система написана на языке Java и обладает следующими функциями:

    * Поддерживает хранение сверхбольших объектов и ключей;
    * Объекты могут кешироваться как во внутреннем кеше процесса, так и во внешнем, общем распределенном кеше;
    * Возможность горизонтального масштабирования;
    * Объекты могут кешироваться не только в ОЗУ, но и сохраняться на диск;
    * Возможность группировки ключей в кеше, объединение ключей в группы и выполнение операций целиком с группой;
    * Не транзакционный механизм работы;
    * Автоматическая чистка устаревших записей на основе заданного времени жизни (TTL);
    * Отсутствие привязки к определенной платформе;
    * Средняя производительность одного кеширующего сервера около 20 тыс. операций в минуту.

Социальная сеть Facebook тоже открыла свои разработки, связанные с кешированием контента. Доработав стандартный memcached компании удалось увеличить его производительность в 4-6 раз, если ранее memcached демонстрировал возможность обработки 50 тыс. запросов в секунду (UDP), то после применения патчей от Facebook его производительность возросла до 200-300 тыс. запросов в секунду. Также значительно уменьшено потребление памяти, за счет ухода от выделения буфера на каждый коннект к буферизации группы коннектов, обслуживаемых каждой нитью memcached. Дополнительно переработана логика обработки UDP соединений, произведена работа по уменьшению конкуренции при выставлении блокировок и балансировке ввода/вывода по управляющим процессам для уменьшения влияния большого объема прерываний на один CPU. Патч можно найти в git-репозитории Facebook.

Дополнительно можно отметить еще одну разработку - экспериментальное распределенное хранилище данных Ringo. Хранилище Ringo создано в Nokia Research Center, поддерживает языки Си, Erlang, Python и совместимо с map-reduce фреймворком Disco. Система оперирует парами ключ-значение и представляет собой распределенную хеш-таблицу. Основное назначение разработки создание системы для быстрого, приближенного к real-time, извлечения данных небольшого (менее 4Кб) и среднего (менее 100Мб) размера. Главное ограничение - невозможность изменения данных после их помещения в хеш.
http://www.opennet.ru/opennews/art.shtml?num=19563