The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Mycached - дополнение для организации обращения к MySQL по протоколу memcached

27.08.2009 12:55

В рамках проекта Mycached реализована поддержка протокола memcached для обращения к MySQL базам, т.е. дает возможность обратиться к существующей MySQL базе не через SQL запрос, а через протокол memcached. Проект выступает своего рода противоположностью memcached хранилища к MySQL, позволяющему обращаться к внешнему mymcached серверу через стандартные SQL команды.

По задумке авторов Mycached, прямой запрос ключей из хранилища, позволит оптимизировать скорость выполнения запросов, благодаря пропуску шагов по парсингу SQL и планированию выполнения запроса. При предварительном тестировании, в простейших запросах, обращение по протоколу memcached оказалось в два раза быстрее, чем выполнение стандартных SQL запросов, обеспечив при этом значительное опережение в плане организации параллельных запросов к базе. Mycached позволяет комбинировать гибкость MySQL с высокой производительностью решений подобных MemcacheDB (модифицированная версия memcached с сохранением кэша на диск в Berkeley DB базе).

В настоящий момент Mycached поддерживает только чтение данных (команда get) и прозрачное преобразование записи в JSON представление (добавление постфикса ":json" к запрашиваемому ключу). Возможен вывод нескольких столбцов за один запрос и вывод отдельных столбцов.

  1. Главная ссылка к новости (http://developer.cybozu.co.jp/...)
  2. OpenNews: Стабильный релиз memcached 1.2.8. Новые материалы про memcached
  3. OpenNews: Обзор распределенных хранилищ для данных в форме ключ-значение
  4. OpenNews: Серия публикаций по кешированию при помощи memcached
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/23186-memcached
Ключевые слова: memcached, mysql, json
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (9) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Vadim L. Avramishin (?), 13:40, 27/08/2009 [ответить]  
  • +/
    Идея интересна, но все же сомневаюсь что сейчас даст производительность лучше самого мемкэша. К тому же, идея доставлять любое количество серверов под кэш, - легкая масштабируемость оригинального мемкэш - это очень удобно. Как здесь с этим?
     
     
  • 2.2, csa (??), 13:56, 27/08/2009 [^] [^^] [^^^] [ответить]  
  • +/
    это примочка для доступа в *существующую* базу, а не замена мемкешу

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

     

  • 1.3, Одмин (?), 14:25, 27/08/2009 [ответить]  
  • +/
    эээ, а prepaired statements не решит проблему парсинга?
     
     
  • 2.5, csa (??), 19:18, 27/08/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >эээ, а prepaired statements не решит проблему парсинга?

    а планирование запроса?

     

  • 1.4, Warhead Wardick (?), 18:27, 27/08/2009 [ответить]  
  • +/
    >Mycached позволяет комбинировать гибкость MySQL
    >с высокой производительностью решений подобных MemcacheDB
    >(модифицированная версия memcached с сохранением кэша на диск
    >в Berkeley DB базе).

    "гибкость" говорите :)
    В общем "не то - ни сё", вроде бы как пуля, но чего то дурно пахнет :)
    Гибкость она в SQL, а его потеряли, скорость - она в Berkeley DB, а тут мыскыл ... Вобщем снова "... слона и трепетную лань"  :)


    PS: Чет зацепило :) Прикиньте бизнес логику на протоколе memcaсhed _вместо_ SQL ... %-/ Не-не чур меня! Кэшу - кэшево, базе - базово!

     
     
  • 2.6, csa (??), 19:20, 27/08/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >В общем "не то - ни сё", вроде бы как пуля, но
    >чего то дурно пахнет :)
    >Гибкость она в SQL, а его потеряли, скорость - она в Berkeley
    >DB, а тут мыскыл ... Вобщем снова "... слона и трепетную
    >лань"  :)
    >
    >
    >PS: Чет зацепило :) Прикиньте бизнес логику на протоколе memcaсhed _вместо_ SQL
    >... %-/ Не-не чур меня! Кэшу - кэшево, базе - базово!
    >

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

     

  • 1.7, Cobold (??), 18:35, 28/08/2009 [ответить]  
  • +/
    интереснее узнать какое тут преимущество по сравнению с доступом через handler ?
     
  • 1.8, Александр (??), 17:22, 29/08/2009 [ответить]  
  • +/
    Если лично для Вас данная возможность не нужна/не понятна, это не означает что она не нужна никому.

    У меня есть один сервис использующий в основном memcacheQ/mecacheDB, но периодически подключающийся к MySQL базе. Благодаря данному проекту появилась возможность убрать лишний код и при этом получить двукратный выигрыш по скорости.

    Спасибо, разработчикам. Минус в карму недальновидным критикам.

     
     
  • 2.9, Cobold (??), 12:31, 31/08/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо за пример
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру