Telegram Web Link
В мае этого года прошла самая большая конференция по Python - PyCon US 2024. К сожалению, уже несколько лет подряд доклады с этой конференции выходят с большой задержкой. Этот год не стал исключением. Буквально только неделю назад стали доступны большинство докладов для просмотра на Ютубе. Плейлист всех видео смотрите тут. Я же выделю наиболее релевантные доклады для нас:

Cheuk Ting Ho: PyO3 101 - Writing Python modules in Rust
3-х часовой туториал по написанию расширений на Rust для Python.

Yan Yanchii: Pointers in Python
Солидный туториал для любителей покопаться в "кишках" Питона.

Renne Rocha: Gathering data from the web using Python
Трёхчасовой туториал про веб-скрейпинг на Scrapy. Начинающим дата инженерам может быть весьма полезен.

Aya Elsayed, Rhythm Patel: No More Raw SQL: SQLAlchemy, ORMs & asyncio
Воркшоп по SQLAlchemy. Полезно, если у вас небольшой опыт с ORM, в частности с алхимией.

Reuven M. Lerner: Times and dates in Pandas
Доклад про работу со временем и датами в pandas. Полезно, взял фишечки для себя, хотя в последнее время не так часто работаю с pandas для анализа данных.

Lynn Root: The Design of Everyday APIs
Полезный доклад для разработчиков публичных библиотек, да и не только публичных. Удобство и красота реализации интерфейсов программ.

Sebastian Buczyński: Having fun with pydantic and pattern matching
Обзор фишечек при работе с pydantic и сопоставлениями по шаблону.

Alex Monahan, Gabor Szarnyas: Python and SQL: Better Together, Powered by DuckDB
Про DuckDB, Python и SQL на стероидах.

David Hewitt: How Python Harnesses Rust through PyO3
Про Rust в экосистеме Python от автора PyO3.

Ссылка на полный плейлист докладов.
Ребята из Supabase не перестают радовать! 😲

На днях в сети появился новый сервис от Supabase: https://postgres.new. Это data modeling сервис на базе Postgres со встроенным AI ассистентом. Запуск Postgres прямо в браузере возможен благодаря https://pglite.dev/. Это облегчённая версия Postgres, упакованная в WASM.

Целевая аудитория сервиса:

— аналитики данных
— дата инженеры
— студенты, изучающие реляционные базы данных, в частности PostgreSQL
— разработчики, разрабатывающие схемы таблиц

Пример работы с сервисом смотрите на Ютубе.
Open Source Amazon SQS

Хочу поделиться с вами интересной находкой — smoothmq. Это полностью совместимая с Amazon SQS очередь на базе SQLite, написана на Go. Я активный пользователь Amazon SQS, это очень удобный и надёжный сервис для организации коммуникации между распределенными системами, и практически бесплатный, за первый миллион запросов в месяц вы ничего не платите.

И вот в сети появился Open Source аналог, который можно использовать в своих проектах. Единственный его минус — SQLite, который непросто масштабировать на несколько машин, а значит ни о какой надёжности пока речи и нет. Попытки масштабировать SQLite есть, и я о них ранее писал. Например, это проект rqlite от инженера из Google, или Litestream.

Автор, кстати, решил монетизировать свой продукт, запустив на его базе SaaS: https://smoothmq.com/. Правда по цене дороговато выходит.
Get or Create средствами базы данных

У Haki Benita в блоге нашел статью про реализацию функции get_or_create средствами PostgreSQL — How to Get or Create in PostgreSQL: and why it is so easy to get wrong
Отличная статья, мне нравится, что автор использует пошаговый подход и объясняет на каждом этапе какую проблему решает. На первый взгляд может показаться, что нет никаких проблем реализовать Get or Create, но дьявол в мелочах. Рекомендую к прочтению, есть вероятность такой вопрос встретить в будущем на собеседованиях.
Специализация по Data Engineering на Coursera

29 августа 2024 года на учебной платформе Coursera стартует специализация по дата инжинирингу от DeepLearning.AIDeepLearning.AI Data Engineering Professional Certificate. Инструктором на курсах будет Joe Reis, известный в узких кругах как автор книги Fundamentals of Data Engineering, издательство O'Reilly.

Обучение рассчитано на 3 месяца, целевая аудитория Intermediate-level специалисты. В специализацию входит 4 курса:

— Introduction to Data Engineering
— Source Systems, Data Ingestion, and Pipeline
— Data Storage and Queries
— Data Modeling, Transformation, and Serving

