tl;dr data
69 subscribers
16 photos
79 links
Ежедневный дайджест о технологиях и инструментах в мире данных
Download Telegram
Технологический стек данных Lyft

Разбор масштабной data-инфраструктуры, которую использует Lyft для поддержки более 25 млн активных пользователей и обработки миллионов событий в реальном времени каждую секунду.

Метрики:

• 28,7 млн активных пользователей в Q3 2025, совершающих ~2,7 млн поездок в день.
• Apache Kafka обрабатывает миллионы событий в секунду для стриминговой аналитики.
• Тысячи пайплайнов на Apache Airflow и Flyte оркестрируют ETL- и ML-процессы.
• Хранилище данных превышает 100+ ПБ в Amazon S3 с использованием Apache Hive Metastore.
• ETL на Trino выполняет ~250 тыс. запросов в день, читая ~10 ПБ/день и записывая ~100 ТБ/день.

@tldr_data
🔥2
Thoughts on Apache Iceberg Summit 2026

Неделю назад в Сан-Франциско закончился Apache Iceberg Summit 2026.
Два дня саммита позволили выработать общее понимание по обсуждениям, которые доминировали в dev-рассылке всю весну.

Тема опциональности metadata.json в V4 собрала самую большую аудиторию среди всех дизайн-сессий:
эксперты подробно разобрали вопросы переносимости и последствий для статических таблиц, если корневой JSON-файл становится опциональным в случае, когда каталог управляет состоянием метаданных.
Сформировавшееся направление — признать управление метаданными со стороны каталога полноценным режимом first-class, при этом гарантии переносимости сохраняются через явную opt-in семантику, а не текущие предположения по умолчанию.

Дизайн one-file commits — направление, которое Russell Spitzer и Amogh Jahagirdar продвигали через серию предложений — движется к формальному описанию спецификации после согласования, достигнутого на саммите.
Подход заменяет списки манифестов на корневые манифесты и использует delete-векторы манифестов для поддержки коммитов в один файл, что обещает существенное снижение латентности коммитов и объёма хранимых метаданных.
Это одно из наиболее значимых изменений V4 для сценариев с высокой частотой записи, и очные обсуждения позволили закрыть оставшиеся разногласия по поводу inline против внешних delete-векторов манифестов.

Предложение Peter Vary по эффективным обновлениям колонок для AI/ML-нагрузок вызвало заметный интерес на саммите.
Дизайн ориентирован на широкие таблицы, где при каждой записи изменяется лишь подмножество колонок — embedding-векторы, скоринги моделей, значения фичей.
Это позволяет Iceberg записывать только изменённые колонки в отдельные файлы и объединять их на этапе чтения.
Для команд, управляющих feature store’ами петабайтного масштаба, экономия I/O может быть существенной.
Петер отметил, что формальное предложение с POC-бенчмарками появится в dev-рассылке в течение нескольких дней после саммита.

Политика вклада с использованием AI, в обсуждении которой участвовали Holden Karau, Kevin Liu, Steve Loughran и Sung Yun, приблизилась к практическому разрешению.
Саммит дал ту ясность, которой часто не хватает асинхронным обсуждениям, и ожидается, что рабочая версия политики — включая требования к раскрытию информации и стандарты происхождения кода для AI-сгенерированных вкладов — будет опубликована в dev-рассылке уже на этой неделе.

@tldr_data
👍2
Polars in Aggregate: Streaming Expands, Lakehouse I/O, and Cloud Profiling

Последний цикл релизов Polars приближает стриминговый движок к использованию по умолчанию за счёт расширения поддержки: теперь доступны streaming merge join, as-of join, а также потоковые чтения и записи (scan/sink) для CSV, NDJSON, IPC и облачных источников.

Также добавлена нативная поддержка roundtrip-операций с Delta Lake и Iceberg, включая прямую ленивую запись (lazy writes) обратно в Delta и функцию sink_iceberg() для построения готовых к коммиту стриминговых пайплайнов.

