en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

Greenplum secrets🎩

Greenplum secrets🎩

Open in Telegram

The channel about best practice coding for Greenplum / Канал о том как писать оптимальный код в Greenplum. by @smartyru

Show more
683
Subscribers
No data24 hours
-17 days
+130 days
Posts Archive
На заметку Иногда надо константный список превратить в таблу, для чего есть 2 опции :
SELECT regexp_split_to_table('PostgreSQL is powerful', '\s+');
tst
SELECT unnest(ARRAY['apple', 'banana', 'cherry']) AS fruit;

fruit  
--------
 apple
 banana
 cherry

Важное предупреждение Truncate не является MVCC-безопасным. Даже если таблица заблокирована в LOCK EXCLUSIVE для явного Truncate, параллельная сессия после завершения очистки, увидит таблицу пустой. Кстати, в pg_stat_last_operation при Truncate появляется операция с типом VACUUM, обратное места не имеет.

На заметку Как легко "положить" сервер ? Если таблицы вашего запроса распределены без перекосов, достаточно одной большой таблица, которая join-ится по полю x, в котором 95% значений - NULL. Ваш запрос либо не выполнится, либо очень долго, ибо почти вся нагрузка вычисления данного слайса ляжет исключительно на одну ноду, на которую произойдет редистрибуция данных по этому полю. Банально, но я попался в эту ловушку.

День программиста в России отмечался 13 сентября, 256-й день года. Поздравляю всех причастных! Программист ставит на тумбочку перед сном два стакана: один с водой — на случай, если захочет ночью пить, а второй пустой — на случай, если пить он не захочет.

Поганкины палаты, слоновая кость, Индия Забавная история случилась. Обнаружив, что шахматы стоят небрежно, я уточнил у смотри
+2
Поганкины палаты, слоновая кость, Индия Забавная история случилась. Обнаружив, что шахматы стоят небрежно, я уточнил у смотрительницы, бывают ли землетрясения в Пскове, с вероятностью 80% ожидая услышать НЕТ Но мое удивление вызвало ее моментальное изумление, когда я обратил ее внимание на такую небрежную расстановку фигур в начальной позиции, де, зачем же было так торопиться готовившему экспонат Как такое возможно, читалось в ее глазах ??? - Дом Ксендза рядом, озвучил я ей свою версию, наверное духи поигрывают по ночам.

На заметку Как свопнуть 2 переменные без использования третьей (возможно самый быстрый способ) :
a = a XOR b
b = a XOR b
a = a XOR b
p.s. swap ( англ.) - обмен, перекачка, махнуться

26 апр минуло 40 лет Чернобылю. Отсмотрел одноименный сериал Чернобыль. Честно, не для слабонервных. С вер. 80% авторы HBO пытаются убедить зрителя, что триггером взрыва реактора РБМК, рассеявшим радиоактивные обломки на 2600 км² стал концевой эффект стержней СУЗ, те самые 211 диаметром 114 мм из почти карбида бора, что гасят реактор по красной кнопке аварийной защиты АЗ-5, по активации которой мощность реактора стремительно выросла в 100 раз. Почти, потому что на конце стержня СУЗ графит,который почти не поглощает нейтроны от деления урана-235. Собственно, это явление получило название Концевой эффект, вот тут об этом популярно . ( Концевой эффект был обнаружен в 1983 году при физическом пуске реакторов 1-го блока Игналинской АЭС).

А мне вот интересно, сколько вы в сутки шагов проходите, тыс.
Anonymous voting

Совпадение ? Искусственный интеллект впервые в истории набрал максимальные 42 балла из 42 возможных на Международной математической олимпиаде (IMO) в Шанхае, решив все шесть олимпиадных задач. Исторического результата добились передовые модели, включая систему Dots-Note-3.0 от китайской компании Xiaohongshu, а также разработки других ведущих лабораторий. Задачи требуют не просто ответа, а полноценного и строгого математического доказательства. А тем временем PostgresPro, компания Олега Бартунова, увольняет 30% персонала ( из порядка 600 чел )

На заметку И снова повторюсь (писал об этом ранее не раз) join прикладной plpgsql ф-ии с таблой (вью) чревато. Напр., запрос, где ф-я возвращает 100k строк, а вью получения актуального среза SCD2 - 1 млрд, бродкастит больший сет на все ноды кластера, самом собой, создавая дека-терабайтный спилл
select b.account_id, min(a.date_from)
from fn_foo() a
inner join scd2_vw b
on a.id = b.id
group by 1
Всем хороших выходных или отпуска!

