|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Доброе утро. Требуется сделать короткую выборку на огормном количестве серверов. Сам запрос выполняется доли секунды, но количество серверов около 100500. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 11:06 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
DBLINK_SEND_QUERY требует DBLINK_CONNECT и DBLINK_CONNECT выполняется поочередно очень долго Как нить можно DBLINK_CONNECT распарралелить на 100500 серверов? Ну или еще мож есть какие-нибудь варианты? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 11:09 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
ssh + скриптик ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 11:26 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Уткъ, посмотрите, не спасет ли вас это . ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 11:48 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Ы2 Уткъ, посмотрите, не спасет ли вас это . гвозди микроскопом. Как уже сказали - "ssh в пакете" решит проблему. Вопрос что потом с результатом запроса делать. Если доп.обработка нужна - тогда скорее всего на питоне что-нибудь городить придется. btw, у ansible есть модуль postgresql_query как раз для таких случаев. Если у ТСа 100500 серверов, то и ansible(или аналоги) быть должны. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 12:15 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
ansible в параллельном режиме выполнения и его модули postgresql_* ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 12:28 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Guzya ssh + скриптик Так и делал, но тут есть недостатки, т.к. все процессы когда их много, одновременно не запускаются, а ждут по очереди. Например, 5 тыс запустилось и 95500 в очереди. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 15:29 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 15:30 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
mefman Ы2 Уткъ, посмотрите, не спасет ли вас это . гвозди микроскопом. Как уже сказали - "ssh в пакете" решит проблему. Вопрос что потом с результатом запроса делать. Если доп.обработка нужна - тогда скорее всего на питоне что-нибудь городить придется. btw, у ansible есть модуль postgresql_query как раз для таких случаев. Если у ТСа 100500 серверов, то и ansible(или аналоги) быть должны. ansible не хотелось бы использовать. резльтат запроса требуется собрать в одну таблицу. А нет способа ускорить\распарралерить DBLINK_CONNECT ? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 15:31 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Если задача не одноразовая, то распихать в крон по серверам, а результат пусть отсылают куда надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 16:18 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Еще такой, НЕ БЕЗОПАСНЫЙ МЕТОД, написать скрипт\программку "исполнитель", который будет запускаться из крон, брать "задание" и выполнять. Пример, имеется некий централизованный сервер, где Вы размещаете "задания на выполнение" (допустим, sql в файле). По крону запускается "исполнитель", который скачивает "задание", выполняет и передает результат куда Вам надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 16:36 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
список серверов + xargs + script который будет подключаться к удаленной бае и укладывать в локальную таблицу результат выполнения ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 18:00 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Уткъ mefman пропущено... гвозди микроскопом. Как уже сказали - "ssh в пакете" решит проблему. Вопрос что потом с результатом запроса делать. Если доп.обработка нужна - тогда скорее всего на питоне что-нибудь городить придется. btw, у ansible есть модуль postgresql_query как раз для таких случаев. Если у ТСа 100500 серверов, то и ansible(или аналоги) быть должны. ansible не хотелось бы использовать. резльтат запроса требуется собрать в одну таблицу. А нет способа ускорить\распарралерить DBLINK_CONNECT ? Тогда на питоне пиши. Там и параллель и асинк. Все что душе угодно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 18:14 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Уткъ DBLINK_SEND_QUERY требует DBLINK_CONNECT и DBLINK_CONNECT выполняется поочередно очень долго Как нить можно DBLINK_CONNECT распарралелить на 100500 серверов? Ну или еще мож есть какие-нибудь варианты? Эта задача уровня приложения а не базы... не надо на базе решить не её задачи... А запрограммировать можно что угодно... но вот лучше вне базы. PS: если вам нечего делать то https://www.postgresql.org/docs/14/contrib-dblink-send-query.html и далее... но что будет если вы попробуете открыть одновременно 100500 async запросов к разным база из 1 коннекта не знают я думаю даже авторы. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 18:56 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
похоже на тех задание для dos атаки) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2021, 20:42 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Maxim Boguk PS: если вам нечего делать то https://www.postgresql.org/docs/14/contrib-dblink-send-query.html и далее... Максим, DBLINK_SEND_QUERY требует DBLINK_CONNECЮ который выполняется последовательно и очень долго ((( Уткъ DBLINK_SEND_QUERY требует DBLINK_CONNECT и DBLINK_CONNECT выполняется поочередно очень долго ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 01:09 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
[quot Maxim Boguk#22415080 Эта задача уровня приложения а не базы... не надо на базе решить не её задачи... А запрограммировать можно что угодно... но вот лучше вне базы. [/quot] Проблема в том, что конечные сервера находятся в другой подсети, даже в разных подсетях и ip пересекаются если делать из одного места. Пожетому подключаюсь к серверу в одной подсети и запуска там все что связано в этой подсетью (100500/5) потом к другому и так несколько раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 01:11 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Уткъ Maxim Boguk PS: если вам нечего делать то https://www.postgresql.org/docs/14/contrib-dblink-send-query.html и далее... Максим, DBLINK_SEND_QUERY требует DBLINK_CONNECЮ который выполняется последовательно и очень долго ((( Уткъ DBLINK_SEND_QUERY требует DBLINK_CONNECT и DBLINK_CONNECT выполняется поочередно очень долго А это уже только на Сях писать если вам асинхронная работа с установкой соединений нужна. libpq асинхронные функции вам в руки. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 10:29 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Maxim Boguk Уткъ пропущено... Максим, DBLINK_SEND_QUERY требует DBLINK_CONNECЮ который выполняется последовательно и очень долго ((( пропущено... А это уже только на Сях писать если вам асинхронная работа с установкой соединений нужна. libpq асинхронные функции вам в руки. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Только "на Сях"? Т.е. c#+Npgsql нельзя использовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 11:08 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Ролг Хупин Maxim Boguk пропущено... А это уже только на Сях писать если вам асинхронная работа с установкой соединений нужна. libpq асинхронные функции вам в руки. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Только "на Сях"? Т.е. c#+Npgsql нельзя использовать? На любом нормальном языке программирования, я думаю. Максим привел один из возможных. C# - это же виндовс, вроде. С постгресом его особо не юзают. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 11:23 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Уткъ Доброе утро. Требуется сделать короткую выборку на огормном количестве серверов. Сам запрос выполняется доли секунды, но количество серверов около 100500. Ты наверное пошутил про их количество? Тут проблема намечается. Не все из них будут в сети в час X. Поэтому нужны координаторы доступности и нужны зеркала. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 11:34 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Уткъ ... Проблема в том, что конечные сервера находятся в другой подсети, даже в разных подсетях и ip пересекаются если делать из одного места. Пожетому подключаюсь к серверу в одной подсети и запуска там все что связано в этой подсетью (100500/5) потом к другому и так несколько раз. ответ студента на экзамене по автоматизации... ЦАП-АЦП-ЦАП-АЦП-ЦАП-ЦАП-АЦП ... Решал практически аналогичную задачу (только не с таким количеством серверов): Есть PROD контур с текущей версией системы, + изолированный MIRROR контур, точная копия (включая IP) для отладки процедуры миграции. Доступ на mirror через терминальный сервер, + рабочий комп, который имеет доступ как к PROD, так и к терминальному серверу. ProxyJump может быть не один 1) набор ssh private/public keys 2) .ssh/config на рабочем компе (p - prod prefix, m - mirror prefix) Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
3) набор скриптов для мониторинга/обслуживания/синхронизации конфигурации с prod на mirror как базы так и системы. Если нужна параллельность, то проблем нет, список/запрос с параметрами подается на xargs: Код: sql 1. 2. 3. 4. 5. 6. 7.
Для win среды, написал бы что-то аналогичное для PowerShell ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 11:43 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Ролг Хупин Maxim Boguk пропущено... А это уже только на Сях писать если вам асинхронная работа с установкой соединений нужна. libpq асинхронные функции вам в руки. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Только "на Сях"? Т.е. c#+Npgsql нельзя использовать? Я не очень знаю что там с реализацией асинхронного соединения с базой и асинхронной работы с запросами. Как оно на libpq делается знаю, а на остальных ЯП - черт его знает (я вообще мало видел языков которые нормально в асинхронную работу с установкой соединения с базой умеют). -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 12:15 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
mefman Ролг Хупин пропущено... Только "на Сях"? Т.е. c#+Npgsql нельзя использовать? На любом нормальном языке программирования, я думаю. Максим привел один из возможных. C# - это же виндовс, вроде. С постгресом его особо не юзают. В том-то и дело, что он привел не один из возможных, он написал "А это уже только на Сях писать" И потом - "C# - это же виндовс" - сегодня это уже не Windows, на NET Core можно делать кроссплатформенные приложения. Ну, и вы понимаете, что это всего лишь эмоции: "особо". Вчера было так, сегодня иначе.Все меняется. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 12:17 |
|
Сделать выборку на огромном количестве серверов
|
|||
---|---|---|---|
#18+
Maxim Boguk Уткъ пропущено... Максим, DBLINK_SEND_QUERY требует DBLINK_CONNECЮ который выполняется последовательно и очень долго ((( пропущено... А это уже только на Сях писать если вам асинхронная работа с установкой соединений нужна. libpq асинхронные функции вам в руки. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru Да, похоже прийдется писать. >асинхронная работа с установкой соединений нужна можете подсказать какие вызовы это смотреть? PQconnectdb вроде так не может... ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2021, 12:19 |
|
|
start [/forum/topic.php?fid=53&startmsg=40123312&tid=1993727]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 136ms |
0 / 0 |