(пример работы протокола HandlerSocket на картинке)
Вступление
В предыдущем проекте возникла потребность в разгрузке базы данных, тогда жизнь и столкнула меня с HandlerSocket`ом.
HandlerSocket — это протокол, реализованный в одноимённом плагине для РСУБД MySQL, позволяющий использовать NoSQL методику для доступа к данным, хранящимся в InnoDB таблицах. Основная причина, по которой используют NoSQL решения — это очень быстрый поиск по первичному ключу.
HandlerSocket оперирует данными без парсинга SQL запроса, что приводит к уменьшению загрузки процессора.
Он поддерживает пакетное выполнение запросов. Можно отправить несколько запросов сразу и получить результат за один раз, что опять же снижает нагрузку на процессор и на сеть.
Протокол HandlerSocket более компактный, чем у mysql/libmysql, что приводит к сокращению нагрузки на сеть.
Подробнее можно почитать здесь:
- Официальный репозиторий;
- Введение в HandlerSocket: описание протокола и расширения php-handlersocket;
- То, что вы хотели знать о HandlerSocket, но не смогли нагуглить;
- Первый опыт работы с Handler Socket & php_handlersocket.
Под катом вас ожидает:
- Новая библиотека для работы с HS, написанная на PHP;
- Сравнение производительности существующих решений + нового;
- Symfony2 bundle для работы с HS;
- Плагины к Munin для мониторинга активности HS;
- Разные мысли вслух и рассказы о «шишках».