В Polars Cloud теперь доступен профайлинг запросов с метриками на каждом этапе выполнения: CPU, RAM, сеть и shuffle.

@tldr_data
👍1
PgQue – PgQ, universal edition

PgQue — это реализация архитектуры PgQ на чистом PL/pgSQL, предоставляющая высокопроизводительную очередь без разрастания (bloat) для любого экземпляра Postgres 14+.

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

@tldr_data
👍2
Анонс для Airflow: новые возможности интеграции AI

Появился новый провайдер Common AI Provider, который добавляет поддержку LLM и агентных сценариев непосредственно в Apache Airflow.
Он построен на Pydantic AI и поддерживает более 20 провайдеров моделей, включая OpenAI, Anthropic, Google, Azure, Bedrock и Ollama.

Новые декораторы
@task.llm — отправка prompt в LLM с возвратом текстового или структурированного результата
@task.agent — запуск автономного агента с инструментами, памятью и многошаговым reasoning
@task.llm_branch — делегирование выбора downstream-задач модели
@task.llm_sql — преобразование естественного языка в валидный SQL-запрос
@task.llm_file_analysis — анализ файлов из object storage (текст, изображения, PDF) с помощью LLM
@task.llm_schema_compare — выявление schema drift между базами данных с использованием LLM-рассуждений
Toolsets

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

SQLToolset предоставляет read-only доступ к SQL-базам. HookToolset позволяет превращать Airflow Hooks в инструменты агента. MCPToolset подключает агента к MCP-серверу через Airflow connection. DataFusionToolset дает возможность выполнять SQL-запросы по файлам Parquet, CSV и Iceberg без отдельной базы данных. LoggingToolset добавляет логирование всех вызовов инструментов с замером времени выполнения.

@tldr_data
👍1
Designing Data-intensive Applications with Martin Kleppmann

Как изменились фундаментальные подходы к построению распределённых систем за последнее десятилетие?
Martin Kleppmann, автор культовой книги Designing Data-Intensive Applications (2017), выпустил в этом месяце второе, существенно обновлённое издание.
В обсуждении он делится тем, как эволюционировали требования и практики построения систем.

Ниже — три ключевых тезиса из разговора:

1. Multi-region и multi-cloud — это не best practice, а компромисс

По мнению Клеппмана, не существует универсального правильного ответа, стоит ли использовать multi-region или multi-cloud архитектуру. Это всегда компромисс между рисками и затратами. Решение должно приниматься на уровне бизнеса, а задача инженеров — уметь чётко формулировать эти trade-offs, а не следовать догмам.

2. Репликация важнее шардинга для большинства команд

Хотя в книге подробно разбирается шардирование, сегодня его необходимость снизилась благодаря развитию облаков. Современные машины стали мощнее, и многие нагрузки помещаются в пределах одного узла.

В результате:
шардирование становится более нишевой, специализированной задачей,
а репликация для обеспечения отказоустойчивости остаётся критически важной практически на любом масштабе.

3. Понимание внутренних механизмов систем — конкурентное преимущество

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

В целом, за последние годы акцент сместился с жёстких архитектурных паттернов к осознанному выбору компромиссов, где инженерия тесно связана с бизнес-контекстом.

@tldr_data
🔥2
Floe: SQL-сервис для современного data lakehouse

Floe — SQL-сервис, спроектированный для современных lakehouse-архитектур.
Он объединяет три ключевых компонента:

FloeSQL — вычислительный движок для выполнения сложных SQL-запросов поверх открытых табличных форматов

Floecat — open-source каталог каталогов, который объединяет метаданные из экосистем Apache Iceberg и Delta Lake

Floescan — сервис индексации, обеспечивающий точечное пропускание данных (data skipping) внутри файлов Apache Parquet

Floe появился как ответ на фрагментацию современного lakehouse-стека — разные форматы таблиц, каталоги и query-движки часто плохо сочетаются между собой.

Объединяя высокопроизводительное выполнение запросов, единый доступ к метаданным и файловую индексацию, Floe переносит проверенные архитектурные подходы в открытую data-экосистему.

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

♾️YouTube♾️

@tldr_data
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
dbt-score — линтер для качества метаданных в dbt

dbt-score — это инструмент для оценки качества метаданных в проектах dbt.
Он анализирует модели и проекты по набору правил (документация, тесты, ownership, нейминг, сложность SQL), позволяя командам внедрять стандарты через CI/CD и выявлять проблемные модели на ранних этапах. Поддерживаются кастомные правила для учета внутренних требований и governance-политик.

Ключевые возможности

Комплексный линтинг
Проверяет dbt-объекты по настраиваемым правилам: документация, тесты, структура, нейминг

Система скоринга
Присваивает числовые оценки (0–10) как отдельным моделям, так и проекту в целом

Гибкая конфигурация
Настройка правил, уровней строгости и порогов оценки через pyproject.toml

Интеграция с CI/CD
Возможность падать сборке при несоответствии стандартам качества

Отслеживание прогресса
Визуальные бейджи и метрики для мониторинга улучшения качества данных со временем

Расширяемость
Возможность создавать собственные правила под требования конкретной организации

@tldr_data
🔥1
Kafka + KSQL doing ~200 KB/s in/out costs these guys $120,000 a year 💀

@tldr_data
👍1😁1
Rocky — это инструмент на базе Rust, который добавляет управляющий слой поверх хранилищ данных, помогая командам управлять пайплайнами с помощью таких возможностей, как контракты данных, отслеживание происхождения данных (lineage) и безопасное тестирование через ветки.

Он нацелен на раннее выявление ошибок, предотвращение проблем с данными и делает дата-процессы более надежными и понятными.

@tldr_data
👍1
В Python-пакет elementary-data, имеющий 1.1 млн загрузок в месяц, внедрён вредоносный код

https://www.opennet.ru/opennews/art.shtml?num=65313

@tldr_data
🔥1
Очередь за self-hosting: Docker, YAML, ночные падения пайплайнов и ручной дебаг.

Рядом managed-сервис: платишь $20–100 в месяц, нажимаешь deploy и всё работает.

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

Self-hosting редко бесплатный.
Просто счёт приходит не в долларах, а в потраченном времени.

@tldr_data
👍3
Новый поток курса LLM Zoomcamp стартует 8 июня 2026 года. Присоединяйтесь к бесплатному курсу и пройдите путь от основ LLM до готового к продакшену AI-ассистента за 10 недель.

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

Вы изучите Retrieval-Augmented Generation, векторный поиск, эмбеддинги, AI-агентов, function calling, оценку (evaluation), мониторинг, гибридный поиск, переранжирование и многое другое.

@tldr_data
🔥1
From IDEs to AI Agents with Steve Yegge

Работа с поддержкой ИИ может иметь вампирский эффект. Steve Yegge — о том, насколько изматывающей может быть работа с ИИ и почему рабочий день стоит сокращать, чтобы это компенсировать:

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

Я, например, делаю это для себя, и всё равно чувствую, что работаю на пределе. Ловлю себя на том, что днём приходится спать, и друзья из стартапов говорят, что у них то же самое — они тоже начали спать днём.»

«Мы начинаем уставать, становимся раздражительными.

Компании устроены так, чтобы извлекать из тебя ценность и платить за это. Но исторически они всегда были устроены одинаково: тебе будут давать всё больше работы, пока ты не сломаешься. Если ты справляешься — тебе с радостью дадут ещё, пока твоя “тарелка” не переполнится и ты не выгоришь окончательно.

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

Ответ: вам придётся, иначе сломается уже ваша компания.

Подробнее в подкасте The Pragmatic Engineer.

@tldr_data
👍1
С Airbyte такое в порядке вещей 😅

@tldr_data
😁6
Firn

