Известный американский сервис сравнения цен на товары 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 (//\"http://www.opennet.ru/opennews/art.shtml?num=19563\")