2013-11-08 7 views
0

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

Спасибо!

ответ

1

Memcache

Memcached является простым, масштабируемым ключом на основе кэша, который хранит данные и объекты, где выделенная или запасной RAM доступен для быстрого доступа приложений, не проходя через слои разбора или диск I/О. Для использования вы запускаете команду 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

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

+0

так есть ли менеджер, который отправлять запросы к Memcache или буферного пула? (конечно, если пропустить все запросы, перейдите на диск). Благодарю. Кроме того, в чем смысл использования memcache? Оба memcache он и буфер пула памяти. Почему я не использую всю память для пула буферов? – dykw

 Смежные вопросы

  • Нет связанных вопросов^_^