Memcache vs Buffer Pool в MySQL

В чем разница между memcache и буферным пулом в MySQL? Мне кажется, что оба используют память в качестве буфера / кэша, чтобы уменьшить дисковый ввод-вывод.

Спасибо!

1 ответ

Memcache

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

InnoDB буферный пул

Область памяти, в которой хранятся кэшированные данные InnoDB как для таблиц, так и для индексов. Для эффективности операций чтения большого объема буферный пул разделен на страницы, которые могут содержать несколько строк. Для эффективности управления кешем буферный пул реализован в виде связанного списка страниц; редко используемые данные устаревают из кэша с использованием варианта алгоритма LRU. В системах с большой памятью вы можете улучшить параллелизм, разделив пул буферов на несколько экземпляров буферного пула.

Несколько переменных состояния InnoDB, information_schema столы и performance_schema Таблицы помогают контролировать внутреннюю работу буферного пула. Начиная с MySQL 5.6, вы также можете выгружать и восстанавливать содержимое пула буферов, либо автоматически во время выключения и перезапуска, либо в любое время вручную, с помощью набора переменных конфигурации InnoDB, таких как innodb_buffer_pool_dump_at_shutdown а также innodb_buffer_pool_load_at_startup,

Интеграция Memcache с InnoDB

MySQL 5.6 включает в себя интерфейс NoSQL, использующий встроенный демон memcached, который может автоматически сохранять данные и извлекать их из таблиц InnoDB, превращая сервер MySQL в быстрое "хранилище значений ключей" для операций вставки, обновления или удаления из одной строки. Вы также можете получить доступ к тем же таблицам через SQL для удобства, сложных запросов, массовых операций, совместимости приложений и других преимуществ традиционного программного обеспечения для баз данных.

http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached-benefits.html

http://dev.mysql.com/doc/refman/5.6/en/innodb-memcached.html

Для получения дополнительной информации о memcache см. http://dev.mysql.com/doc/refman/5.0/en/ha-memcached-using.html

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