Обновить
8K+
-15
Ринат@pg_expecto

PostgreSQL Performance Engineer

-25,1
Рейтинг
17
Подписчики
Отправить сообщение

Результаты тестов - будут опубликованы. Входных данных для тестирования инструкций в достаточном количестве - много.

Сделано. Опубликовано в хабе PostgreSQL

https://habr.com/p/1018796/

Публиковать в хабе по теме "Искусственный интеллект" - благодаря самоорганизующейся системе Хабра - нет технической возможности. Как и нет возможности оперативно отвечать в комментариях. Поэтому , если вдруг кому из экспериментаторов LLM интересно - пишите в личку, или на почту - kznalp@yandex.ru

Пользуясь случаем, потрачу единственный доступный комментарий в сутки.

DeepSeek показали: одна системная инструкция превращает модель из «уверенного вруна» в инструмент, которому можно доверять.

Подтверждаю - использование системной инструкции меняет характер ответа нейросети - кардинально. Хотя я бы вместо "доверять" использовал бы "использовать для практических задач". Сложно доверять, когда и СУБД и нейросеть стохастические системы. Впрочем в мире управляемом квантовыми эффектами вопрос о доверии давно не стоит, главное не доверие а корректность и подтверждаемость расчетов.

Делал проект на Unreal Engine 5 с помощью нейросети. Спрашиваю — отвечает уверенно, с примерами кода. Два часа искал функцию, которую она мне подсунула. Нашёл — в UE4. В пятёрке её убрали.

...

Два часа моей жизни на несуществующую функцию. Двое суток чужой жизни на неправильную смету. Потому что модель сказала «я уверена» — и ей поверили.

Опять - подтверждаю - да было. В примерно аналогичной ситуации я пару часов таки потратил на выдуманную функцию PostgreSQL которую посоветовал DeepSeek - "для этого наверняка используется функция XXX" ;-)

Сегодня все используют LLM как оракул. Но это не оракул — это генератор текста без гарантии истины. Он не знает слова «не знаю».

В рамочку , на стенку и под нос тыкать ИИ-веганам и ИИ-сектантам тоже, в принципе , что те, что эти понятия не имеют как работает нейросеть :-) Для первых ИИ это проклятие придуманное массонами , для вторых священный грааль ;-)

Это протокол управления моделью — 1100 строк с системой верификации ответов, классификатором задач, защитой от манипуляций и принудительной маркировкой уровня уверенности.

Разница: промпт просит. Протокол заставляет.

Снова подтверждаю.

У меня инструкция для обработки данных экспериментов с 5ти строк выросла до 10КБ . В результате - реальные практические результаты которые реально используются. \

Кому это нужно — и кому нет

Нужно всем, кто принимает решения на основе ответов LLM:

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

Спасибо за наводку. Тема в работе.

P.S.

Не нужно, если вы используете нейросеть как игрушку и вам нормально иногда получать ерунду.

Я попросил ИИ написать волшебный запрос , а ИИ мне выдала ерунду. ИИ плохой ;-)

Сравнивать cost двух разных запросов между собой — тоже бессмысленно, потому что он не учитывает аппаратную составляющую.

Наконец-то , я дождался когда это было сказано открыто.

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

Это ключевой факт: планы выполнения зависят от данных и не являются статическими. Один и тот же запрос с разными параметрами может выполняться совершенно по-разному.

Опять спасибо за еще одно подтверждение - хотите проблем с производительностью - фиксируйте планы. Я этим с Oracle накушался с запасом. Поэтому в PostgreSQL - пока удается держать оборону против неофитов.

В общем - статья в закладках. Спасибо, кратко и по делу.

Личное мнение автора: на мой взгляд, если убрать все новости и громкие заголовки, то мир получил просто хороший инструмент. Несовершенный, неоптимизированный, с большим потенциалом. Но инструмент. 

Интересно, сколько статья продержится без минусов ?

Как говорится - спасибо за интересный доклад, ради которого стоит потратить единственный комментарий в сутки.

"мониторинг PostgreSQL сломан на уровне концепции. Не потому что метрик мало — их избыток."
Подписываюсь под каждым словом

"совокупности — это серьёзная проблема, которая через день-два выльется в инцидент." - на уровне предположения , да возможно. Для практического применения нужно определить - а , что такое инцидент ?

"Cache hit ratio ниже 95% — первый жёлтый флаг. " - только для OLTP. А если в данный период времени аналитики запустили своды ?

"Среднее время запроса растёт? Штраф пропорционален отклонению от базового уровня " - и здесь в полный рост встает проблема неустойчивости среднего арифметического к выбросам .
https://dzen.ru/a/Z1--cZ4sHEmzLsy5