Обучение платное как и большинство специализаций на Coursera, но есть возможность залететь на trial-период, он поможет понять стоит ли продолжать обучение дальше или сделать dropout.

Более подробно о программе узнайте по ссылке.
GIL и Python

Python, пожалуй, самый популярный язык программирования в дата инжиниринге несмотря на то, что его постоянно ругают за производительность и обжорство. Свои позиции он не сдал чего не скажешь, например, о Scala ☠️

Python своей "тормознутостью" отчасти обязан некогда архитектурному решению под названием GIL. Многие слышали эту аббревиатуру, но не все знают причину по которой появился GIL и как он работает под капотом. Если вам это интересно, то держите отличный доклад на русском языке: Зачем нужен GIL и как от него избавиться? от Евгения Афанасьева.

В Python версии 3.13, релиз которой будет уже в октябре, добавили опциональную возможность отключить GIL 😲, нюансы описаны в PEP-703. И про это есть в докладе у Евгения.

В общем, must watch
Релиз Apache Airflow 2.10

Сегодня вышел релиз новой версии Apache Airflow — 2.10. Не успел я ещё перейти на 2.9, а нам подогнали 2.10. Что нового?

@skip_if и @run_if декораторы, позволяющие задавать условия при которых следует запускать или пропускать`task`
— появилась возможность задавать разный Executor для tasks в рамках одного DAG
— Датасеты отныне не триггерят DAGs, находящиеся в состоянии paused
Важно! Начиная с версии 2.10 Airflow по-умолчанию собирает телеметрию в рамках Open Source Marketing, все данные передаются в систему аналитики Scarf. Чтобы отключить, необходимо задать в конфиге [usage_data_collection]enabled=False либо через переменную окружения SCARF_ANALYTICS=false

С полным списком изменений можно ознакомиться по ссылке.
Мудрые слова!

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

Наиболее популярные паттерны распределенных транзакций:

Saga Pattern
2-Phase Commit
Недавно я постил доклад про GIL и его отключение в будущих версиях Python. Вчера же на канал PyCon US загрузили доклад от Юры Селиванова про сабинтерпретаторы: Overcoming GIL with subinterpreters and immutability. Это один из вариантов улучшения производительности Python без отключения GIL. Я сам не сторонник удаления GIL, т.к. параллельное выполнение потоков потребует от программиста следить за их синхронизацией, чем собственно сейчас занимается GIL (он же mutex), поэтому интересно было послушать его доклад.

Для тех, кто в танке, PEP 734 описывает работу сабинтерпретаторов, релиз этой библиотеки планировался в составе Python 3.13, но, к сожалению, Steering Council в апреле этого года решил не включать модуль interpreters в stdlib, мотивировав тем, что модулю надо "настояться" в качестве отдельного PyPI пакета. Решение не осуждаю, поэтому пробуйте его на вкус через pip, правда работает только с 3.13+.
В сети появился интересный проект — SlateDB. Это встроенное хранилище на базе LSM Tree, но все данные хранятся на Object Storage сервисах (Amazon S3, Google Cloud Storage, minIO и т.д.). Проект написан на Rust, и пока не существует биндингов на другие языки. SlateDB активно разрабатывается и пока не рекомендуется к использованию в продакшене.

Судя по всему, проект появился в результате прохождения мини-курса Mini-LSM.
Бот-помощник для дата инженера 🤖

Частенько возникает необходимость расшифровать расписание crontab-выражения на человеческий язык, поэтому запили телеграм-бота: CrontabDescriptionBot

Отправьте ему cron-строку и он вернёт вам расписание. Пользуйтесь!

Под капотом он работает на лямбдах, поэтому оплачивать хостинг мне не надо, и поэтому всегда будет работать.
Please open Telegram to view this post
VIEW IN TELEGRAM
Нашел в сети пост мини-книгу от небезызвестной Chip Huyen: Building A Generative AI Platform
Пожалуй, это одно из самых подробных руководств про построение Generative AI платформ своими руками, или как сейчас говорят RAG in Production.
В блоге базы данных ClickHouse вышел интересный пост, направленный на PostgreSQL юзеров, в нём показаны ключевые различия между моделированием данных в ClickHouse и PostgreSQL: https://clickhouse.com/blog/postgres-to-clickhouse-data-modeling-tips
Building and scaling Notion’s data lake

В июле этого года в блоге Notion вышла подробная статья об их опыте построении data lake: https://www.notion.so/blog/building-and-scaling-notions-data-lake
2025/06/30 17:24:45
Back to Top
HTML Embed Code: