Pull to refresh

Comments 18

Большое спасибо за статью — действительно полезная информация.
Пожалуйста. Просто я не очень люблю, когда есть хорошее решение для чего-либо, и при этом невозможно найти даже мало-мальски толковый «Hello, world!» под него.
UFO just landed and posted this here
Как раз для хранения логов HS больше подходит, если нет auto increment, а лог ведется по дате, допустим. Вставили быстро в лог и забыли. Читать и анализировать можно не HS, а обычными средствами mySQL. Перед чтением — сделали FLUSH TABLE. Инсерты самого mySQL необходимо использовать в случае, если есть какие-либо триггеры или auto increment-поле.

Как показала практика, HS просто замечателен для быстрого копирования громадной части таблицы или разового циклического update большого количества записей на разные значения. И это при том, что изначально он расчитывался явно на insert'ы.
UFO just landed and posted this here
Есть 32+ миллиона записей. На основании switch (if) надо в каждую из них проставить type = вычисляемому в коде значению. Если использовать банальный UPDATE mySQL и при этом апдейтить запись даже по первичному ключу — на глаз (можно даже не считать микросекунды) HS рвет простой mySQL в тряпки.
UFO just landed and posted this here
А мне непонятно пока.
32 миллиона в цикле перебираются сначала select'ом, затем update на каждую?
Ну мы немного «поумничали» и выбирается селектом через HS по 1000 записей (пробовали обычные mySQL, но взгрустнулось), потом апдейтятся HS-ным же update и все это делает «вжжжжж».
Для логов лучше использовать специально заточенные под это инструменты. Например, Archive Storage Engine
UFO just landed and posted this here
Спасибо, в закладки. Вы ответили на часть моих вопросов =)
Пожадуйста. Ожидаешь от плагина эмуляцию базовых привычных функций, а получаешь очень интересные последствия. Я сейчас жду и ищу к реализации ActiveRecord для php-handlersocket, потому что, несмотря на свой велосипед, хочется понять, начали люди пользоваться этой штукой (HS) всерьез или нет.
начали еще в декабре прошлого года :)
хорошее дополнение, на некоторые грабли несколько раз спотыкался,
например с автоинкрементом.

некоторые тонкости очень сильно зависят от реализации клиентской либы,
как например, выбор по составному ключу,
по этому советую использовать родной протокол, он очень прстой
и уже эксперементировать с ним.

спасибо за качественные дополнения
О, в нашем полку ковыряющих HandlerSocket прибыло! Спасибо за статью, такие нюансы очень интересны. Предлагаю организовать группу в GGroups, где будем обсуждать HS и сопутствующие MyNoSQL технологии. Велкам:
groups.google.com/group/handler-socket-ru
попробовал и HS и memcache-innodb из девелоперской сборки.
на key\value операциях скорость одинаковая, однако memcache интерфейс поудобнее, и есть некоторая надежда что в будущих сборках это будет в релизе.
Спасибо за информацию, буду иметь в виду. Все-таки при работе с HS до сих пор не покидает впечатление, что он получился случайно.
>innoDB — транзакционные таблицы, поэтому надо сообщить mySQL, что «все приехало»

Круто, можно транзакции для key-value делать в отличии от мемкэша
Sign up to leave a comment.

Articles

Change theme settings