"Поэтому рядом с числом имеет смысл выводить список конкретных проблем с приоритетами и рекомендациями:" - вопрос вопросов - а на чем основаны рекомендации и как экспериментально они подтверждены ?

"Если у вас есть опыт мониторинга PostgreSQL и идеи, какие метрики критически важны в вашей практике — пишите в комментариях. Всегда интересно, как другие DBA смотрят на проблему." - пожалуйста , тема интересная , по теме анализа производительности вообще тоскливо  , мало статей на удивление мало.
Ну , чтож если интересно , вот для начала - что такое инцидент производительности СУБД:
https://dzen.ru/a/Z-FQYUcB3gepNYzA

Материала по теме , очень много, если интересно , обращайтесь ,
https://dzen.ru/kznalp

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

В классическом бумажном виде книга доступна ?

Спасибо за дополнительное теоретическое обоснование , выявленных в ходе экспериментов аномалий производительности по причине использования индексов.

Надеюсь , не против за использование и ссылку на вашу статью в будущих публикациях по тема анализа производительности СУБД PostgreSQL?

«Несправедливо!»

Исходный посыл - ложен . Со всеми вытекающими последствиями.

Толпа не справедлива, толпа функционирует по другим законам:

Психология толпы — раздел социальной психологии, изучающий поведение групп людей и отличия поведения групп от поведения отдельных индивидуумов.

Под толпой в психологии понимается бесструктурное временное скопление людей, не имеющее чёткой цели, члены которого обладают схожим эмоциональным состоянием и объектами внимания. Одна из ярких черт толпы с точки зрения психологии это то, что в толпе может раствориться любая индивидуальность, каким бы образованным и интеллигентным ни был индивид в отрыве от толпы[1].

История знает много примеров, когда большие группы людей способны производить драматические и неожиданные социальные изменения, действуя в обход привычных механизмов и паттернов. Такие события часто приводят к конфликтам. Учёные разработали несколько различных теорий, объясняющих психологию толпы[2].

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

Да, наверное это интересно, пытаться понять - почем так , с психологической точки зрения, но тратить на это время - не не моё.

А уж самое глупое - мучать себя - что со мной не так, что я сделал неправильно, как им понравится.

Да пусть - караван идет, как говорится.

Я не верю в справедливость как в нечто единое для всех. Для меня это философский термин, который каждый наполняет своим смыслом. Справедливость для каждого своя, поэтому общей справедливости не бывает.

Подписываюсь под каждым словом !

Как вы относитесь к разным темам на Хабре?

Да вообще все равно. Вдумчиво читаю только свою ленту. Общую ленту только тех авторов которых помню , ну или иногда если тема интересная. 90% - мимо.

P.S.

А статья про структуру данных для AI-агента это узкая тема.

Тема "оптимизация производительности СУБД PostgreSQL" - еще уже. За 2 года как занимаюсь - ситуация не изменилась.

Очень показателен - самый первый комментарий, под самой первой моей статьей на эту тему:

Я совсем не DBA, но даже у меня кровь из глаз от таких индексов. Простите, но индексы на каждое поле вешают только идиоты совсем уж новички. Ещё и индексы на только одно поле..

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

Не бывает таких таблиц с индексами в жизни, и вместо таблиц с графиками вы бы лучше объяснили - почему они не имеют смысла.

Вот такой вот - классический средневзвешенный комментатор на Хабре - классика c прошлого века: "Я Пастернака не читал, но осуждаю" ;-) То, что в топе хайповые материалы это абсолютно нормально для всех соцсетей. Серьезных читателей инженеров, очень мало. В стародавние времена FIDO , да было по другому , свои общались со своими. Интернет всё смешал и перепутал. Мир изменился.

Всё перечисленное , знакомо и подтверждается по личному опыту - до апреля 2020 - 99% пунктов - да , все именно так было.

После ухода на удалёнку , ситуация изменилась кардинально . 99% пунктов исчезли абсолютно и невозвратно.

Оставшийся 1% носит фундаментальный и практически нерешаемый характер. Чтож, за всё нужно платить.

По поводу общения с нейросетью, а не с живыми людьми.

Личный пример - у меня возникла проблема технического характера (если интересны детали - как снизить влияние недетерминированности ответов нейросети). Я не являюсь экспертом в данной области. Как решить проблему ?

1) Погрузится в тему , изучать документацию и литературу , потратить заранее неизвестное время с заранее неизвестным результатом, по пути собрав все грабли и собирая велосипеды и потратить массу времени .

