Агенты (не AI) говорят, что появился черновик (то есть сырая версия до редактуры) второй версии кабанчика.
@ohmydataengineer
@ohmydataengineer
👍10
Forwarded from .
Designing_Data_Intensive_Applications,_Second_Edition_Sixth_Early.epub
7.3 MB
🔥22😢2👎1💩1
Forwarded from Nik в мире данных
Мокаемся в Study & Learn
В OpenAI завезли Study & Learn. Я решил попробовать на o3 модели, можно ли помокаться по SQL
Промпт на входе.
Получился план из 6 задач
===
1. Окна: вторая по выручке дата
Таблица sales(salesperson_id, sale_date, amount). Для каждого продавца вернуть дату второй по сумме выручки за день.
Классическая задача на оконки с агрегатными функциям. GROUP BY, SUM(amount), ROW_NUMBER(), фильтр rown = 2, исключить продавцов с одной датой.
Диалог
Я специально забыл GROUP BY → бот подсказал.
Потом бот спросил, как исключить продавцов с одной датой → добавил COUNT(*) OVER (...) >= 2 Что на самом деле было избыточно, так как rownum покрывал этот юз кейс, на что я указал агенту =)
===
2. Индекс под ORDER BY … LIMIT
Какой индекс стоит использовать
SELECT order_id, total_amount
FROM orders
WHERE customer_id = $1
AND status = 'shipped'
ORDER BY order_date DESC
LIMIT 10;
Варианты индексов
Диалог
- Сначала выбрал D.
- Бот уточнил про сортировку и LIMIT и задал наводящий вопрос по high/low cardinality.
- Перешёл на B — бот подтвердил, что это оптимально, и задал вопрос, надо ли что-то изменять если мы хотим поменять сортировку по order_date по нарастающей и ухудшится ли план, если убрать order_id из индекса
===
3. Теория: write-skew
Формулировка
Пояснить, что такое write-skew на уровне REPEATABLE READ и почему SERIALIZABLE это ловит.
Диалог
Я совершенно не помнил про write-skew и описал lost-update проблему, но затем бот зафоллоапил пример, и уточнил про отличие от lost-update
В рамках SERIALIZABLE обсуждение было про predicate locking
===
4. Рекурсивный CTE: зарплата команды
Таблица employees(emp_id, manager_id, salary), у CEO manager_id is null
Для каждого менеджера посчитать кол-во и сумму зарплат всех подчинённых (прямых и косвенных).
Диалог
Всеми любимые задачи на рекурсию =) Причем эта была не классический top down, а down to top, что было более интересное
Я несколько раз косячил в SQL, и бот поправлял и делал follow-up примерно, как бы это было бы на интервью
===
5. Когда нужен PL/pgSQL
Выбрать, где процедурное расширение уместнее чистого SQL.
Варианты
Диалог
Выбрал B. Бот согласился. Follow up question:
What precaution would you take to avoid bogging down the DB while that PL/pgSQL loop waits on each API call?
===
6. JOIN + агрегаты: завышенная сумма
Формулировка
Дебаг запроса - Problem: Finance says some “total_spent” figures are *too large*.
Тут бот ожидал 4 изменения и переписанный запрос. Бот указаывал опечатки, проверял наличие alias
===
Итог
- Бот ведёт сценарий, даёт ровно столько подсказок, сколько нужно, иногда ожидает избыточного ответа
- После сессии остаётся готовый «черновик» диалога со всеми вариантами и решениями
- Стоит попробовать помокать с чатгпт, особенно если у вас есть готовый список вопросов и / или тематика, которую вы хотите проработать. Однако я думаю, есть и более подходящие агенты (Если кто-то знает какие-нибудь, посоветуйте в комментариях)
В OpenAI завезли Study & Learn. Я решил попробовать на o3 модели, можно ли помокаться по SQL
Промпт на входе.
I want to test my knowledge on SQL, can you prepare test questions for me and work on them with commentary?
Experience level - advanced
Focus area - should cover all aspects
Format & length - mix, it should cover standard 30 minute interview
Получился план из 6 задач
===
1. Окна: вторая по выручке дата
Таблица sales(salesperson_id, sale_date, amount). Для каждого продавца вернуть дату второй по сумме выручки за день.
Классическая задача на оконки с агрегатными функциям. GROUP BY, SUM(amount), ROW_NUMBER(), фильтр rown = 2, исключить продавцов с одной датой.
Диалог
Я специально забыл GROUP BY → бот подсказал.
Потом бот спросил, как исключить продавцов с одной датой → добавил COUNT(*) OVER (...) >= 2 Что на самом деле было избыточно, так как rownum покрывал этот юз кейс, на что я указал агенту =)
===
2. Индекс под ORDER BY … LIMIT
Какой индекс стоит использовать
SELECT order_id, total_amount
FROM orders
WHERE customer_id = $1
AND status = 'shipped'
ORDER BY order_date DESC
LIMIT 10;
Варианты индексов
A. (status)
B. (customer_id, status, order_date DESC, order_id)
C. (order_date)
D. (status, customer_id)
Диалог
- Сначала выбрал D.
- Бот уточнил про сортировку и LIMIT и задал наводящий вопрос по high/low cardinality.
- Перешёл на B — бот подтвердил, что это оптимально, и задал вопрос, надо ли что-то изменять если мы хотим поменять сортировку по order_date по нарастающей и ухудшится ли план, если убрать order_id из индекса
===
3. Теория: write-skew
Формулировка
Пояснить, что такое write-skew на уровне REPEATABLE READ и почему SERIALIZABLE это ловит.
Диалог
Я совершенно не помнил про write-skew и описал lost-update проблему, но затем бот зафоллоапил пример, и уточнил про отличие от lost-update
В рамках SERIALIZABLE обсуждение было про predicate locking
===
4. Рекурсивный CTE: зарплата команды
Таблица employees(emp_id, manager_id, salary), у CEO manager_id is null
Для каждого менеджера посчитать кол-во и сумму зарплат всех подчинённых (прямых и косвенных).
Диалог
Всеми любимые задачи на рекурсию =) Причем эта была не классический top down, а down to top, что было более интересное
Я несколько раз косячил в SQL, и бот поправлял и делал follow-up примерно, как бы это было бы на интервью
===
5. Когда нужен PL/pgSQL
Выбрать, где процедурное расширение уместнее чистого SQL.
Варианты
A. Обновить все строки сложной формулой.
B. Пройти курсором, вызвать веб-API для каждой строки, сохранить ответ.
C. Джойнить три большие таблицы, агрегировать и вернуть отчёт.
D. Ночью обновлять материализованное представление.
Диалог
Выбрал B. Бот согласился. Follow up question:
What precaution would you take to avoid bogging down the DB while that PL/pgSQL loop waits on each API call?
===
6. JOIN + агрегаты: завышенная сумма
Формулировка
Дебаг запроса - Problem: Finance says some “total_spent” figures are *too large*.
SELECT
c.customer_id,
c.name,
SUM(o.total_amount) AS total_spent,
SUM(oi.quantity) AS total_items
FROM customers c
LEFT JOIN orders o
ON o.customer_id = c.customer_id
LEFT JOIN order_items oi
ON oi.order_id = o.order_id
WHERE o.status = 'shipped'
GROUP BY c.customer_id, c.name;
Тут бот ожидал 4 изменения и переписанный запрос. Бот указаывал опечатки, проверял наличие alias
===
Итог
- Бот ведёт сценарий, даёт ровно столько подсказок, сколько нужно, иногда ожидает избыточного ответа
- После сессии остаётся готовый «черновик» диалога со всеми вариантами и решениями
- Стоит попробовать помокать с чатгпт, особенно если у вас есть готовый список вопросов и / или тематика, которую вы хотите проработать. Однако я думаю, есть и более подходящие агенты (Если кто-то знает какие-нибудь, посоветуйте в комментариях)
1👍24❤2
https://dbtips.substack.com/p/the-core-principles-of-robust-data
Казалось бы, очень простые советы, но каждый раз смотря на очередной DWH, я удивляюсь тому, какую мешанину там напридумывали, что это очень тяжело поддерживать.
@ohmydataengineer - канал "🕯 Труба Данных"
Казалось бы, очень простые советы, но каждый раз смотря на очередной DWH, я удивляюсь тому, какую мешанину там напридумывали, что это очень тяжело поддерживать.
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
Substack
The Core Principles of Robust Data Modeling (Part 1)
How to build scalable and reusable analytical models
1❤19
Все, что я люблю, в одной статье: Clickhouse, Tesla, Scalability
Думаю, по скриншоту все понятно 🤪
https://clickhouse.com/blog/how-tesla-built-quadrillion-scale-observability-platform-on-clickhouse
@ohmydataengineer - канал "🕯 Труба Данных"
Думаю, по скриншоту все понятно 🤪
https://clickhouse.com/blog/how-tesla-built-quadrillion-scale-observability-platform-on-clickhouse
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18❤1
Пока идет лето и у меня не то, чтобы очень много мотивации и времени анализировать много материала, вот вам прекрасный, небольшой поток мыслей про анализ и любителей все анализировать. Вы же знаете таких прокрастинаторов? 😏
https://www.thdpth.com/p/why-smart-people-stay-stuck?utm_source=post-email-noscript&publication_id=865472&post_id=169428145
Sophisticated analysis ≠ real change.
Insight feels productive but rarely shifts day-to-day behavior.
Analysis can become a high-tech form of procrastination.
The more beautiful the dashboard, the easier it is to hide from hard decisions.
Action lives elsewhere.
Changing environments, adding friction to bad choices, and enforcing simple rules beat perfect understanding every time.
Set “analysis budgets.”
Limit research time, then force an experiment—momentum > perfection.
Wisdom isn’t knowing, it’s doing.
Measure success in shipped iterations, not completed post-mortems.
@ohmydataengineer - канал "🕯 Труба Данных"
https://www.thdpth.com/p/why-smart-people-stay-stuck?utm_source=post-email-noscript&publication_id=865472&post_id=169428145
Sophisticated analysis ≠ real change.
Insight feels productive but rarely shifts day-to-day behavior.
Analysis can become a high-tech form of procrastination.
The more beautiful the dashboard, the easier it is to hide from hard decisions.
Action lives elsewhere.
Changing environments, adding friction to bad choices, and enforcing simple rules beat perfect understanding every time.
Set “analysis budgets.”
Limit research time, then force an experiment—momentum > perfection.
Wisdom isn’t knowing, it’s doing.
Measure success in shipped iterations, not completed post-mortems.
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
Thdpth
Why smart people stay stuck
How sophisticated analysis becomes sophisticated procrastination
🔥5👍3
Какое-то время назад просил вас пройти опросец про исследование рынка дата-специалистов. Вот результаты https://devcrowd.ru/ds25
@ohmydataengineer - канал "🕯 Труба Данных"
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
Исследование рынка data-специалистов, 2025
DevCrowd вместе с Райффайзен Банком провели исследование рынка data-специалистов
👍11🔥2
Forwarded from Nik в мире данных
Chat Control в EU
Не технический пост (скоро будет!), но из мира pivacy. ЕС планирует вводить отмену сквозного шифрования и начать автоматическое сканирование перс данных. Интересно, на чем планируют обучать модели для контроля👨🦳
Сайт с отслеживанием ситуации https://fightchatcontrol.eu/
Более интересный детальный анализ - https://www.patrick-breyer.de/en/posts/chat-control/
Не технический пост (скоро будет!), но из мира pivacy. ЕС планирует вводить отмену сквозного шифрования и начать автоматическое сканирование перс данных. Интересно, на чем планируют обучать модели для контроля
Сайт с отслеживанием ситуации https://fightchatcontrol.eu/
Более интересный детальный анализ - https://www.patrick-breyer.de/en/posts/chat-control/
Please open Telegram to view this post
VIEW IN TELEGRAM
fightchatcontrol.eu
Fight Chat Control - Protect Digital Privacy in the EU
Learn about the EU Chat Control proposal and contact your representatives to protect digital privacy and encryption.
😢3👍1🔥1
https://spiess.dev/blog/how-i-use-claude-code
Повайбкодим немного?
Внеочередная, но хорошая статья про санитарные нормы использования LLM (конкретно, Клода)
@ohmydataengineer - канал "🕯 Труба Данных"
Повайбкодим немного?
Внеочередная, но хорошая статья про санитарные нормы использования LLM (конкретно, Клода)
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
spiess.dev
How I Use Claude Code
One month ago, I subscribed to Claude Max. I've been using AI agents including Claude Code for some time prior, but with the flat pricing, my…
❤4👍4💩2
https://cloud.google.com/blog/products/data-analytics/committing-to-apache-iceberg-with-our-ecosystem-partners/
Apache Iceberg завезли в Google Cloud. Следующие лет 20 будем говорить, что он помирает как Hadoop 😆
@ohmydataengineer - канал "🕯 Труба Данных"
Apache Iceberg завезли в Google Cloud. Следующие лет 20 будем говорить, что он помирает как Hadoop 😆
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
Google Cloud Blog
Committing to Apache Iceberg with our ecosystem partners | Google Cloud Blog
In partnership with Confluent, Databricks, dbt, Fivetran, Informatica and Snowflake, using Apache Iceberg can help dismantle traditional data silos.
👍14💩2
Насколько Iceberg залез во все просто углы, даже Apache Hive в своем Linkedin на 500 человек рассказал, что Apache Hive 4 из коробки поддерживает Iceberg!😂
@ohmydataengineer - канал "🕯 Труба Данных"
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🥱4
В последнее время я чет не очень много пишу, почему - да не знаю.
Пока вы ждете новых заметок от меня, почитайте другие каналы про данные, например, вот этот. Всегда рад помочь коллегам по цеху маленьким репостом 😏
Пока вы ждете новых заметок от меня, почитайте другие каналы про данные, например, вот этот. Всегда рад помочь коллегам по цеху маленьким репостом 😏
💩2
Forwarded from Детектив данных
Они все лучше меня… 🤦♂️
Круглосуточно обитая в телеграмме, читаю кучу профессиональных блогов.
Все какие-то классные. Энергичные. У каждого свой проект, а то и десять. Этот профессионал из зеленого банка, а этот из красного магазина, пара желтых компаний, разбор на вакансию в синий магазин, в цветной поисковик. Этот чемпион, этот книгу написал. И все вокруг лучше меня. Эта мысль не давала мне покоя и два года назад, когда я только смутно понимал что хочу поменять профессию, и иногда накрывает и сейчас.
И таки недавно получил кучу комментариев, которые писали что и я в какой-то степени смог смотивировать людей, к каким-то переменам. И я подумал, да как же это круто.🤟
В очередной раз понимаю что всегда кто-то будет круче, экспертней и опытней. Но только работа над собой принесёт результат. И не стоит впадать в уныние и апатию, когда что-то не получается и бесконечный поток чужих успехов кажется бурной рекой в которую тебе не войти.
Всё обязательно получится!🍸
#разговоры_о_важном
ПС: я продолжаю какое-то непоследовательное вхождение в профессию и вписался на курс визуализации от дата-журналиста. Посмотрим что из этого выйдет, и обязательно расскажу и вам.
Круглосуточно обитая в телеграмме, читаю кучу профессиональных блогов.
Все какие-то классные. Энергичные. У каждого свой проект, а то и десять. Этот профессионал из зеленого банка, а этот из красного магазина, пара желтых компаний, разбор на вакансию в синий магазин, в цветной поисковик. Этот чемпион, этот книгу написал. И все вокруг лучше меня. Эта мысль не давала мне покоя и два года назад, когда я только смутно понимал что хочу поменять профессию, и иногда накрывает и сейчас.
И таки недавно получил кучу комментариев, которые писали что и я в какой-то степени смог смотивировать людей, к каким-то переменам. И я подумал, да как же это круто.
В очередной раз понимаю что всегда кто-то будет круче, экспертней и опытней. Но только работа над собой принесёт результат. И не стоит впадать в уныние и апатию, когда что-то не получается и бесконечный поток чужих успехов кажется бурной рекой в которую тебе не войти.
Всё обязательно получится!
#разговоры_о_важном
ПС: я продолжаю какое-то непоследовательное вхождение в профессию и вписался на курс визуализации от дата-журналиста. Посмотрим что из этого выйдет, и обязательно расскажу и вам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6💩3❤1🔥1
https://github.com/fortiql/data-forge
Саша один из самых классных инженеров, с которым я работал. Если бы я был снова менеджером - это первый человек, которого я бы нанимал к себе в команду.
Он тут прикольную штуку запилил, большую-большую песочницу разных связанных технологий. С его слов:
В общем, залетайте поиграться!
@ohmydataengineer - канал "🕯 Труба Данных"
Саша один из самых классных инженеров, с которым я работал. Если бы я был снова менеджером - это первый человек, которого я бы нанимал к себе в команду.
Он тут прикольную штуку запилил, большую-большую песочницу разных связанных технологий. С его слов:
𝐃𝐚𝐭𝐚 𝐄𝐧𝐠𝐢𝐧𝐞𝐞𝐫𝐢𝐧𝐠 is not just about learning new tools.
It is about understanding 𝐩𝐚𝐭𝐭𝐞𝐫𝐧𝐬 — pipelines, layers, orchestration, federation — and practicing them until they flow smoothly. Tools change, but principles endure.
I wanted a place to build pipelines, see data move, and try new tech without waiting on corporate infrastructure. A space to polish best practices and experiment with close-to-real flows.
So I'm building 𝐃𝐚𝐭𝐚 𝐅𝐨𝐫𝐠𝐞.
⚙️ A local, open-source modern data stack you can run on a laptop:
Spark · Trino · ClickHouse · Iceberg · Kafka (Schema Registry) · Airflow (3!) · MinIO · Hive Metastore · Superset · JupyterLab
Wired with Docker Compose. Resettable. No cloud bills.
The focus is 𝐟𝐥𝐨𝐰, not just services:
✅ A retail simulator generates realistic events (orders, payments, shipments, customers)
✅ Kafka → Spark Structured Streaming → Iceberg bronze on MinIO
✅ Spark refines bronze → silver → ClickHouse gold
✅ Trino queries across Iceberg, ClickHouse, Postgres in one SQL surface
✅ Superset visualizes. Airflow orchestrates
▶️ To start: docker compose --profile core up -d
Every week I will share what worked, what broke, and what I learned.
I am open to ideas, contributions, and strong opinions on how a lakehouse should feel.
В общем, залетайте поиграться!
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - fortiql/data-forge: Data Forge — a modern data stack playground to practice flows and best practices, not just tools.…
Data Forge — a modern data stack playground to practice flows and best practices, not just tools. Spark, Trino, Kafka, Iceberg, ClickHouse, Airflow, MinIO, Superset — all wired together locally wit...
1🔥40❤9👍9🥱3
https://smartdataconf.ru
Все как всегда, Смартдата остается лучшим источником послушать технические доклады про DE на русском языке и понетворкаться. Я в очередной раз без доклада, потому что ленивая жопа и нет ни сил, ни времени, хотя материала накопилось. Но вам оч советую, особенно учитывая, что программа не замусорена хайпом про AI.
Сам, ввиду георграфических сложностей, буду смотреть онлайн.
(как видите, никаких реферальных ссылок, никто за рекламу мне не платит, пора бы уже запомнить, что я люблю то, что делают ребята, безусловно и меня никто и не просит ничего. Но если вдруг вам нужна скидка - приходите в личку, что-нибудь придумаем, напишем).
@ohmydataengineer - канал "🕯 Труба Данных"
Все как всегда, Смартдата остается лучшим источником послушать технические доклады про DE на русском языке и понетворкаться. Я в очередной раз без доклада, потому что ленивая жопа и нет ни сил, ни времени, хотя материала накопилось. Но вам оч советую, особенно учитывая, что программа не замусорена хайпом про AI.
Сам, ввиду георграфических сложностей, буду смотреть онлайн.
(как видите, никаких реферальных ссылок, никто за рекламу мне не платит, пора бы уже запомнить, что я люблю то, что делают ребята, безусловно и меня никто и не просит ничего. Но если вдруг вам нужна скидка - приходите в личку, что-нибудь придумаем, напишем).
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
SmartData 2025. Конференция по инженерии данных
SmartData 2025 — конференция по инженерии данных. Технические доклады о хранилищах данных, стриминге, data governance, архитектуре DWH и другом, применимые в работе дата-инженера.
👍16❤4💩1
https://www.anthropic.com/engineering/writing-tools-for-agents
Если на волне хайпа вам работодатель ставит задачи "А давайте сделаем наш собственный MCP, чтобы аналитики могли использовать его в работе с данными!", у Anthropic вышла неплохая поясняющая статья про то как писать хорошие тулзы для агентов.... при помощи агентов! (да-да, конечно же, промоутят использование 😃, но не отменяет набора принципов, которые описаны в статье)
@ohmydataengineer - канал "🕯 Труба Данных"
Если на волне хайпа вам работодатель ставит задачи "А давайте сделаем наш собственный MCP, чтобы аналитики могли использовать его в работе с данными!", у Anthropic вышла неплохая поясняющая статья про то как писать хорошие тулзы для агентов.... при помощи агентов! (да-да, конечно же, промоутят использование 😃, но не отменяет набора принципов, которые описаны в статье)
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
Anthropic
Writing effective tools for AI agents—using AI agents
👍10💩1
Forwarded from Oleg K
Уже совсем скоро Smartdata'25, а это значит что там будут свежие результаты опроса State-of-Data, ну а это значит что я призываю всех и каждого не просто принять участие самим, но и распространять информацию об этом.
➡️ Сам опрос тут
пройди сам, приведи троих коллег из соседних компаний :)
зы результаты прошлого года в презентации тут , видос тут
зыы лендос с результатами '24 + сырье в виде arrow(хехе) уже вот-вот на подлете
зыыы доклад с результатами '25 откроем для всех сразу же после конфы
➡️ Сам опрос тут
пройди сам, приведи троих коллег из соседних компаний :)
зыы лендос с результатами '24 + сырье в виде arrow(хехе) уже вот-вот на подлете
зыыы доклад с результатами '25 откроем для всех сразу же после конфы
Google Docs
State of Data 2025: Russian Edition
ℹ️ Приглашаем на второй ежегодный опрос о технологиях и подходах в сфере данных!
Результаты первого опроса в формате презентации доступны тут, а в формате видео тут.
Большое спасибо всем кто принимал участие год назад 🙏
В этом году опрос особенно важен —…
Результаты первого опроса в формате презентации доступны тут, а в формате видео тут.
Большое спасибо всем кто принимал участие год назад 🙏
В этом году опрос особенно важен —…
❤3🔥1💩1
Данные от самого OpenAI, для чего используют ChatGPT.
Мы в пузырике, в общей доле запросов к модели, программирование - всего 4%
@ohmydataengineer - канал "🕯 Труба Данных"
Мы в пузырике, в общей доле запросов к модели, программирование - всего 4%
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😢1
https://medium.com/@thedatainsight/bronze-is-the-battlefield-why-real-data-engineers-start-at-the-source-6eaa16730f0a
Нормально делай - нормально будет! Саша снова насыпал базисной базы, а мне даже добавить нечего.
@ohmydataengineer - канал "🕯 Труба Данных"
Нормально делай - нормально будет! Саша снова насыпал базисной базы, а мне даже добавить нечего.
@ohmydataengineer - канал "
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
Bronze Is the Battlefield: Why Real Data Engineers Start at the Source
Don’t just query downstream tables. Capture events, own lineage, and forge the Bronze layer where data engineering truly begins.
🔥8💩1