14.21.1 Преимущества плагина InnoDB memcached
В этом разделе описаны преимущества плагина daemon_memcached. Сочетание таблиц InnoDB и memcached обладает преимуществами по сравнению с использованием каждого из них по отдельности.
Прямой доступ к хранилищу
InnoDBпозволяет избежать накладных расходов на обработку и планирование SQL.Запуск memcached в одном адресном пространстве с сервером MySQL позволяет избежать сетевых накладных расходов на передачу запросов туда и обратно.
Данные, записанные с помощью протокола memcached, прозрачно записываются в таблицу
InnoDB, минуя уровень SQL MySQL. Вы можете контролировать частоту записей для достижения более высокой производительности при обновлении некритичных данных.Данные, запрошенные через протокол memcached, прозрачно извлекаются из таблицы
InnoDB, минуя уровень SQL MySQL.Повторные запросы к тем же данным обслуживаются из кэш-пула
InnoDB. Кэш-пул обрабатывает кеширование в памяти. Вы можете настроить производительность операций с интенсивным использованием данных, используя параметры конфигурацииInnoDB.Данные могут быть неструктурированными или структурированными, в зависимости от типа приложения. Вы можете создать новую таблицу для данных или использовать существующие таблицы.
InnoDBможет обрабатывать составление и разбиение значений нескольких столбцов в одно значение элемента memcached, уменьшая количество операций парсинга и конкатенации строк, необходимых в вашем приложении. Например, вы можете сохранить строковое значение2|4|6|8в кэше memcached, аInnoDBразделить значение по разделителю, а затем сохранить результат в четырех числовых столбцах.Передача между памятью и диском выполняется автоматически, упрощая логику приложения.
Данные хранятся в базе данных MySQL для защиты от сбоев, простоев и повреждений.
Вы можете получить доступ к основной таблице
InnoDBчерез SQL для отчетности, анализа, запросов ad hoc, массового загрузки, многоэтапных транзакционных вычислений, операций над множествами, таких как объединение и пересечение, и других операций, соответствующих выразительности и гибкости SQL.Вы можете обеспечить высокую доступность, используя плагин
daemon_memcachedна сервере источника в сочетании с репликацией MySQL.
Интеграция memcached с MySQL предоставляет способ сделать данные в памяти постоянными, поэтому вы можете использовать их для более значительных видов данных. Вы можете использовать больше
add,incrи аналогичные операции записи в вашем приложении без опасений потери данных. Вы можете останавливать и запускать сервер memcached без потери обновлений, внесенных в кэшированные данные. Для защиты от неожиданных простоев вы можете воспользоваться возможностями восстановления после сбоя, репликации и резервного копированияInnoDB.Способ, которым
InnoDBвыполняет быстрые запросы, идеально подходит для запросов memcached к одному элементу. Прямой, низкоуровневый путь доступа к базе данных, используемый плагиномdaemon_memcached, намного эффективнее для поиска по ключу-значению, чем эквивалентные запросы SQL.Функции сериализации memcached, которые могут преобразовывать сложные структуры данных, двоичные файлы или даже блоки кода в хранимые строки, предлагают простой способ получения таких объектов в базу данных.
Поскольку вы можете получить доступ к данным через SQL, вы можете генерировать отчеты, осуществлять поиск или обновление по нескольким ключам и вызывать функции, такие как
AVG()иMAX()на данных memcached. Все эти операции являются дорогостоящими или сложными при использовании memcached в отдельности.Вам не нужно вручную загружать данные в memcached при запуске. Когда приложение запрашивает определенный ключ, значения извлекаются из базы данных автоматически и кэшируются в памяти с помощью
InnoDB.Поскольку memcached потребляет относительно мало ЦП, а его размер в памяти легко контролировать, он может работать комфортно вместе с экземпляром MySQL на одной системе.
Поскольку согласованность данных обеспечивается механизмами, используемыми для обычных таблиц
InnoDB, вам не нужно беспокоиться о устаревших данных memcached или о логике обратного вызова для запроса к базе данных в случае отсутствия ключа.
© 2025 Oracle
Licensed under the GPLv2 License.