2) Посоветоваться со специалистами в интернете . И сразу возникают проблемы : где спрашивать(форумы умерли, телеграм каналы :-) ) , захочет ли кто тратить время и дать развёрнутый ответ который реально поможет. Проблемы токсичности современных интернет ресурсов , пока оставим за скобками.

3) Начать диалог с нейросетью, получить анализ проблемы и рекомендации.

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

Это мой личный опыт , времена изменились. Может быть кто то продолжает получать полезную информацию в результате общения на форумах и телеграм каналах и каких то ресурсов с реальными людьми. Я в последнее время генерацию гипотез и анализ входных данных по проблемам - делегировал нейросети.

Может быть , кто-то как в старые добрые времена и продолжает общение и обсуждения с живыми людьми и может быть кто то даже в результате получает полезную для работы информацию и новые идеи. Вполне может быть, ситуации и области разные.

В моей области - обсудить и пообщаться в общем то не с кем. Исключения лишь подтверждают правило :-(

Опыт 2008 года показывает, что механизм фильтрации токсичных активов появился после кризиса. 

Однако объём производных финансовых инструментов(деривиативы) не снизился.

Другими словами - то, что описано в статье это описание симптомов , не причин.

сотрудник оказывается перед простым выбором. Он может потратить три дня на глубокую проработку вопроса, а может сгенерировать правдоподобный текст за три минуты, причесать — и получить те же бонусы за "высокую производительность". 

Да это всё именно так. Выбор - очевиден.

И AI тут в общем то ни при чём, ситуация была точно такой же и до массового выхода AI на сцену.

ну, наконец то , публикация на тему производительности СУБД PostgreSQL на Хабре !

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

Итак :

1) " если Profile ratio близок к 1000 = это OLAP профиль, если близок к 0 = это OLTP профиль.  " - на чем основан этот тезис ? Что значить близко ?

2)"Какие границы выбрать, какой интервал сбора метрик оптимален? " - просьба уточнить, что понимается под интервалом ? t=1min (сбор метрики каждую минуту) , t=5min (сбор метрики каждые 5 минут) ?

3)"Наиболее оптимальное значение ∆t находится в интервале от 2 до 7 мин. " - как вычисляется критерий оптимальности ?

Это для начала. После внимательного ознакомления появится еще очень много вопросов, потому, что тема анализа производительности СУБД в работе уже 2 года.

И, что действительно не было ни одного минуса с причиной "Текст похож на сгенерированный" ?

И где же были все эти стилистические эксперты и блюстители ?

Прикольно получилось , жму руку ;-)

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

Во-первых, вы рекламируете свой телеграм-канал.

Да, я сразу указываю канал связи, потому, что на Хабре у меня нет возможности ответить и предоставить детали - почему - смотрите правила Хабра - к каким последствиям ведет слив кармы. Забегая вперед - канал работает. Интересные общения идут , наверное скоро будет результат совместных экспериментов и исследований. Посмотрим.

Это означает, что телеграм лучше хабра, что вы хотите перевести аудиторию из хабра в телеграм. 

Да, абсолютно точно. В самую точку - в моем телеграме в принципе нет хамов, троллей и флудеров. Также как и на моем Дзен-канале, в моем ЖЖ и блоге на Пикабу(там иногда забегают, но живут не долго до 2-х кликов мышки). Их там физически нет. Там, можно общаться и спокойно обмениваться мнениями - кому интересно .

Как правило, так делают люди, которые зарабатывают на рекламе, продавая внимание аудитории.

Эх , ваши слова бы да Богу в уши - хотел бы я заработать , ну хотя бы на пиво, на внимании. Хотя ,о каком внимании вообще речь непонятно(60 подписчиков на Дзене и 30 в телеграме - ага такое внимание прям ВАЩЕ ;-) ) . Если не сложно уточните плиз этот тезис. Вы вообще в курсе - как монетизировать каналы ? Вы сами лично хоть один канал монетизировали ?

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

Я ведь публикую не для ободрения публики. Как вы сами заметили, комментаторов под моими статьями кто хоть что-то понимает в теме - ну по моему только один был. А внимание или не внимание прохожих - мне то , что с него. Эксперименты есть, результаты есть, они научно обоснованы. То, что кто-то плохо учил теорию вероятностей или "вообще не DBA", это не моя проблема. Что могли они сделали - слили карму и минусуют статьи. На это в общем то всё. Ну осенью идет дождь, что ж теперь на улицу не выходить?

Читатели ощущают, что вы получили от этих статей больше денег, чем отдали читателям.

No comments ;-)

