Forwarded from Nik B
Привет! Книжного Клуба анонс!
У нас с коллегами дата инженерами появилась идея по/перечитать книги, связанные с дата инженерией!
Первая книгу, которую мы хотели бы обсудить - Data Engineering Desing Patterns.
Планируем делать созвоны на еженедельной основе - вторник 19:30 MSK (17:30 CET).
Первый созвон - следующий вторник 25 ноября, разберем первые паттерны по полной и инкрементальным загрузкам.
Все детали книжного клуба будут в @de_zoomcamp, если вам интересно, залетайте в канал
У нас с коллегами дата инженерами появилась идея по/перечитать книги, связанные с дата инженерией!
Первая книгу, которую мы хотели бы обсудить - Data Engineering Desing Patterns.
Планируем делать созвоны на еженедельной основе - вторник 19:30 MSK (17:30 CET).
Первый созвон - следующий вторник 25 ноября, разберем первые паттерны по полной и инкрементальным загрузкам.
Все детали книжного клуба будут в @de_zoomcamp, если вам интересно, залетайте в канал
1 15
Apache TsFile
TsFile — это
Его легко интегрировать в фреймворки обработки больших данных IoT.
@five_minutes_of_data
TsFile — это
columnar storage file format, предназначенный для данных временных рядов, который поддерживает эффективную компрессию, высокую пропускную способность чтения и записи, а также совместимость с различными фреймворками, такими как Spark и Flink. Его легко интегрировать в фреймворки обработки больших данных IoT.
@five_minutes_of_data
🔥4
DataProjectHunt
Находить data engineering проекты — ТРУДНО!
Находить актуальные проекты — ЕЩЁ ТРУДНЕЕ!
А вот найти хорошо спроектированные — почти невозможно.
Но всё, это в прошлом с DataProjectHunt
DataProjectHunt — это ProductHunt для data engineers.
Там можно:
✅ Найти самые крутые DE-проекты в одном месте
✅ Поделиться своими проектами с сообществом
✅ Получить фидбек и отзывы от коллег
✅ Поставить лайк/дизлайк проектам
✅ Получить признание за свои творения (и попасть в лидерборд )
Кстати, этот проект сделал Marc Lamberti — тот самый чувак из Astronomer, который рассказывает про Airflow на YouTube.
@five_minutes_of_data
Находить data engineering проекты — ТРУДНО!
Находить актуальные проекты — ЕЩЁ ТРУДНЕЕ!
А вот найти хорошо спроектированные — почти невозможно.
Но всё, это в прошлом с DataProjectHunt
DataProjectHunt — это ProductHunt для data engineers.
Там можно:
✅ Найти самые крутые DE-проекты в одном месте
✅ Поделиться своими проектами с сообществом
✅ Получить фидбек и отзывы от коллег
✅ Поставить лайк/дизлайк проектам
✅ Получить признание за свои творения (и попасть в лидерборд )
Кстати, этот проект сделал Marc Lamberti — тот самый чувак из Astronomer, который рассказывает про Airflow на YouTube.
@five_minutes_of_data
Data Project Hunt
Data Project Hunt - Discover the Best Data Engineering Projects
Explore and showcase exceptional data engineering projects built by the data community.
❤4🔥4
Apache Hudi 1.1 is Here—Building the Foundation for the Next Generation of Lakehouse
Apache Hudi 1.1 представляет pluggable table format framework таблиц с адаптерами для Iceberg/Delta, индексацией с учетом партиций, динамическим изменением размера бакетов, блокировкой на основе хранилища и значительными улучшениями для конкретных движков.
Он обеспечивает 15-кратное ускорение кластеризации, 4-кратное ускорение поиска и 2–3-кратный рост пропускной способности Flink за счет zero-copy обработки и оптимизированной работы с метаданными.
@five_minutes_of_data
Apache Hudi 1.1 представляет pluggable table format framework таблиц с адаптерами для Iceberg/Delta, индексацией с учетом партиций, динамическим изменением размера бакетов, блокировкой на основе хранилища и значительными улучшениями для конкретных движков.
Он обеспечивает 15-кратное ускорение кластеризации, 4-кратное ускорение поиска и 2–3-кратный рост пропускной способности Flink за счет zero-copy обработки и оптимизированной работы с метаданными.
@five_minutes_of_data
hudi.apache.org
Apache Hudi 1.1 is Here—Building the Foundation for the Next Generation of Lakehouse | Apache Hudi
The Hudi community is excited to announce the release of Hudi 1.1, a major milestone that sets the stage for the next generation of data lakehouse capabilities. This release represents months of focused engineering on foundational improvements, engine-specific…
Stripe's Zero-Downtime Data Movement Platform Migrates Petabytes with Millisecond Traffic Switches
На QCon San Francisco 2025 Джимми Морзария, staff software engineer в Stripe, представил платформу Zero-Downtime Data Movement Platform компании — систему, которая позволяет мигрировать базы данных на петабайтном масштабе с переключением трафика, обычно завершающимся за миллисекунды.
Платформа поддерживает инфраструктуру Stripe, обрабатывая 5 миллионов запросов к базе данных в секунду по более чем 2000 шардам на базе MongoDB, при этом обеспечивая 99,9995% надежности для транзакций на $1,4 триллиона в год.
@five_minutes_of_data
На QCon San Francisco 2025 Джимми Морзария, staff software engineer в Stripe, представил платформу Zero-Downtime Data Movement Platform компании — систему, которая позволяет мигрировать базы данных на петабайтном масштабе с переключением трафика, обычно завершающимся за миллисекунды.
Платформа поддерживает инфраструктуру Stripe, обрабатывая 5 миллионов запросов к базе данных в секунду по более чем 2000 шардам на базе MongoDB, при этом обеспечивая 99,9995% надежности для транзакций на $1,4 триллиона в год.
@five_minutes_of_data
InfoQ
Stripe's Zero-Downtime Data Movement Platform Migrates Petabytes with Millisecond Traffic Switches
At QCon SF, a Stripe engineer presented the company's Zero-Downtime Data Movement Platform, a system enabling petabyte-scale database migrations with traffic switches that typically complete in milliseconds. The platform supports Stripe's infrastructure,…
В Postgres
1️⃣
2️⃣
3️⃣
Так что оставайтесь спокойны и используйте
Взято из книги Just Use Postgres
@five_minutes_of_data
count(*) работает так же эффективно, как count(1). Как это возможно? Давайте сравним планы выполнения, показанные на картинках.1️⃣
SELECT count(order_id) — размер каждой извлеченной строки, удовлетворяющей условию поиска, составляет 4 байта (см. width=4 в плане выполнения). Это размер колонки order_id, которая является 32-битным целым числом.2️⃣
SELECT count(1) — это известный трюк во многих реляционных базах данных, когда нужно сделать функцию count эффективной. База данных просто находит все подходящие строки и подсчитывает их. Размер строки здесь равен 0 (см. width=0), потому что вы передаете константу в функцию count. Значение константы не важно — можно передать 1, 10, 666 или ваше любимое число.3️⃣
SELECT count(*) — Postgres применяет специальную оптимизацию для этого случая. Хотя вы передаете *, база данных достаточно умна, чтобы не извлекать все колонки для подходящих строк. Вместо этого размер каждой извлеченной строки равен 0 (см. width=0).Так что оставайтесь спокойны и используйте
SELECT count(*) в Postgres. Оно уже оптимизировано для вас.Взято из книги Just Use Postgres
@five_minutes_of_data
❤7🤣6👏4
Увидел в Airflow одну очень прикольную фичу — Human-in-the-Loop операторы.
Можно просто встроить человеческое подтверждение прямо в DAG.
Работает это так:
AI или любая задача что-то генерит → Airflow ставит паузу и ждёт решения → человек получает ссылку, жмёт approve/reject → пайплайн продолжает работу.
Никаких кастомных сенсоров, костылей и блокировок воркеров — всё из коробки в 3.1.
Очень удобная штука для тех, кто запускает AI в проде и хочет держать ручной контроль там, где это реально важно.
@five_minutes_of_data
Можно просто встроить человеческое подтверждение прямо в DAG.
Работает это так:
AI или любая задача что-то генерит → Airflow ставит паузу и ждёт решения → человек получает ссылку, жмёт approve/reject → пайплайн продолжает работу.
Никаких кастомных сенсоров, костылей и блокировок воркеров — всё из коробки в 3.1.
Очень удобная штука для тех, кто запускает AI в проде и хочет держать ручной контроль там, где это реально важно.
@five_minutes_of_data
🔥21
DBHub
DBHub — это универсальный сервер баз данных MCP, реализующий интерфейс сервера Model Context Protocol (MCP).
Этот шлюз позволяет клиентам, совместимым с MCP, подключаться и исследовать различные базы данных:
Универсальный шлюз: Единый интерфейс для PostgreSQL, MySQL, MariaDB, SQL Server и SQLite
Безопасный доступ: Режим только для чтения, туннелирование SSH и поддержка шифрования SSL/TLS
Мультибазы данных: Подключение к нескольким базам данных одновременно с конфигурацией TOML
Готов к продакшену: Ограничение строк, контроль таймаута блокировок и пул соединений
Нативный MCP: Полная реализация Model Context Protocol с ресурсами, инструментами и промптами
Теперь можно не костылить Text-to-SQL а использовать готовый MCP.
Но как и всегда с AI инструментами, нужно быть осторожным, так как DBHub может
@five_minutes_of_data
DBHub — это универсальный сервер баз данных MCP, реализующий интерфейс сервера Model Context Protocol (MCP).
Этот шлюз позволяет клиентам, совместимым с MCP, подключаться и исследовать различные базы данных:
Универсальный шлюз: Единый интерфейс для PostgreSQL, MySQL, MariaDB, SQL Server и SQLite
Безопасный доступ: Режим только для чтения, туннелирование SSH и поддержка шифрования SSL/TLS
Мультибазы данных: Подключение к нескольким базам данных одновременно с конфигурацией TOML
Готов к продакшену: Ограничение строк, контроль таймаута блокировок и пул соединений
Нативный MCP: Полная реализация Model Context Protocol с ресурсами, инструментами и промптами
Теперь можно не костылить Text-to-SQL а использовать готовый MCP.
Но как и всегда с AI инструментами, нужно быть осторожным, так как DBHub может
Execute SQL queries directly from AI tools:
- Run SELECT queries for data analysis
- Execute DDL/DML in read-write mode
- Support for parameterized queries
- Multi-statement execution with transaction support
@five_minutes_of_data
DBHub, Minimal Database MCP Server
Introduction - DBHub, Minimal Database MCP Server
🎄 Сегодня стартовал Advent of Code 2025
Если вдруг не слышали — это цифровой адвент-календарь для разработчиков.
Каждый день до Рождества выходит новый пазл, который можно решить на любом языке программирования.
Mногие используют AOC как повод наконец-то потрогать язык, который давно хотел попробовать.
Кто-то вообще решает задачи на SQL.
Для многих Advent of Code — зимний ритуал: кофе, уют и ежедневная задачка, от которой иногда приятно плавится мозг.
Если искали причину попробовать новый язык — она появилась.
А если просто хочется немного игровой мотивации в декабре — тоже отлично подходит.
А вот тут можно посмотреть, как решают первый день на bash
Happy coding! 🎁
Если вдруг не слышали — это цифровой адвент-календарь для разработчиков.
Каждый день до Рождества выходит новый пазл, который можно решить на любом языке программирования.
Mногие используют AOC как повод наконец-то потрогать язык, который давно хотел попробовать.
Кто-то вообще решает задачи на SQL.
Для многих Advent of Code — зимний ритуал: кофе, уют и ежедневная задачка, от которой иногда приятно плавится мозг.
Если искали причину попробовать новый язык — она появилась.
А если просто хочется немного игровой мотивации в декабре — тоже отлично подходит.
А вот тут можно посмотреть, как решают первый день на bash
Happy coding! 🎁
YouTube
Advent of Code 2025 - Day 1! Racing Badcop
Yo what's up everyone my name's dave and you suck at programming.
🔗 More Links
Website → https://ysap.sh
Twitch → https://ysap.sh/twitch
Discord → https://ysap.sh/discord
Instagram → https://ysap.sh/instagram
TikTok → https://ysap.sh/tiktok
YouTube → ht…
🔗 More Links
Website → https://ysap.sh
Twitch → https://ysap.sh/twitch
Discord → https://ysap.sh/discord
Instagram → https://ysap.sh/instagram
TikTok → https://ysap.sh/tiktok
YouTube → ht…
⚡3
Airflow Extension for Visual Studio Code
Расширение для Visual Studio Code, которое позволяет взаимодействовать с Apache Airflow (v2.x и v3.x) прямо из вашего редактора.
Запускайте DAG, ставьте на паузу/снимайте, исследуйте запуски DAG, просматривайте логи, просматривайте код и многое другое — без браузера.
@five_minutes_of_data
Расширение для Visual Studio Code, которое позволяет взаимодействовать с Apache Airflow (v2.x и v3.x) прямо из вашего редактора.
Запускайте DAG, ставьте на паузу/снимайте, исследуйте запуски DAG, просматривайте логи, просматривайте код и многое другое — без браузера.
@five_minutes_of_data
GitHub
GitHub - necatiarslan/airflow-vscode-extension: This is a Vs Code extension for Apache Airflow
This is a Vs Code extension for Apache Airflow. Contribute to necatiarslan/airflow-vscode-extension development by creating an account on GitHub.
MinIO is now Maintenance Mode
Похоже, что марш смерти для MinIO продолжается.
Последний коммит отмечает, что проект в Maintenance Mode, а исправления безопасности будут случай за случаем.
Если ищите альтернативу, то можно посмотреть на Garage
@five_minutes_of_data
Похоже, что марш смерти для MinIO продолжается.
Последний коммит отмечает, что проект в Maintenance Mode, а исправления безопасности будут случай за случаем.
Если ищите альтернативу, то можно посмотреть на Garage
@five_minutes_of_data
GitHub
update README.md maintenance mode · minio/minio@27742d4
MinIO is a high-performance, S3 compatible object store, open sourced under GNU AGPLv3 license. - update README.md maintenance mode · minio/minio@27742d4
1🫡5 3❤2 1
Advent of Agents
🎄 Декабрь — это всегда адвент-календари, и в этом году к Advent of Code добавляется новый вариант: Advent of Agents.
25 дней заданий про агентов и LLM от Google.
Если давно хотел покопаться в языковых моделях и агентном кодинге — самое время.
@five_minutes_of_data
🎄 Декабрь — это всегда адвент-календари, и в этом году к Advent of Code добавляется новый вариант: Advent of Agents.
25 дней заданий про агентов и LLM от Google.
Если давно хотел покопаться в языковых моделях и агентном кодинге — самое время.
@five_minutes_of_data
Adventofagents
Advent of Agents 2025
25 days of Zero to Production-Ready AI Agents on Google Cloud.
🎉3🔥2💩2❤1
DataKit — это платформа для анализа данных прямо в браузере, которая обрабатывает многогигабайтные файлы (Parquet, CSV, JSON и др.) локально с помощью duckdb-wasm.
Вся обработка происходит внутри браузера — данные никуда не отправляются. Также можно подключаться к удалённым источникам, таким как Motherduck и Postgres, через сервер DataKit.
@five_minutes_of_data
Вся обработка происходит внутри браузера — данные никуда не отправляются. Также можно подключаться к удалённым источникам, таким как Motherduck и Postgres, через сервер DataKit.
@five_minutes_of_data
GitHub
GitHub - Datakitpage/Datakit: DataKit is a browser-based data analysis platform that processes multi-gigabyte files locally. All…
DataKit is a browser-based data analysis platform that processes multi-gigabyte files locally. All processing happens in your browser - no data is sent to external servers. - Datakitpage/Datakit
parqeye позволяет заглянуть внутрь ваших файлов Parquet.
Мгновенно просматривайте их содержимое, схему и метаданные — прямо из терминала.
Интерактивная визуализация данных — Просматривайте данные Parquet в табличном виде с навигацией по клавиатуре.
Исследователь схемы — Анализируйте типы колонок, вложенные структуры и определения полей.
Метаданные файла — Просматривайте метаданные на уровне файла, включая версию, создателя, статистику кодирования и многое другое.
Статистика групп строк — Изучайте метаданные и статистику на уровне групп строк, а также распределение данных по группам.
Интерфейс с вкладками — Быстро переключайтесь между видами Visualize, Schema, Metadata и Row Groups.
Нативно для терминала — Работает прямо в вашем терминале.
@five_minutes_of_data
Мгновенно просматривайте их содержимое, схему и метаданные — прямо из терминала.
Интерактивная визуализация данных — Просматривайте данные Parquet в табличном виде с навигацией по клавиатуре.
Исследователь схемы — Анализируйте типы колонок, вложенные структуры и определения полей.
Метаданные файла — Просматривайте метаданные на уровне файла, включая версию, создателя, статистику кодирования и многое другое.
Статистика групп строк — Изучайте метаданные и статистику на уровне групп строк, а также распределение данных по группам.
Интерфейс с вкладками — Быстро переключайтесь между видами Visualize, Schema, Metadata и Row Groups.
Нативно для терминала — Работает прямо в вашем терминале.
@five_minutes_of_data
GitHub
GitHub - kaushiksrini/parqeye: Peek inside Parquet files right from your terminal
Peek inside Parquet files right from your terminal - kaushiksrini/parqeye
1❤9🔥4
Introducing pg_clickhouse: A Postgres extension for querying ClickHouse
Интересная тенденция от ClickHouse: за год большинство миграций аналитики в Cloud идут именно с PostgreSQL (после self-hosted CH).
ClickPipes упрощает репликацию данных, но запросы и код — это отдельная головная боль.
Команда решила: давайте упростим перенос SQL с Postgres на ClickHouse! Несколько месяцев назад начали работать над этим — результат: расширение pg_clickhouse, где таблицы CH выглядят как родные Postgres.
Меняешь схему — и запросы летают на CH без переписывания.
Пример: TPC-H Query 4 — 650ms в Postgres vs 67ms с pg_clickhouse!
@five_minutes_of_data
Интересная тенденция от ClickHouse: за год большинство миграций аналитики в Cloud идут именно с PostgreSQL (после self-hosted CH).
ClickPipes упрощает репликацию данных, но запросы и код — это отдельная головная боль.
Команда решила: давайте упростим перенос SQL с Postgres на ClickHouse! Несколько месяцев назад начали работать над этим — результат: расширение pg_clickhouse, где таблицы CH выглядят как родные Postgres.
Меняешь схему — и запросы летают на CH без переписывания.
Пример: TPC-H Query 4 — 650ms в Postgres vs 67ms с pg_clickhouse!
@five_minutes_of_data
ClickHouse
Introducing pg_clickhouse: A Postgres extension for querying ClickHouse
Today, we’re pleased to release pg_clickhouse, an Apache 2-licensed PostgreSQL extension to transparently execute analytics queries on ClickHouse directly from PostgreSQL.
Wrappers — это фреймворк для разработки Foreign Data Wrappers (FDW) для Postgres, написанный на Rust.
Его цель — упростить разработку FDW, сохраняя при этом современные возможности языка Rust, такие как высокая производительность, строгая типизация и безопасность.
Wrappers также представляет собой коллекцию FDW, созданных Supabase.
Так же есть готовый wrapper для Clickhouse
@five_minutes_of_data
Его цель — упростить разработку FDW, сохраняя при этом современные возможности языка Rust, такие как высокая производительность, строгая типизация и безопасность.
Wrappers также представляет собой коллекцию FDW, созданных Supabase.
Так же есть готовый wrapper для Clickhouse
@five_minutes_of_data
GitHub
GitHub - supabase/wrappers: Postgres Foreign Data Wrapper development framework in Rust.
Postgres Foreign Data Wrapper development framework in Rust. - supabase/wrappers
🔥7
Data Engineering Zoomcamp: A Free 9-Week Course on Data Engineering Fundamentals
12 января стартует новый поток Data Engineering Zoomcamp.
Первые 2 недели по описанию не отличаются от прошлого года.
Так же все начинается с Docker и Terraform, потом оркестрация с Kestra.
Для ingest используют DLT.
В модуль Analytics Engineering добавил Streamlit и Looker.
Модуль про стриминг так же Kafka Streams и KSQL.
А хотелось бы посмотреть что нибудь новое, типа Pathway или RisingWaves.
@five_minutes_of_data
12 января стартует новый поток Data Engineering Zoomcamp.
Первые 2 недели по описанию не отличаются от прошлого года.
Так же все начинается с Docker и Terraform, потом оркестрация с Kestra.
Для ingest используют DLT.
В модуль Analytics Engineering добавил Streamlit и Looker.
Модуль про стриминг так же Kafka Streams и KSQL.
А хотелось бы посмотреть что нибудь новое, типа Pathway или RisingWaves.
@five_minutes_of_data
Data Ingestion Patterns: When to Use Push, Pull, and Poll (With Real Examples)
Полезный пост в блоге Dagster о трёх фундаментальных паттернах ingest, которые должен знать каждый data engineer:
Push: Когда source-системы сами присылают данные тебе
Pull: Когда ты контролируешь извлечение
Poll: Когда нужно near real-time без полноценного стриминга
У каждого свои trade-offs по контролю, сложности и операционным нагрузкам.
В посте разбирают, когда какой использовать, с рабочими примерами кода на Dagster.
Также есть проект, где все три паттерна работают вживую.
Даже если вы работаете с Airflow, то будет полезно посмотреть примеры кода и адаптировать его под Airflow.
@five_minutes_of_data
Полезный пост в блоге Dagster о трёх фундаментальных паттернах ingest, которые должен знать каждый data engineer:
Push: Когда source-системы сами присылают данные тебе
Pull: Когда ты контролируешь извлечение
Poll: Когда нужно near real-time без полноценного стриминга
У каждого свои trade-offs по контролю, сложности и операционным нагрузкам.
В посте разбирают, когда какой использовать, с рабочими примерами кода на Dagster.
Также есть проект, где все три паттерна работают вживую.
Даже если вы работаете с Airflow, то будет полезно посмотреть примеры кода и адаптировать его под Airflow.
@five_minutes_of_data
dagster.io
Data Ingestion Patterns: Push, Pull & Poll Explained | Dagster
Learn when to use push, pull, and poll data ingestion patterns with practical code examples in Dagster. Build reliable, scalable data pipelines with the right pattern for your use case.
❤3🐳3