Вива Испания, Чемпионы, которые умеют играть в настоящий футбол по наукее, оле-оле-оле, БРАВИИИИИСИМММОООО! Дальше предела! Так держать, красавцы. До встречи на ЧМ Евро 2028!

Чтобы отобрать из таблиц A,B пересекающиеся версии, кодер начального уровне, вполне вероятно, интуитивно напишет условие сопряжения A и B, логично полагая, что версии пересекаются, если начало любой версии A попадает в интервал версии B(либо наоборот)
a.sd between b.sd and b.ed 
OR 
b.sd between a.sd and a.ed
Кодер с опытом знает, что 4 сравнения можно сократить до 2х, т.к. пересечение означает, что начало каждого интервала в A(B) лежит прежде конца интервала в B(A):
a.sd <= b.ed AND b.sd <= a.ed
Если рассмотреть ту же задачку в 2D, то в случае с пересечением квадратов (или прямоугольников), где хотя бы 1 точка фигуры A лежит в B задача почти не прирастает новой сложностью, т.к. редуцируется к 1D по оси Х и Y:
a.sdx <= b.edx AND b.sdx <= a.edx 
AND
a.sdy <= b.edy AND b.sdy <= a.edy
Но вот какая штука, если брать задачу пересечения треугольников( где хотя бы 1 точка B лежит в A), то тут уже не все так очевидно. Точек 3 вместо 4, а энтропия решения задачи их пересечения сильно выросла. Я озадачился, продрав глаза, как логичеси решить этот квест без ИИ, и через пару часов понял, что задача снова сводится к пересечению отрезков. Ларчик открылся просто, если для вершины, скажем X треугольника XYZ протянем 3 отрезка к вершинам треугольника ABC. Тогда очевидно, что X лежит в ABC, если XA,XB,XC не пересечет противоположную ему сторону ABC. И тут уже задача проверить непересечение, напр. XA с противоположной ему BC уже сводится к пересечению проекций 2х отрезков на координатные оси X,Y, т.е.
NOT (least(x.x1,a.x1) <= greatest(b.x2,c.x2) AND least(b.x1,c.x1) <= greatest(x.x2,a.x2)
AND
least(x.y1,a.y1) <= greatest(b.y2,c.y2) AND least(b.y1,c.y1) <= greatest(x.y2,a.y2))
И таких проверок надо сделать 3, для каждой пары отрезков, т.е. 4x3 = 12 условий, отягощенных ф-ями ранжирования, т.к. нам неизвестно для каждого из кандидатов, где начало, где конец ( в контексте задачи с версиями в 1D или просто возрастания координат по осям X,Y) Хотя, если заметить, что факт принадлежности точки треугольнику однозначно вытекает из проверки, что она лежит вне его, то достаточно найти первое пересечение любой стороны треугольника с отрезком антагонистом (XA и BC в нашем примере), и в таком случае, условий выше ( но без NOT ) будет по вероятности в среднем от 1 до 3, т.е. математическое ожидание проверок сократится с 12 до 6. Если говорить про ту же задачу в 3D, то с пересечением кубов опять все достаточно просто, а вот для пересечения пирамид по тому же принципу, где любая вершина пирамиды A находится внутри B сложность возрастает еще, т.к. придется решать задачу пересечения отрезка, одна из вершин которого принадлежит B с треугольником грани антагониста A. Кстати, по ходу, треугольные распасовки в футболе - частое явление у профи. Так чья же энтропия окажется сегодня непобедимее в финале Испании и Аргентины? Сегодня узнаем. p.s. Дайте шуму, у кого тоже есть свои ассоциации ИТ проектов с энтропией