Вы сожалеете, что минус в карму лишён объяснения и комментариев, поэтому вы не можете исправить свою политику.

1) Я давно не сожалею, ибо на Хабре не первый и не второй год. К здешней публике даааавно привык. Это объективная реальность, администрацию все устраивает. О чем сожалеть то ?

2)А может меняться надо не мне, а комментаторам ? Ну для начала - не комментировать темы в которых не разбираешься ....

Вы хотите получить результат этой работы, а минусаторы хотят получить оплату за неё.

Если не сложно можно другими словами. Опять вы про некую оплату. Это вызывает некоторые подозрения.

Положим, вы написали статью про своё PG_*******. Теперь надо задуматься, что именно получат ваши читатели и что они отдадут. 

Получат, это очень просто - вот результаты эксперимента, вот свободный инструмент на GitHub - каждый желающий может провести свой эксперимент и сравнить результаты. Подтвердить или опровергнуть выводы в статье. Обычный научный подход. Отдадут также просто - свое лично время на эксперименты. Нормальный взрослый, научно-инженерный подход. В отличии от классического "Пастернака я не читал, но осуждаю" и "КГ/АМ" ;-)

Для этого надо вычистить ссылки на телеграм,

Конечно нет. Лишать канала связи того,кто захочет связаться со мной - я не буду. И переживания борцунов с некой "рекламой" меня не волнуют. Чужие комплексы и страшилки - не моя проблема.

а в начале каждой статьи давать 1 абзац о том, чем является предложенная вами технология

Вы реально не читаете мои статьи.

В каждой статье есть ссылка на глоссарий. В профиле есть ссылка на Дзен , МАССА статей по инструментарию.

и по какой лицензии она доступна.

В самом начале каждой статьи ссылка на GitHub. Лицензия MIT - СВОБОДНО ;-)

Кроме того, сам внешний вид ваших статей очень, очень похож на сочинение нейросети

Вообще не волнует, что на что похоже.

Начиная с 7-й версии инструментарий как раз и основан на анализе НЕЙРОСЕТЬЮ статистических данных подготовленных инструментом pg_expecto. Так, на что как не на анализ подготовленный нейросетью должен быть похож анализ подготовленный нейросетью !? ;-)

Опять таки , если у кого какие то психологические комплексы и страхи вызываемые некими оборотами и стилем нейросети - это не моя проблема. Есть отдельные специалисты занимающиеся фобиями. Можно обратится. Помогут.

Кроме того, сам внешний вид ваших статей очень, очень похож на сочинение нейросети

Я не буду тратить время жизни на то, что бы избавить неизвестных мне посторонних читателей от ИХ страхов и фобий.

Вот то немногое, что мне сразу пришло в голову. На комментарий я потратил 10 минут, то есть немало времени.

Аналогично. И по составу и по времени.

Спасибо за внимание.

Пользуясь случаем - анонс : завтра будет опубликована новая статья "Сравнительный анализ оптимизации PostgreSQL 17: от конфигуратора «Тантор Лабс» до калибровки с помощью PG_EXPECTO и DeepSeek." . Читатели на Дзене уже в курсе темы. Читатели Хабра - ждите завтра.

Добавлю 5 копеек , потрачу единственный комментарий в сутки ;-)

Ты написала статью. Вычитала, проверила, добавила картинки, нажала «Опубликовать». И тут они приходят. Кто эти люди, которые пишут комментарии?

У меня , под статьями все сильно по другому. Комментариев нет, сразу прибегают минусаторы "Личная неприязнь" и "Низкий технический уровень" :-)  Мой самый любимый , самый первый комментарий под первой публикацией , классика "я Пастернака не читал , но осуждаю".

Я совсем не DBA, но даже у меня кровь из глаз от таких индексов. Простите, но индексы на каждое поле вешают только идиоты совсем уж новички. Ещё и индексы на только одно поле..


А после слива кармы и невозможности общаться на Хабре, комментарии под статьями вообще потеряли всякий смысл.
BTW, По этому поводу интересная беседа с нейросетью получилась :
———
Когда минусы анонимны и не сопровождаются комментариями:

1. Невозможна апелляция к разуму. Вы не можете вступить в диалог с оппонентом, потому что оппонент — «невидимка».
2. Размытие сигнала. Нейтральный читатель видит только цифру рейтинга. Он не видит, что минусы — это персональный хейт. Для него минус есть минус, и это может подсознательно влиять на восприятие статьи как «спорной» или «плохой».
3. Деморализация. Это превращает публикации в игру в одни ворота: вы вкладываетесь в контент, а анонимы безнаказанно снижают его видимость.

