Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел обрисовывает в общих чертах преимущества и сценарии использования для интерфейса memcached к InnoDB
таблицы,
представленные в Разделе 14.2.9, "Интеграция InnoDB с
memcached". Комбинация InnoDB
таблицы и memcached
предлагают преимущества перед использованием любого:
Необработанная производительность для простых поисков. Прямой доступ к InnoDB
механизм хранения избегает парсинга и планирования издержек SQL.
Работая memcached в том же самом пространстве процесса,
поскольку сервер MySQL избегает сетевых издержек передачи запросов назад и вперед.
Данные хранятся в базе данных MySQL, чтобы защитить от катастрофических отказов, отключений электричества, и повреждения.
Передача между памятью и диском обрабатывается автоматически, упрощая логику приложения.
Данные могут быть неструктурированы или структурированы, в зависимости от типа приложения. Можно сделать все-новую таблицу для данных, или отобразить обработку NoSQL-стиля на одну или более существующих таблиц.
Можно все еще получить доступ к базовой таблице через SQL, для создания отчетов, анализа, оперативных запросов, загрузки объема, операции присвоения, такие как объединение и пересечение, и другие операции, хорошо подходящие для выразительности и гибкости SQL.
Можно гарантировать высокую доступность данных NoSQL при использовании этой функции на главном сервере в комбинации с репликацией MySQL.
Интеграция memcached с MySQL
обеспечивает безболезненный способ сделать данные в памяти персистентными, таким образом, можно
использовать это для более существенных видов данных. Можно поместить больше add
, incr
, и подобные операции записи в Ваше
приложение, не волнуясь, что данные могли исчезнуть в любой момент. Можно возвратить memcached сервер, не теряя обновления, сделанные к
кэшированным данным. Чтобы принять меры против неожиданных отключений электричества, можно использовать
в своих интересах InnoDB
восстановление катастрофического отказа,
репликация, и процедуры резервного копирования.
Путь InnoDB
делает быстрые поиски первичного
ключа, естественное пригодное для memcached запросов
единственного элемента. Прямой низкоуровневый путь доступа к базе данных, используемый memcached плагином, намного более эффективен для поисков
значения ключа чем эквивалентные SQL-запросы.
Функции сериализации memcached, который может повернуть сложные структуры данных, двоичные файлы, или даже кодировать блоки в строки storeable, предложить простой способ получить такие объекты в базу данных.
Поскольку можно получить доступ к базовым данным через SQL, можно представить
доклады, поиск или обновление через многократные ключи, и вызвать функции такой как AVG()
и MAX()
на memcached данных. Все эти операции дороги или сложны с
автономным memcached.
Вы не должны вручную загрузить данные в memcached при запуске. Поскольку определенные ключи требует
приложение, значения получаются от базы данных автоматически, и кэшируются в памяти, используя InnoDB
пул буферов.
Поскольку memcached использует относительно немного ЦП, и его объемом потребляемой памяти легко управлять, это может работать удобно рядом с экземпляром MySQL на той же самой системе.
Поскольку непротиворечивость данных осуществляется через обычный механизм как с
регулярным InnoDB
таблицы, Вы не должны волноваться об устарелых memcached данных или логике нейтрализации, чтобы
запросить базу данных в случае недостающего ключа.