Системы кэширования - Hypertable против Memcached

Я хочу реализовать кеш-систему для нашего приложения, мы начали интеграцию с Memcached. Недавно я начал слышать о Hypertable и увидел несколько отличных тестов, сделанных с этим..

Тем не менее, я не мог найти хорошее сравнение между ними.

Просто чтобы разобраться: я знаю, что Hypertable считается ближе к БД, чем к кешу. С другой стороны, это не совсем СУБД - на самом деле, это не СУБД. У него есть свои преимущества, но вопрос в том, стоят ли они стоимости производительности (если есть)?

2 ответа

Решение

Hypertable - это реализация концепций Google BigTable. А именно, столбцово-ориентированная БД, обладающая свойствами высокой денормализации, что означает, что ей не нужны объединения.

Memcached - это слой кэширования в памяти, который действует как распределенная хеш-таблица, предохраняя ваше приложение от необходимости обращаться к реальной БД.

Оба хорошо подходят для распределения и хорошо работают с топологиями стиля MapReduce, но они служат различным целям. Memcached/DHT будет служить для ускорения доступа к данным в памяти, в то время как HyperTable/BigTable являются актуальными механизмами постоянного хранения данных на диске.

Memcached используется для ускорения, например, результатов SQL-запросов, без обращения к БД, путем хранения всего в памяти (RAM).

Hypertable (HBase, Cassandra, MongoDB и т. Д.) И другие являются постоянными хранилищами NoSQL DB (данные, хранящиеся и извлекаемые с жестких дисков). Они не могут дать вам производительность чтения / записи из / в RAM (например, memcached). Таким образом, они не сравниваются друг с другом.

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

Другие вопросы по тегам