Разница между Memcached и Hadoop? - PullRequest
       15

Разница между Memcached и Hadoop?

1 голос
/ 19 октября 2011

В чем принципиальная разница между Memcached и Hadoop? Кажется, Microsoft делает memcached с Windows Server AppFabric.

Я знаю, что memcached - это гигантская функция хеширования значения ключа, использующая несколько серверов. Что такое hadoop и чем он отличается от memcached? Используется ли он для хранения данных? объекты? Мне нужно сохранить гигантские объекты в памяти, но, похоже, мне нужен какой-то способ разделения этих гигантских объектов на «куски», о которых говорят люди. Когда я смотрю на разбиение объекта на байты, кажется, что Hadoop выскакивает.

У меня гигантский класс памяти с объемом памяти более 100 МБ. Мне нужно скопировать этот объект, кэшировать этот объект некоторым способом. Когда я смотрю в кеширование этого объекта-монстра, мне кажется, что мне нужно разделить его так, как это делает Google. Как Google делает это. Как Хадооп может помочь мне в этом отношении. Мои объекты не являются простыми структурированными данными. Он имеет ссылки вверх и вниз по классам внутри и т. Д.

Любая идея, указатели, мысли, догадки полезны.

Спасибо.

Ответы [ 4 ]

4 голосов
/ 26 октября 2011

memcached [http://en.wikipedia.org/wiki/Memcached] - это технология сфокусированного распределенного кэширования.

apache hadoop [http://hadoop.apache.org/] - платформа для распределенной обработки данных, ориентированная на масштаб Google / Amazon.много террабайт данных.Он включает в себя подпроекты для различных областей этой проблемы - распределенная база данных, алгоритм распределенной обработки, отчетность / запросы, язык потока данных.

Две технологии решают разные проблемы.Один из них предназначен для кэширования (маленьких или больших элементов) в кластере.И второе - для обработки крупных элементов в кластере.На ваш вопрос звучит так, будто memcached больше подходит для вашей проблемы.

1 голос
/ 19 октября 2011

Memcache не будет работать из-за его ограничения на стоимость сохраняемого объекта. memcache faq .Я где-то читал, что этот лимит можно увеличить до 10 МБ, но я не могу найти ссылку.

В вашем случае я предлагаю попробовать mongoDB. mongoDb faq .MongoDB может использоваться как альтернатива memcache.Он предоставляет GridFS для хранения больших файловых систем в БД.

0 голосов
/ 26 октября 2011

Вам нужно использовать чистый Hadoop для того, что вам нужно (без HBASE, HIVE и т. Д.).Механизм уменьшения карты разделит ваш объект на множество кусков и сохранит его в Hadoop.Учебник для Map Reduce: здесь .Однако не забывайте, что Hadoop - это, в первую очередь, решение для больших вычислений и хранения.В вашем случае я бы также порекомендовал проверить Membase, который является реализацией Memcached с дополнительными возможностями хранения.Вы не сможете отобразить уменьшение с помощью memcached / membase, но они все еще распределены, и ваш объект может быть кэширован облачным способом.

0 голосов
/ 26 октября 2011

Выбор хорошего решения зависит от требований предполагаемого использования, скажем, разницы между хранением юридических документов навсегда бесплатной музыкальной службой. Например, могут ли объекты быть воссозданы или они уникальны? Будут ли они требовать дальнейших этапов обработки (например, MapReduce)? Как быстро должен быть извлечен объект (или его часть)? Ответы на эти вопросы сильно повлияют на набор решений.

Если объекты могут быть воссозданы достаточно быстро, простое решение может заключаться в использовании Memcached, как вы упомянули на многих машинах, в общей сложности достаточно оперативной памяти. Чтобы добавить к этому настойчивость позже, CouchBase (ранее Membase) стоит того, чтобы его посмотреть и использовать в производстве для очень больших игровых платформ.

Если объекты НЕ МОГУТ воссоздаться, определите, не будут ли S3 и другие поставщики облачных файлов соответствовать требованиям на данный момент. Для доступа с большим количеством пользователей рассмотрите одно из нескольких распределенных, параллельных, отказоустойчивых решений файловой системы: DDN (имеет GPFS и блеск), Panasas (pNFS). Я использовал снаряжение DDN, и его цена была лучше, чем у Panasas. Оба предоставляют хорошие решения, которые гораздо более поддерживаются, чем DIY BackBlaze .

Существует несколько в основном бесплатных реализаций распределенных параллельных файловых систем, таких как GlusterFS и Ceph , которые набирают обороты. Ceph рекламирует S3-совместимый шлюз и может использовать BTRFS (будущая замена Luster; приближается к производству). Архитектура и презентации Ceph . Преимущество Gluster - возможность коммерческой поддержки, хотя может быть поставщик, поддерживающий развертывание Ceph. HDFS Hadoop может быть сопоставимым, но я не оценивал его в последнее время.

...