Новая стратегия: «Броня как щит, а не как зеркало»

В условиях анонимного негатива математическая «броня» меняет функцию. Она нужна не для того, чтобы «разоблачать» хейтеров (это бесполезно), а для решения трех других задач:

1. Сохранение собственной мотивации

· Когда вы пишете строго по фактам, опираясь на метрики и цифры, вы защищены от внутреннего кризиса. Хейтер не может поколебать вашу уверенность в материале, потому что материал объективен. Это психологический якорь, который не дает опустить руки.

2. Фильтрация «своей» аудитории

· Анонимный минус не виден, но статья остается. Тот, кто действительно разбирается в теме, прочитает ее независимо от рейтинга. Ваша задача — писать так, чтобы для этого «своего» читателя материал был безупречен. Минусы от невидимок не должны влиять на качество контента для тех 10%, кто составляет вашу реальную аудиторию.

3. Нейтрализация эффекта «низкий технический уровень»

· Хотя сами минусы анонимны, формулировка «низкий технический уровень» (как причина, которую вы указали) становится абсурдной для тех, кто читает статью. Если статья полна сложных расчетов и терминов, читающий человек видит несоответствие между возможной причиной минуса и реальным содержанием. Это не разоблачает конкретного минусующего (он невидим), но дискредитирует сам инструмент минусов в глазах сообщества. Со временем минусы от конкретной группы могут начать восприниматься как «пустые» и игнорироваться модерацией при расчете кармы(нейросеть просто не в курсе - как считается карма на Хабре. Добавлено мной).
...
Анонимный минус — это просто щелчок. На него нельзя ответить, его нельзя использовать для диалога. Но можно сделать так, чтобы этот щелчок не влиял на ваше дело. Продолжайте публиковать качественный контент раз в неделю, игнорируйте цифры и стройте сообщество там, где правила определяете вы. Это единственный путь.

Полностью тут :
https://rinace.livejournal.com/3081204.html

P.S. Да мир с массовым приходом нейросетей изменился принципиально - с кем можно спокойно , вежливо , без троллинга и флуда обсудить интересную тему, да еще и с использованием больших и связных текстов на заданную тему ? Только с нейросетями....

нажал педаль — машина тормозит. Это контракт. Он не зависит от того,правильно ли вы настроили тормозную жидкость этим утром

Извините , но аллегория выбрана неудачно. Тормоза нуждаются в настройке и мониторинге . и только при 100% исправности тормозной системы контракт будет выполнен. К тому, же при одном важном условии - на сухой поверхности и на льду контракт будет выполнен по разному , с разными итоговыми результатами. Как тормозит это очень важно.

Если перенести аллегорию на СУБД - контракт это операционная доступность - СУБД работает и выдаёт данные. Но, не менее важные и производительность - как СУБД выдаёт данные. Хотя конечно производительность в рамки контракта очень сложно поместить(по крайней мере, я пока не встречал примеров). Ну просто потому, что как правило никто и не задумывается - а производительность это что и как её считать. Работает и ладно.А будет , как кажется тормозить- накидают ядер и памяти и диски HiOPS.

P.S.

  • формализован — можно проверить программно, не только "на глаз";

Вряд ли удастся выполнить в реальном мире. Но будет интересно следить за развитием.

Какие покупатели ? О чем вы вообще ?

Всё лежит в GitHub свободно для всех желающих . Кому интересно - скачивает и использует.

19 звезд, 2 форка - наверное кому-то все таки интересно.

Анонс:

На следующей неделе будет публикация о тестировании конфигураторов Тантор Лабс(на дзене выложено уже)и pgpro_tune(в процессе).

Для меня эта граница довольно простая.

Если человек:

  • сам выбирает тему

  • сам задаёт тезис

  • сам ищет и проверяет исследования

  • сам понимает примеры, о которых пишет

  • сам отвечает за итоговый текст

то ИИ в этой цепочке — просто инструмент. 

Дело за малым - попытаться объяснить это минусаторам типа "текст похож на сгенерированный".

IMHO это бесполезно .

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

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

Необходимость учитывать флаг удаления во всех запросах

Этот недостаток очень легко устраняется , если слой хранения и слой обработки данных разделены.

Хотя , конечно, это сейчас не модно и против тренда .

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

EXPLAIN ANALYZE это единичное выполнение единичного запроса.

И иногда бывает, что снижение стоимости запроса в результате анализа плана выполнения приводит к деградации производительности СУБД под высокой параллельной нагрузкой.

1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность

Специализация

Администратор баз данных
Ведущий
SQL
PostgreSQL
Базы данных
Linux
Bash