The OpenNET Project / Index page

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

Представлена инфраструктура по организации параллельных вычислений в PostgreSQL

04.05.2015 08:19

В дерево исходных текстов СУБД PostgreSQL приняты изменения с реализацией инфраструктуры для параллельных вычислений, предоставляющей следующие возможности:

  • Удобные процедуры для координирования запуска и завершения работы параллельно выполняемых рабочих процессов;
  • Синхронизация различных внутренних состояний (GUCs, комбинированный маппинг CID, снапшоты транзакций) между лидером группы параллельных работ и непосредственно распараллелеными рабочими процессами;
  • Ограничение вызова различных операций, которые могут привести к внесению некорректных изменений в условиях активного распараллеливания;
  • Доставка уведомлений клиенту через сообщения ErrorResponse, NoticeResponse и NotifyResponse от работающих в параллельном режиме обработчиков.

Дополнительно, можно отметить появление в компании Postgres Professional, в которой работают многие известные отечественные разработчики PostgreSQL, вакансий разработчиков на языке C для работы над ядром СУБД PostgreSQL. Трудоустройство на полный рабочий день в Москве. Работа подразумевает создание новой функциональности ядра СУБД PostgreSQL, участие в Open Source проектах и обеспечение поддержки 3-го уровня (исправление ошибок, поиск и решение проблем). Контакты для связи: obartunov@postgrespro.ru и a.korotkov@postgrespro.ru.

  1. Главная ссылка к новости (http://www.postgresql.org/mess...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42158-postgresql
Ключевые слова: postgresql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (48) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 08:55, 04/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Публикация e-mail в удобном для спам ботов виде крайне способствует засорению персонального почтового ящика.
     
     
  • 2.2, A.Stahl (ok), 09:01, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >Публикация e-mail в удобном для ... виде

    Это называется вежливость.
    Разгадывать ребусы вроде:
    o(a+)(искусство по-английски)unov(коммерческая собака)postgrespro(тчк)ru
    не в кайф. Особенно если действительно надо выйти на связь.

     
     
  • 3.3, Аноним (-), 09:24, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ИМХО, но это точно не вежливость. Вежливость - это когда для резюме кандидатов открывают отдельный e-mail  и, при необходимости, краткий help. А забитый спамом персональный e-mail ведущих разработчиков это, простите, "свинью положили".
     
     
  • 4.13, YetAnotherOnanym (ok), 12:15, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Работал в провайдере, на сайте был открытым текстом адрес support@..., редиректился на мой персональный email, на мой же адрес редиректились hd@, helpdesk@, help@, abuse@, webmaster@, postmaster@ и ещё какие-то, все уже не помню. В день - два-три-пять собщений, пик - около десятка, в основном на русском. После обучения SA переставали проходить и они.
     
     
  • 5.14, pkdr (ok), 12:39, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то rfc5321 как раз требует, чтобы postmaster@ не фильтровался.

    Да и abuse@, ИМХО лучше не фильтровать.

     
  • 3.4, arzeth (ok), 09:25, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Я ребусы (полегче) встречал только на русских сайтах. А так я вижу только типа mail(at)example(dot)com
     
     
  • 4.5, A.Stahl (ok), 09:27, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >mail(at)example(dot)com

    Неужели ты думаешь, что для сборщиков адресов этот адрес хоть как-то отличается от написанного прямым текстом? На улице 21 век, гигагерцовые процессоры и прочие достижения...

     
     
  • 5.22, Аноним (-), 18:17, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    От профессионала спасёт только ещё более крутой профессионал. От скриптидис - спасёт.
    Та же история с ssh. Держать на стандартном 22 порту или перевесить? :)
    Как говаривал старик Шекспирыч:  ту бир ор нот ту бир?!
     
     
  • 6.48, anonimous (?), 18:53, 13/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Та же история с ssh. Держать на стандартном 22 порту или перевесить? :)

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

    добавьте уже один раз в /etc/ssh/sshd_config строку:
    AuthenticationMethods publickey

    и будет вам счастье

     
  • 3.6, arzeth (ok), 09:30, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Это называется вежливость.
    > Разгадывать ребусы вроде:
    > o(a+)(искусство по-английски)unov(коммерческая собака)postgrespro(тчк)ru
    > не в кайф. Особенно если действительно надо выйти на связь.

    Либо вообще можно было бы так сделать: <span class="email">mail ...AAAATTTT... example ...DOOOT... com</span>, а затем с помощью JS сделать нормальный e-mail.

     
     
  • 4.7, Аноним (-), 10:01, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Спам-боты уже сто лет как умеют выполнять JS-скрипты.
     
  • 4.9, Бобазали (?), 10:34, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это называется вежливость.
    > Разгадывать ребусы вроде:
    > o(a+)(искусство по-английски)unov(коммерческая собака)postgrespro(тчк)ru
    > не в кайф. Особенно если действительно надо выйти на связь.
    >Либо вообще можно было бы так сделать: <span class="email">mail ...AAAATTTT... example ...DOOOT... com</span>, а затем с помощью JS сделать нормальный e-mail.

    А можно просто создать отдельный e-mail аналогичный resume@postgrespro.ru и пояснить, что для быстрой связи с Бортуновым О. письмо должно начинаться фразой : "Вниманию Олега Бортунова". Procmail или иной фильтр облегчит жизнь и оператору и Олегу.

    И, возможно, стоит перейти к содержанию новости, форма подачи, похоже получила свою долю внимания.

    Можно привести сравнительный пример выгод использования параллельно выполняемых рабочих процессов.

     
  • 3.11, Генрих Мюллер (?), 11:29, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это называется фсб
     
  • 2.8, Аноним (-), 10:01, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Публикация e-mail в удобном для спам ботов виде крайне способствует засорению персонального
    > почтового ящика.

    А с приходом Яндекса/GMail'а такая проблема как спам еще существует?

     

  • 1.10, Аноним (-), 11:17, 04/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +8 +/
    скажите когда же в postgres уже появиться merge/upsert ???
     
     
  • 2.12, vitalif (ok), 11:39, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    во-во, +100
     
  • 2.15, фыва (?), 16:06, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    http://www.depesz.com/2012/06/10/why-is-upsert-so-complicated/
     
     
  • 3.17, Аноним (-), 16:15, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    это все извращения, локи, ловля исключений. нужно просто сделать нормальный штатный механизм
     
     
  • 4.33, Аноним (-), 23:01, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Займись на досуге.
     
  • 3.36, Roman (??), 23:45, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > http://www.depesz.com/2012/06/10/why-is-upsert-so-complicated/

    Особое удовольствие когда на таблице несколько ограничений уникальности или пр. причин для исключения)

     
  • 2.20, denis111 (ok), 17:05, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    insert into mytable (col1,col2) (select distinct * from (values ('val1','val2')) as tmp (col1,col2) where not exists (select 1 from mytable t where t.col1 = tmp.col1 and t.col2 = tmp.col2))
     
     
  • 3.35, Roman (??), 23:42, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    а апдейт где?
     
     
  • 4.45, PnDx (ok), 15:26, 06/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Строчкой ниже и с теми же полями. Правда, красота? </sarcasm>
    Но реально редко напрягает, т.к. прячется за более высокоуровневым синтаксисом.
     
  • 2.47, rob pike (?), 12:46, 08/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    уже

    https://github.com/postgres/postgres/commit/168d5805e4c08bed7b95d351bf097cff7c

     

  • 1.16, Аноним (-), 16:11, 04/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот интересно, когда появится возможность создавать таблицы в памяти, аналог memory таблиц у MySQL?
     
     
  • 2.18, Аноним (-), 16:17, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    это считай есть, man tablespace
     
     
  • 3.23, Аноним (-), 18:58, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Читал. Это не то.
     
     
  • 4.28, Аноним (-), 20:27, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это то - создай tablespace в tmpfs
     
  • 2.19, фыва (?), 16:17, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В версии 9.1 появились unlogged tables
     
     
  • 3.21, Михрютка (ok), 17:21, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    а они разве какое-то отношение к engine=memory имеют? мне всю дорогу казалось, что нет
     
     
  • 4.25, фыва (?), 19:18, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Имеют, они в разы быстрее обычных, но не журналируются (и не реплицируются). За меньшую скорость относительно таблиц mysql "только в памяти" снимается ограничение на размер. А также переживает не аварийный перезапуск сервера.

    Можно почитать здесь: http://www.depesz.com/2011/01/03/waiting-for-9-1-unlogged-tables/

     
     
  • 5.38, Михрютка (ok), 07:18, 05/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Имеют, они в разы быстрее обычных, но не журналируются (и не реплицируются).
    > За меньшую скорость относительно таблиц mysql "только в памяти" снимается ограничение
    > на размер. А также переживает не аварийный перезапуск сервера.
    > Можно почитать здесь: http://www.depesz.com/2011/01/03/waiting-for-9-1-unlogged-tables/

    ну то есть два разных механизма, как я и думал. по скорости "в разы быстрее" это преувеличение скорее всего, вот человек мерял http://michael.otacoo.com/postgresql-2/unlogged-table-performance-in-postgres и говорит о росте не более 20% на его задаче.

     
     
  • 6.43, фыва (?), 17:56, 05/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >вот человек мерял http://michael.otacoo.com/postgresql-2/unlogged-table-performance-in-postgres и говорит о росте не более 20% на его задаче.

    Так это общее ускорение ответа страниц, отработка запросов к таблицам постгреса ускоряется в разы, особенно при частых вставках.

     
  • 4.34, Аноним (-), 23:02, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > а они разве какое-то отношение к engine=memory имеют? мне всю дорогу казалось,
    > что нет

    Прочитай документацию.

     
  • 2.24, Аноним (-), 19:04, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Тоже по этой причине на MySQL висит несколько проектов. Задавал этот вопрос у них на форуме, на что получил ответ - используй memcached. Вот только тогда поддерживать тогда надо не одну базу, а две, и перекидывать данные из одной в другую одним запросом, как это делается в случае MySQL, не получится.
     
  • 2.26, Аноним (-), 19:27, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем?
     
     
  • 3.27, Аноним (-), 19:39, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Например есть данные, которые вообще нет необходимости писать в пзу, какие-нибудь данные онлайн, например список подключенных абонентов. В некоторых ситуациях можно добавлять и обновлять данные в таблице в памяти и из нее сохранять в таблицу на пзу через какой-то промежуток времени. Это не только ускоряет работу с базой, но и значительно увеличивает срок службы ssd. Таблица в памяти определенно нужная функция, иначеб ее не было в mysql
     
     
  • 4.29, Аноним (-), 20:44, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бгг. "Нетранзакционный DDL - нужная функция, иначе б его не было в MySQL".
     
     
  • 5.31, Аноним (-), 21:30, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Далеко не всегда нужны ACID таблицы и транзакции. В моей практике часто встречались задачи, в которых потеря данных за час-два и даже день несущественна. Особенно учитывая редкость отключения электричества и использование ибп. А транзакции можно обеспечить и на memory движке, просто это осталось в разделе "недоделанное", как и тысячи других вещей.
     
     
  • 6.32, Аноним (-), 21:44, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    http://lmgtfy.com/?q=DDL&l=1
     
  • 4.37, Аноним (-), 00:12, 05/05/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я для такого использую redis, а когда надо с ним заджойнить - redis FDW. Костыль, но отлично работает (только джойнить надо с  CTE на foreign table, иначе redis на каждый id дергается).
     
     
  • 5.39, Аноним (-), 09:06, 05/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Redis быстрая и очень гибкая СУБД. Postre и MySQL стоило бы поучиться у нее. Чего только стоит управляемое прозрачное кеширование в ram..., реляционных аналогов к сожалению не предвидется
     
     
  • 6.42, rob pike (?), 17:42, 05/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    отож.

    > 45% of acknowledged writes were thrown away. To add insult to injury, Redis preserved all the failed writes in place of the successful ones

    https://aphyr.com/posts/307-call-me-maybe-redis-redux

     
  • 6.44, Аноним (-), 22:14, 05/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Основной недостаток redis-а - персистенция через fork(): при большом потоке записей copy-on-write может раздуть процессы до срабатывания oom killer. overcommit_memory проблему решает, но костыль еще тот.
     
  • 2.30, Аноним (-), 20:50, 04/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Всегда было:
    http://www.databasesoup.com/2015/02/running-with-scissors-mode.html
     

  • 1.40, Прохожий (??), 10:29, 05/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем это? Реализовывать процедуры, которые будут в фоне на стороне базы работать?
     
     
  • 2.41, Аноним (-), 16:23, 05/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Как вариант многопоточные хранимки, если например внутри хранимки надо сделать несколько тяжелых запросов, то их можно запустить параллельно
     
  • 2.46, фыва (?), 16:38, 06/05/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Два момента где многопоточность будет рулить:
    1. неблокирующее чтение, в том числе с нескольких физических устройств сразу (для распределенных таблиц), возможно будет и упреждающее чтение
    2. распараллеливание тяжелых запросов где грузится процессор (сортировка, GiST)
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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