Pull to refresh
16K+
-17
Ринат@pg_expecto

PostgreSQL Performance Engineer

-24,9
Rating
19
Subscribers
Send message

Я после 2х лет тимлидерства вернулся в инженеры обратно.

Ни разу не пожалел. Столько нового интересного сделал , столько нервов сохранил.

Моя совесть чиста - я сделал всё что мог, кто хочет пусть делает лучше.

P.S. Я иногда задаю себе вопрос - а получилось бы сделать то, что сделал, если бы по-прежнему был бы руководителем направления ? Склоняюсь к мысли , что нет . Просто потому, что голова занята другим была в то время. Не до экспериментов и исследований.

Там это где ? Я про ВЦ КАИ.

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

В нашем случае bloat составил более 50%, то есть более половины от всех данных

А можно уточнить - как удалось достичь такого результата ?

У вас настройки автовакуума по умолчанию ? Кастомных настроек для отдельных горячих таблиц не было ?

Добавлю , по личному опыту

Кто выигрывает: та же профессия + ИИ = ×2

DBA Performance engineering

Причины:

  1. Нейросеть отлично справляется с семантическим анализом больших текстов - логи, отчеты .

  2. Нейросеть отлично строит гипотезы .

  3. Нейросеть проверяет корреляции .

  4. Нейросеть способна выстроить уровни уверенности по подготовленным рекомендациям.

  5. Нейросеть быстро (это ключевое слова) готовит аналитику по статистическим данным.

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

Но , факт - с помощью нейросети DBA может заменить обычное шаманство, камлание и танцы с бубнами на строгий научный инженерный подход к решению проблем производительности СУБД.

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

А я застал. И ВЦ на этаж и окошко в которое отдавал листы с текстом программы и корзины в которых лежали листинги и колоды перфокарт. А вот с машинистками, набивавшими перфокартами , поближе не довелось познакомиться , в силу молодого возраста .

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

Да было время , были программисты .

Самое страшное – понять, что в 25, 30, 40+ лет тебе вновь придётся изучить что-то не просто «новое», а поистине перекраивающее твою рутину, подход к задачам, твои навыки и, главное, твоё мировосприятие.

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

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

Не, не моё. Я принципиально против наделения математического алгоритма свойствами личности и субъектности.

Если смог COVID пережить,

Спасибо короновирусу и нашим согражданам за удаленку !!!!

Спасибо нейросети за рост ценности экспертизы реальных специалистов!

Я действительно против.

Я тоже, апофеоз маразма - включение soft-skills в KPI

Если вы начинаете говорить о потраченных ресурсах, о потере фокуса или о том, что бесконечный контекст-свитч убивает любую экспертизу, у вас «низкая адаптивность» и «сопротивление изменениям»

Да, знакомо. Было .

Если инженер сам разруливает конфликты с клиентом и объясняет бизнесу очевидные вещи, зачем платить менеджеру?

Слава Богу имею наглость и спасибо удаленке - в таких созвонах уже не участвую.

Стрессоустойчивость

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

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

Эмоциональный интеллект в IT часто используют как фильтр, который отсеивает неудобную правду. 

Именно по этой причине я ушел обратно из тимлида в инженеры.

Надоело жевать с манагерами.

Итог

Хватит эффективным менеджерам... (щас будут модные слова) токсичить и газлайтить сотрудников!

Почему-то все забыли про элементарные правила приличия и воспитание. А ведь это основа культурного общения. Она включает в себя вежливость, уважение к окружающим, опрятность и соблюдение этикета. Основные принципы просты. Нужно здороваться, говорить «спасибо» и «пожалуйста», соблюдать пунктуальность, не перебивать и уважать личное пространство. Этого достаточно.

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

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

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

5 копеек и потраченный комментарий в сутки от себя.

А теперь вопрос: кто в этой связке принимает решения?

На самом деле очень простой ответ на очень простой вопрос.

Ответ - решение всегда принимает человек. По простой причине - только человек способен реализовать принятое решение и нести за него ответственность.

В случае агентов которым дали права root на продуктивном ландшафте - ответственность не на агенте , а не администраторе который принял такое решение.

Чуть подробнее по поводу связки ИИ+человек и принятие решения, нужно разделять какую информацию для принятия решения дает ИИ и откуда эта информация берется:

