Комментарии 18
Большое спасибо за статью — действительно полезная информация.
Пожалуйста. Просто я не очень люблю, когда есть хорошее решение для чего-либо, и при этом невозможно найти даже мало-мальски толковый «Hello, world!» под него.
Как раз для хранения логов HS больше подходит, если нет auto increment, а лог ведется по дате, допустим. Вставили быстро в лог и забыли. Читать и анализировать можно не HS, а обычными средствами mySQL. Перед чтением — сделали FLUSH TABLE. Инсерты самого mySQL необходимо использовать в случае, если есть какие-либо триггеры или auto increment-поле.
Как показала практика, HS просто замечателен для быстрого копирования громадной части таблицы или разового циклического update большого количества записей на разные значения. И это при том, что изначально он расчитывался явно на insert'ы.
Как показала практика, HS просто замечателен для быстрого копирования громадной части таблицы или разового циклического update большого количества записей на разные значения. И это при том, что изначально он расчитывался явно на insert'ы.
Есть 32+ миллиона записей. На основании switch (if) надо в каждую из них проставить type = вычисляемому в коде значению. Если использовать банальный UPDATE mySQL и при этом апдейтить запись даже по первичному ключу — на глаз (можно даже не считать микросекунды) HS рвет простой mySQL в тряпки.
Для логов лучше использовать специально заточенные под это инструменты. Например, Archive Storage Engine
Спасибо, в закладки. Вы ответили на часть моих вопросов =)
Пожадуйста. Ожидаешь от плагина эмуляцию базовых привычных функций, а получаешь очень интересные последствия. Я сейчас жду и ищу к реализации ActiveRecord для php-handlersocket, потому что, несмотря на свой велосипед, хочется понять, начали люди пользоваться этой штукой (HS) всерьез или нет.
начали еще в декабре прошлого года :)
хорошее дополнение, на некоторые грабли несколько раз спотыкался,
например с автоинкрементом.
некоторые тонкости очень сильно зависят от реализации клиентской либы,
как например, выбор по составному ключу,
по этому советую использовать родной протокол, он очень прстой
и уже эксперементировать с ним.
спасибо за качественные дополнения
хорошее дополнение, на некоторые грабли несколько раз спотыкался,
например с автоинкрементом.
некоторые тонкости очень сильно зависят от реализации клиентской либы,
как например, выбор по составному ключу,
по этому советую использовать родной протокол, он очень прстой
и уже эксперементировать с ним.
спасибо за качественные дополнения
О, в нашем полку ковыряющих HandlerSocket прибыло! Спасибо за статью, такие нюансы очень интересны. Предлагаю организовать группу в GGroups, где будем обсуждать HS и сопутствующие MyNoSQL технологии. Велкам:
groups.google.com/group/handler-socket-ru
groups.google.com/group/handler-socket-ru
попробовал и HS и memcache-innodb из девелоперской сборки.
на key\value операциях скорость одинаковая, однако memcache интерфейс поудобнее, и есть некоторая надежда что в будущих сборках это будет в релизе.
на key\value операциях скорость одинаковая, однако memcache интерфейс поудобнее, и есть некоторая надежда что в будущих сборках это будет в релизе.
>innoDB — транзакционные таблицы, поэтому надо сообщить mySQL, что «все приехало»
Круто, можно транзакции для key-value делать в отличии от мемкэша
Круто, можно транзакции для key-value делать в отличии от мемкэша
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Подводные камни при работе с php-handlersocket