The OpenNET Project / Index page

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

Pqc и pgwatch - новые инструменты для кэширования запросов и мониторинга PostgreSQL

01.03.2011 23:58

Представлены два новых полезных приложения для PostgreSQL:

  • Pqc (PostgreSQL Query Cache) - система кэширования запросов к PostgreSQL, позволяющая увеличить производительность СУБД при большом объеме типовых запросов в десятки и даже сотни раз. Pqc работает в виде прокси, принимающего запросы от клиентов и транслирующего их к PostgreSQL, результат определенных SELECT-запросов при этом сохраняется в памяти и в случае поступления повторного запроса, если не истек таймаут, данные выдаются из локального кэша.

    Поддерживается задание правил, какие запросы можно кэшировать, а какие нет. Также возможна настройка политики кэширования на основании длительности выполнения запроса или использовании в теле запроса специальных флаговых значений (команды передаются внутри комментария, например, "/* cache: refrash */ SELECT..." или "/* cache: on */ SELECT..."). Код Pqc написан на языке Си и распространяется в рамках лицензии BSD. Для хранения прокэшированных значений используется memcached.

  • Pgwatch - программа для организации мониторинга за работой PostgreSQL 9. Поддерживает отображение динамики изменения параметров через наглядные и интерактивные Flash-графики. Программа отличается простой настройкой и автоматизацией накопления статистики. Код написан на PHP и распространяется под свободной лицензией Artistic (обычно используется в Perl-проектах).

    Среди отслеживаемых параметров: интенсивность дискового ввода/вывода, эффективность внутренних кэшей, нагрузка на систему, число соединений к БД, число транзакций, информация от оптимизатора, доля прямых переборов и сканирований по индексу (Sequential/Index scans) и т.д.



  1. Главная ссылка к новости (http://www.postgresql.org/abou...)
Лицензия: CC-BY
Тип: Интересно / Программы
Короткая ссылка: https://opennet.ru/29761-postgresql
Ключевые слова: postgresql, cache, speed, proxy, optimization, monitoring, pqc, pgwatch
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (29) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Logo (ok), 04:04, 02/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >результат определенных SELECT-запросов при этом сохраняется в памяти и в случае поступления повторного запроса, если не истек таймаут, данные выдаются из локального кэша.

    А если данные были изменены другим пользователем, - ждать таймаута?

     
     
  • 2.2, posixd (?), 04:12, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • –9 +/
    Юзай оракле 11g, там есть result cache, который автоматом инвалидирует кеш запроса, если данные изменились.
     
     
  • 3.3, Logo (ok), 04:28, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Вопрос о Pqc а не Оракле.
     
  • 3.6, Аноним (-), 05:39, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Oracle под дулом пистолета не буду использовать, спасибо - намучался уже.
     
     
  • 4.10, Аноним (-), 09:47, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Oracle под дулом пистолета не буду использовать, спасибо - намучался уже.

    Может, просто учил матчасть плохо? На курсы-то ходил? Доки курил?

     
     
  • 5.19, Sw00p aka Jerom (?), 13:11, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    сертификат мастера получил ?
     
  • 2.4, anonymous (??), 05:20, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Поддерживается задание правил, какие запросы можно кэшировать, а какие нет. Также возможна настройка политики кэширования на основании длительности выполнения запроса или использовании в теле запроса специальных флаговых значений (команды передаются внутри комментария, например, "/* cache: refrash */ SELECT..." или "/* cache: on */ SELECT...").
     
     
  • 3.11, Аноним (-), 09:48, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >>Поддерживается задание правил, какие запросы можно кэшировать, а какие нет. Также возможна настройка политики кэширования на основании длительности выполнения запроса или использовании в теле запроса специальных флаговых значений (команды передаются внутри комментария, например, "/* cache: refrash */ SELECT..." или "/* cache: on */ SELECT...").

    В Оракле это существует более 20 лет и называется хинтами оптимизатора. Которые тоже являются псевдокомментариями. Вот и дошло за 20 лет до постгреса "нововведение", которое так давно сгнило, что даже не воняет уже.

     
     
  • 4.12, agent_007 (ok), 10:20, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот и дошло за 20 лет до постгреса "нововведение", которое так давно сгнило, что даже не воняет уже.

    внешний кэш результатов не имеет к постгресу никакого отношения.

     
  • 4.17, BlessMaster (?), 11:25, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > В Оракле это существует более 20 лет [...] и дошло до постгреса
    > "нововведение", которое так давно сгнило, что даже не воняет уже.

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

     
     
  • 5.26, Аноним (-), 18:07, 13/03/2011 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> В Оракле это существует более 20 лет [...] и дошло до постгреса
    >> "нововведение", которое так давно сгнило, что даже не воняет уже.
    > Умеют же некоторые в одном предложении похвалиться чем-то, и тут же это
    > обосрать до неузнаваемости - так "тонко" протроллить сразу обе стороны.

    Тут хвалиться нечем, собственно. Это действительно более 20 лет существует в Оракле. Но мы же в сторону проприетарщиков пилюем, у нас свой путь, особый. Велосипедами усыпанный густо.

     
     
  • 6.28, BlessMaster (?), 17:16, 28/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Тут хвалиться нечем, собственно. Это действительно более 20 лет существует в Оракле.
    > Но мы же в сторону проприетарщиков пилюем, у нас свой путь,
    > особый. Велосипедами усыпанный густо.

    Существует и что? Появление или отсутствие определённых инструментов само по себе ещё не характеризует систему в целом. А без примеров почему плохо/хорошо, в каких обстоятельствах и с какой целью - разговор бессмысленный.

     
  • 2.7, grafsoft (ok), 07:58, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >результат определенных SELECT-запросов при этом сохраняется в памяти и в случае поступления повторного запроса, если не истек таймаут, данные выдаются из локального кэша.

    Если честно бред какой то,

     
     
  • 3.9, Аноним (-), 09:46, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    А кэширующий сквид - не бред? "Используй голову, Люк."
     
     
  • 4.15, Hety (??), 11:16, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Товарищ не понял. Слово "бред" обычно используют, чтобы отмести идею, которая для произносящего это слово слишком сложна.
     
     
  • 5.20, grafsoft (ok), 18:04, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Товарищ не понял. Слово "бред" обычно используют, чтобы отмести идею, которая для
    > произносящего это слово слишком сложна.

    Тут предлагают заведомо писать кривое приложение для использования костыля.
    И это БРЕД

     
     
  • 6.29, BlessMaster (?), 17:18, 28/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Тут предлагают заведомо писать кривое приложение для использования костыля.
    > И это БРЕД

    "Заведомо" - требует аргументации. Ибо неочевидна заведомость.

     

  • 1.5, Аноним (-), 05:38, 02/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > наглядные и интерактивные Flash-графики

    И неработающие, лол.

     
  • 1.8, Ostrovok (?), 09:20, 02/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    PostgreSQL Query Cache.

    Приветсвуем, ибо для многих небольших вебпроектов станет хорошей заменой мемкеша.

    Pgwatch. Надо бы пощупать, что за зверь.

     
     
  • 2.13, agent_007 (ok), 10:25, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Приветсвуем, ибо для многих небольших вебпроектов станет хорошей заменой мемкеша.

    каким образом ? по желанию клиента pqc  внезапно перестанет хранить данные в мемкэше ?

     
  • 2.16, BlessMaster (?), 11:18, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > PostgreSQL Query Cache.
    > Приветсвуем, ибо для многих небольших вебпроектов станет хорошей заменой мемкеша.

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

     
     
  • 3.18, agent_007 (ok), 11:32, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Скорее не замена, а наоборот, простой способ внедрения, вместо написания соответсвующего расширения в слое абстракции работы с данными, которого может и не быть.

    "соответствующее расширение" всё равно придётся написать, поскольку без него не будет инвалидации кэша. да, оно будет управлять поведением pqc, а не memcached, но это не значит "упрощение".

     
     
  • 4.30, BlessMaster (?), 17:19, 28/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > "соответствующее расширение" всё равно придётся написать, поскольку без него не будет инвалидации
    > кэша. да, оно будет управлять поведением pqc, а не memcached, но
    > это не значит "упрощение".

    Не всегда есть доступ в логику приложения. По очень разным причинам. Ситуация к сожалению распространённая

     
  • 3.21, Остров (?), 22:39, 02/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Посмотрел внимательней.

    Первое - они сами хранят данные в мемкеше.
    Второе - нельзя сбросить все кеши для одной таблицы таблицы.

    Короче не прокатывает... ((

     
     
  • 4.31, BlessMaster (?), 17:20, 28/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Короче не прокатывает... ((

    Тут изначально понятно, что оно для узкого применения.
    Ну и проект, думаю, будет развиваться, если он кому-то нужен - можно им запрос отправить на фичу.

     

  • 1.23, бедный буратино (ok), 06:07, 12/03/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В смысле, а раньше БД этого не умели? Т.е. если я 50000 раз сделаю запрос "SELECT мне вон ту фиговину", то оно 50000 раз сделает одинаковый запрос к базе?
     
     
  • 2.24, Аноним (-), 18:03, 13/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Это умеет не всякая БД. Только промышленные, имеющие SQL-кэш и кэш БД в розницу.
     
     
  • 3.27, zerot (ok), 22:10, 14/03/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > Это умеет не всякая БД. Только промышленные, имеющие SQL-кэш и кэш БД
    > в розницу.

    Интересно, вы не считаете постгрю промышленной БД ? имхо это зря ... Вполне работоспособное и качественная СУБД, наступающая на пятки "собственности Ларри" по возможностям. К счастью для народа купить её и положить под сукно нельзя - тут же выйдут форки
    -
    Я вот тоже использую оракле, но с потрохами очередной "империи зла" не продался, и там где возможно использую постгрю. Подумайте о том, что одна СУБД имеет перспективы, а используя другую - вы просто становитесь высокооплачиваемым и заточенным под определённую "мотыгу" рабом. И когда "такое" начинает ещё и превозносить свои цепи, это напоминает историю иудушки
    -
    Всё это конечно ИМХО, но думаю, что Оракл - хорошая СУБД - должно быть постепенно переработано, преодолено до появления достойных свободных альтернатив. Таков вектор, и именно такой альтернативой является постгря

     
  • 2.32, BlessMaster (?), 17:22, 28/04/2011 [^] [^^] [^^^] [ответить]  
  • +/
    > В смысле, а раньше БД этого не умели? Т.е. если я 50000
    > раз сделаю запрос "SELECT мне вон ту фиговину", то оно 50000
    > раз сделает одинаковый запрос к базе?

    У PostgreSQL очень развитый механизм кеширования. Но фишка кеширования в стороннем продукте через мемкеш - расширение кеша на кластер машин.

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

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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