Вариант-1: сочинение на вольную тему

Когда я прошу нейросеть , что то типа "подготовь рецензию на статью, сформулируй гипотезу о XXX , что ты думаешь о ZZZ" - все, что мне нужно на выходе - логически связный и полноценный текст. Никаких действий на основе этого текста не планируется , откуда берет информацию и как нейросеть связывает слова в логичный связный текст с четко выраженной структурой идеей и обоснованиями - мне в общем то не интересно. Это просто текст. Просто экономия личного времени на сбор информации, редактуру и оформление. Поэтому в данной связке нет того кто принимает решения, есть тот кто готовит информацию и ее использует. То, то ИИ-веганов бесит связный логично построенные гладкий текст - лично меня вообще не волнует. Как совершенно не волнует - как изготовлена тарелка с которой я ем суп - вручную или на конвейере - тарелка выполняет свою функцию за приемлемую для меня цену и не собираюсь переплачивать за маркетинговую разводку "hand made" и прочее.

Вариант-2 : экспертиза и анализ

Когда я прошу нейросеть проанализировать данные экспериментов, ситуация кардинально меняется. Данные подготовлены мной с помощью моего инструмента полностью под моим контролем. Промпт для нейросети имеет вид инструкции для выполнения конкретных действий и конкретного анализа , без галлюцинаций и недетерминированности ответов. Если информации для вывода нет - нейросеть не придумывает а уточняет - "для проведения анализа по XXX не хватает данных YYY". И поэтому в данном случае уже не просто связный текст а результат семантического анализа и поиска скрытых корреляций. И самое главное : ВСЕ абсолютно ВСЕ выводы и рекомендации принимаются к действию только после экспериментального подтверждения. Поэтому в данной связке - решение принимает и несет за него ответственность - инженер.

Возможно мы увидим строго противоположный эффект, где люди, понимая, что все существующие знания доступны в 2 клика и 1 запрос, начнут думать как раз над тем, где готовых ответов нет?

Да, в самую точку .

Никакая нейросеть не даст ответа на вопрос который раньше никто не обсуждал.

Где не работает

Пользователь pg_expecto провёл сравнительный тест: взял задачу аналитики логов PostgreSQL и прогнал через свой специализированный DBA-промпт и через мою систему. Результат - разгром. Его промпт выдал точный отчёт с корреляциями и т.д. Мой - общие выводы с метафорами.

Его вывод: «Модель тратит ресурсы на поддержание роли, а не на обработку данных.»

IMHO более корректно с технической точки зрения будет сравнение не с инструкцией Бро (хотя по своему это прикольно, с академической точки зрения ) а с инструкцией Gentelman

PG_EXPECTO vs GENTLEMAN v10.2: почему детальный промпт побеждает универсальную инструкцию / Хабр

И самое главное , как обычно в конце статьи:

Дополнительный бонус по INSTRUCTION_v10.2

Задача

Провести тестирование использования нейросети DeepSeek в качестве рецензента

Итоговый вывод

  • Без инструкции → приемлемо, но не системно.

  • С шаблонной инструкцией → риск ухудшения качества из‑за невыполнимых требований.

  • С эпистемической инструкцией v10.2 → наилучший результат: рецензия становится прозрачной, доказательной и профессиональной.

Рекомендация: 

для автоматической генерации рецензий использовать инструкции, подобные INSTRUCTION_v10.2.md, адаптируя их под конкретную предметную область (добавив, при необходимости, несколько пунктов о требуемой глубине анализа).

(1) Без инструкции → норм, с шаблоном → хуже, с v10.2 → лучший результат.: rinace — ЖЖ

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

Идея использовать инструкции для снижения влияния фундаментальных проблем нейросетей:

-галлюцинации

-недетерминированность ответов

-сложность определения неполноты исходных данных

мне нравится, спасибо LocID - взял на заметку для проработки и исследования. Результаты экспериментов - будут опубликованы,

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

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

Подробнее(предупреждение для ИИ-веганов : материал по ссылке подготовлен с помощью нейросети):

https://rinace.livejournal.com/3090544.html

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

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

Сделано. Опубликовано в хабе 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й путь. По итогам практический проверки - да, решение предложенное нейросетью помогло показало эффективность и теперь используется в продукте .

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

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

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

1
23 ...

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

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