А и Б сидели на трубе, или Вселенная, которую мы выбираем Что написано на краю Вселенной ? Не кантовать. Я долго вынашивал этот пост, и видимо наблюдение за хаосом на футбольных баталиях ЧМ 20026, и попыткой разглядеть за ним четкие структуры, как в шахматах, сподвигло меня на это эссе. Закон неубывания энтропии — один из основных физических законов Вселенной, и кратко звучит так: В изолированной системе энтропия не уменьшается. Если говорить, про ИТ системы, да и кибернетику в целом, то наверное многие согласятся, что будь то замкнутая, или тем более незамкнутая система с кучей вездесущих интеграций, энтропия, т.е. мера хаоса системы стремится выйти из под контроля. Известно, что Энтропия - мера беспорядка и при необратимых процессах она всегда растет. Например, мы разбили бокал - необратимый процесс, энтропия новой системы (осколков) выросла. Кстати, вы знали, что бокал можно разбить пением ? Забавно, но в БД как информационном поле бытия этот закон тоже работает. Мы случайно в транзакции записали лишь 1 запись - дубль в таблицу( разбили бокал), энтропия выросла при мизерных затратах энергии извне. В данном случае, процесс обратим, конечно, но чтобы в этой изолированной системе (читай таблица БД) вернуть энтропию на точку ДО дубля, необходимо затратить энергию гораздо больше, чем на вставку одной записи, оказавшейся дублем. И эта энергия тем больше, чем менее упорядочена структура таблицы, в самом ленивом случае ( низкоэнтропийном уже с т.зр. структуры таблицы), если это просто heap таблица без секций и индексов, Q - энергия, затраченная на работу метлой по очистке дублей коррелирует с размером таблицы, т.к. таблицу надо отсортировать полностью. Конечно, накинуть PK на ключ таблицы можно, чтобы поставить железный заслон дублям, но теперь не только возрастут затраты энергии на фейс-контроль, но и Вселенная наших данных замедлит свою работу. Опять же, молодцы те. кто заботятся о чистоте данных в зародыше, задолго до того, как они постучатся в целевую таблицу. Ну а тем, кто вдумчиво взвешивает, повесить индекс или побить табл-у на партиции вместо - просто браво! Вот еще пример, который вызывает ассоциацию с законом энтропии. Даже когда мы аккуратно вставляем только уникальные строки в zstd таблицу, которое кстати дает лучший коэф-т сжатия , мы тоже каждый раз увеличиваем энтропию больше, чем нам бы хотелось, т.к. если пересоздать таблицу в отсортированном виде, размер ее уменьшится на десятки процентов, как мы помним из https://t.me/c/2228606225/556. И опять, мы затратили энергию извне в изолированной системе (на сортировку), чтобы уменьшить энтропию. Кстати, забавный пример из жизни. Мой банк дает кэшбэк 1%, с округлением в свою пользу. Это значит если я куплю хлеб за 50р, а потом (по забывчивости только в 2й транзакции) молоко за 90, я получу кэшбек 0. Если спланирую покупку, и положу в корзину оба продукта сразу - мой кэшбэк = 1 р. ( 1% от 140 р) Стало быть, если объем данных - синоним энтропии, чем больше объем, тем больше энтропия. Несомненно, на контроль энтропии в ИТ системе затрачивается энергия в виде человеческих (пока ха-ха), и в конечном счете денежных ресурсов. И в заключение, мне хочется проиллюстрировать этот постулат очень простым примером, не совсем про организацию данных, но все же любители математики, надеюсь оценят. Многие из вас, наверняка сталкивались с тривиальной задачкой выборки пересекающихся сущностей из >=2 таблиц, каждая из которых версионна, т.е. имеет период действия, скажем sd,ed.

После эпичного матча за бронзу между Францией и Англией, сегодня нас ждет финал Аргентина - Испания в 20.30 МСК. Что думаете
После эпичного матча за бронзу между Францией и Англией, сегодня нас ждет финал Аргентина - Испания в 20.30 МСК. Что думаете по исходу ?🇦🇷 Месси 🔥, или 🇪🇸Ямаль🙏 ? Голосуем, кто возьмет трофей

На заметку Команда flock в Linux управляет блокировками файлов из скрипта или командной строки. Она предотвращает одновременный запуск нескольких копий скрипта (например, по расписанию в cron) Если скрипт должен предотвращать запуск дубликата, не дожидаясь завершения предыдущего, используется
flock -n /var/run/myscript.lock -c "/path/to/myscript.sh"

Мысль дня Выпил 50 гр виски - сэкономил 7 л бензина

#ЧМ2026#Сенсация Германия слила Парагваю по пенальти!!! 1/16 финала
#ЧМ2026#Сенсация Германия слила Парагваю по пенальти!!! 1/16 финала

Друзья, с 1 июля клиент Telega ( не путать с Telegram ) заглохнет. Я сейчас пишу с десктопа, подцепился через tg ws proxy. В плей маркете этого добра нет, первая ссылка в Гугле на GitHub по запросу tg ws proxy.

Пока засланная казачка Наби продолжает красить фондовый рынок в красный, вопрос любителям зелёной сливы, что любите из красно
Пока засланная казачка Наби продолжает красить фондовый рынок в красный, вопрос любителям зелёной сливы, что любите из красного?

На заметку Завтра дивидендная отсечка у Аренадата. Просто оставлю тут на память в наше турбулентное время.
На заметку Завтра дивидендная отсечка у Аренадата. Просто оставлю тут на память в наше турбулентное время.