Firn — это open-source API для быстрого векторного и полнотекстового поиска по данным, хранящимся в S3. Он использует Lance и кэширование, чтобы делать повторные запросы очень быстрыми. Подходит командам, которым нужен поиск по object storage без затрат и сложности, связанных с запуском OpenSearch.

@tldr_data
👍1
Rosetta DBT Studio — open-source десктопный workspace для команд, работающих с dbt.

Новый AI Agent — это не просто обёртка над чат-ботом. Это tool-loop engine, который умеет:

📂 Просматривать директории проекта и читать schema-файлы, чтобы понимать реальный контекст
✍️ Писать SQL и YAML для dbt-моделей напрямую в ваш проект
▶️ Запускать dbt-команды (compile, run, test) и читать логи
📑 Автоматически открывать каждый созданный файл в новой вкладке редактора, чтобы вы могли сразу всё проверить

Безопасность прежде всего: Agent никогда не запускает terminal-команду без того, чтобы сначала показать вам, что именно он собирается выполнить, и дождаться явного Allow или Deny. Никаких сюрпризов.

Расширяемость:

Skills Library — импортируйте skills в формате Markdown с GitHub, чтобы обучить агент вашим внутренним практикам и соглашениям команды
MCP Servers — встроенная поддержка Rosetta CLI, dbt Core, DuckDB и DuckLake

Поддержка моделей: OpenAI, Anthropic, Gemini и Ollama (локальные модели) — через Vercel AI SDK.

🎬 Полный обзор: YouTube walkthrough

📥 Скачать (macOS, Windows, Linux): Rosetta DBT Studio Download

GitHub: Rosetta DBT Studio GitHub

@tldr_data
👍1
Prefect 3.7.0

В последнем релизе Prefect 3.7.0: команда углубляет интеграцию с uv от Astral.

Поскольку uv продолжает задавать направление для следующего поколения управления Python-пакетами, Prefect развивается вместе с ним: теперь лучше поддерживаются uv workspaces и установка зависимостей через файлы pyproject.toml.

Ключевая часть этого улучшения — Prefect теперь заранее проверяет, что перед запуском flow есть всё необходимое.
Благодаря этому проекты на uv работают стабильнее — от локальной разработки до production.

Для команд, которые стандартизируют стек вокруг uv, это делает Prefect более естественной частью процесса разработки: собирайте проект современным Python-способом, а затем оркестрируйте его без дополнительных костылей для управления зависимостями.

Это ещё один шаг к тому, чтобы Prefect органично вписывался в инструменты, которые Python-команды уже выбирают для своей работы.

@tldr_data
👍1
Flowfile — это визуальный ETL-инструмент, построенный вокруг Polars. Позволяет проектировать пайплайны на drag-and-drop canvas или описывать их на Python через API, похожий на Polars.

Визуальные workflow можно экспортировать в самостоятельный Python/Polars-код, что помогает избежать классического lock-in, характерного для low-code платформ.

Также в системе есть каталог на базе Delta, SQL-редактор, scheduler, параметры и изолированные Python kernels.

@tldr_data
👍1
Data Landscape — это интерактивная карта открытых стандартов, лежащих в основе современной архитектуры данных: контракты данных, схемы, семантика, файловые и табличные форматы, перемещение данных, обработка, каталоги, lineage, query-движки, качество данных, observability, политики и AI-интерфейсы.

@tldr_data
👍2
Xorq — это open-source compute catalog для AI.

Он помогает командам каталогизировать, собирать, переиспользовать и наблюдать трансформации, фичи, модели и пайплайны между разными compute-движками.

Если проводить аналогию: Apache Iceberg стандартизировал данные. Xorq пытается стандартизировать compute.

Так же команда Xorq сделали — Porq.

Это интеграция для coding-агента pi.dev.

Интеграция дает структурированный доступ к заранее подготовленным и проверенным data expressions из каталога xorq.

Вместо загрузки сырых CSV и попыток угадать join’ы, агент использует уже каталогизированные expressions — и за счет этого выдает заметно более качественный результат.

@tldr_data
👍1