Ivan Begtin
9.07K subscribers
2.55K photos
5 videos
114 files
5.33K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and etc.

CTO&Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Email ivan@begtin.tech

Ads/promotion agent: @k0shk
Download Telegram
Sim, ещё один любопытный продукт оркестратор потоков данных со встроенной работой с промптами. Доступен под свободной лицензией Apache 2.0, имеет встроенное ИИ и сделан по архитектуре local-first и может использоваться без облачных сервисов, а для ИИ можно связать с Ollama.

Выглядит интересно для задач с минимальной дата инженерией и как альтернатива n8n.

#opensource #dataengineering #ai #datatools
6👍21💯1
В блоге Meta интересный пост с анонсом OpenZL нового движка для сжатия данных соревнующегося в сжимании и очень быстро расжимании именно структурированных данных. Оно всё ещё в стадии бета, но главная специфика что в отличие от универсальных компрессов тут используются разные профили сжатия для разных структурированных данных таких как csv или parquet или результаты сохранения pytorch и др. Причем есть режим просто сжатия, а есть режим предварительного обучения на данных, создания профиля и последующего сжатия уже в соответствии с ним, в результате чего сжатия может существенно улучшиться.

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

Например, нужно очень сильно сжать CSV файлы, и нельзя вот так просто преобразовать их в parquet'ы. Ещё одна фишка в том что данные сжимаются сравнимо по эффективности с xz и zstd, но быстрее и с очень высокой скоростью декомпрессии.

#compression #data #datatools #dataengineering
1👍82
Вышел Python 3.14.0 — это новая крупная версия языка программирования Python, выпущенная официально в октябре 2025 года. Она включает множество новых функций и оптимизаций по сравнению с Python 3.13:

- Официально поддерживается free-threaded режим (PEP 779), который снимает необходимость глобальной блокировки интерпретатора (GIL), что существенно улучшает многопоточную производительность.
- Введены шаблонные строковые литералы (PEP 750) для кастомной обработки строк, похожие на f-строки.
- Аннотации теперь вычисляются отложенно (PEP 649), улучшая работу с импортами.- Добавлен новый модуль compression.zstd с поддержкой алгоритма сжатия Zstandard (PEP 784).
- Улучшена поддержка UUID, добавлены версии 6-8, и генерация версий 3-5 стала до 40% быстрее.
- Встроенная реализация HMAC с формально проверенным кодом.
- Добавлен безопасный интерфейс для внешнего отладчика без накладных расходов (PEP 768).
- Появился экспериментальный JIT-компилятор в официальных сборках для macOS и Windows.
- Появились официальные бинарные сборки для Android.
-- Улучшения в работе с несколькими интерпретаторами и новый тип интерпретатора для современных компиляторов с ростом производительности.
- Улучшены сообщения об ошибках и стандартные библиотеки.

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

#python #datatools #dataengineering
👍11🔥2
Fivetran официально объединились с dbt Labs, а до этого они поглотили Tobiko Data, создателей SQLMesh. У них теперь под контролем аж две команды создававшие продукты номер 1 и номер 2 по корпоративной обработке данных, что чертовски похоже на монополию (на самом деле нет) и вызывает вопросы по перспективам открытых версий dbt и SQLMesh потому что два конкурирующих продукта под одной крышей.

К тому же и крыша такая что не всем нравится Fivetran из-за его новой ценовой политики основанной на числе обрабатываемых строк.

Поэтому новость не могу отнести к хорошим, но будем ждать новых свежих открытых продуктов в этой области если dbt протухнут.

#dataengineering #data #datatools
🔥42
Полезные ссылки про данные, технологии и не только:
- A Deep Dive into DuckDB for Data Scientists о том как дата сайентистам использовать DuckDB. Если коротко, то всё довольно просто и понятно.
- ClickHouse welcomes LibreChat: Introducing the open-source Agentic Data Stack Clickhouse поглотил LibreChat, инструмент с открытым кодом для создания ИИ чатботов. Инструмент был хороший, надеюсь таким и останется.
- Hannes Mühleisen - Data Architecture Turned Upside Down отличное выступление Hannes Mühleisen про ключевые изменения в архитектуре данных последних лет. Полезно и по смыслу и по визуальному представлению хорошо
- agor: Next-gen agent orchestration for AI coding ИИ агент для управления ИИ кодированием, автор его создатель Superset и позиционирует этот проект как думай об асситентах для кодирования как о Figma. С открытым. кодом. Любопытно, но ИМХО автор плохо объясняет преимущества, как подхода, так и интерфейса.

#opensource #data #datatools #dataengineering #ai
2
Полезные ссылки про данные, технологии и не только:
- quackstore расширение для DuckDB для кеширования облачных дата файлов, позволяет сильно ускорить выполнение запросов к облачным файлам благодаря их частичному сохранению. Полезная штука, её можно бы и сразу внутрь DuckDB ибо логично
- Catalog of Patterns of Distributed Systems для тех разработчиков кто хотят не только кодировать, но и двигаться в сторону архитектуры ПО.
- The Data Engineering Agent is now in preview Гугл запустили ИИ агента для дата инженеров внутри BigQuery, конечно же на базе Gemini. Дайте мне такой же только с открытым кодом и без инфраструктуры Google и с поддержкой всех основных инструментов и СУБД!
- Diseño del V Plan de Gobierno Abierto 2025-2029 5-й план по открытости гос-ва опубликовали власти Испании. Сейчас проходят публичные консультации и далее он будет утвержден. Открытые данные там, конечно же, присутствуют

#opendata #opensource #rdbms #datatools #dataengineering #ai
🔥42
Ещё одна совсем-совсем свежая спецификация PLOON для отправки данных в ИИ агенты с максимальной экономией токенов. Экономит до 60% в сравнении с JSON и до 14.1% в сравнении с TOON. Автор написал бенчмарк показывающий что PLOON сильно экономнее других форматов. Уже прям любопытно что дальше, когда наступит момент что ИИ агенты смогут нормально употреблять бинарные данные и тогда все эти оптимизации будет очень легко заменить.

#ai #data #dataengineering #specifications
👍41
После экспериментов с простым кодом, я постепенно добрался до тех инструментов которые используются внутри Dateno для сбора данных. Один из них это утилита apibackuper которая помогает вытащить данные публикуемые через API и сохранять их в виде датасета. Фактически это инструмент скрейпинга API через декларативное описание параметров скрейпинга (да, я люблю декларативные описания). У инструмента был ряд недостатков которые я исправлял и думаю что исправил, вот перечень изменений:
- переход от декларативного описания скрейперов с INI (.cfg) файлов на YAML, читать легче, синтаксис приятнее
- валидация YAML описаний через JSON схему
- поддержка ограченичений и таймаутов на число запросов в минуту (Rate Limiting)
- поддержка аутентификации к API
- экспорт данных не только в JSONL, но и в Parquet
- автоопределение формата экспорта данных по расширению файла
- массовое обработка исключений и понятные сообщения об ошибках везде где возможно
- тесты для покрытия большей части кода
- подробная документация
- и всякое по мелочи

Я этот инструмент изначально разрабатывал для для архивации данных публикуемых через API, но сейчас он используется в части кода Dateno для выгрузки метаданных из каталогов данных. Может его даже пора уже перенести из ruarxive в dateno на Github'е, ещё не решил.

На скриншоте то как это выглядит на примере реестра лекарственных средств ЕСКЛП

Для сбора данных достаточно выполнить две команды
- apibackuper run
- apibackuper export current.parquet


Первая выгрузит все данные постранично, вторая сохранит выгруженные данные в parquet файл.

#opensource #datatools #data #dataengineering
42
Я ранее писал про применение ИИ агентов для рефакторингка кода и про декларативное программирование, а теперь а теперь расскажу про декларативное создание баз данных.

Когда я только-только начинал вести список каталогов с данными в мире я делал это в в Excel файле с парой десятков колонок и сотнями записей, потом Excel стал неудобен и я перенес все в Airtable что было удобнее в течение длительного времени, там можно было настраивать разные view на одну и ту же таблицу и целенаправленно вносить новые записи с по странам или темам. С автоматизацией было не очень, зато ручная работа облегчалась.

И вот когда у меня в голове уже созрела мысль что не попробовать ли сделать поисковик по датасетам, я понял что надо перестать думать об этих данных как о таблицах (сложно перестать, конечно) и начать думать как о реестре. Для меня тогда выбор был в том чтобы:
- перенести этот реестр в СУБД и создать поверх интерфейс для редактирования. Например, загрузить в Postgres и поверх сделать быстро интерфейс с помощью Strapi или Directus'а или других no-code инструментов
- или начать смотреть на этот реестр как на код и поместить все в Github. Не так удобно для работы вручную, но хорошо автоматизируется

В итоге я пошёл вторым путем и разрезал таблицы на индивидуальные карточки дата каталогов сохраненные как YAML файлы согласно предопределенной схеме данных. Например, вот такая карточка. Эти записи можно редактировать вручную, а можно и автоматически. Можно автоматизировать обогащение метаданных, проверку API, доступность сайтов, проверку ошибок и так далее. Чтобы собственно и происходит внутри этого репозитория. От изначальный 2 тысяч каталогов до текущего их числа в более чем 10+ тысяч дата каталогов он вырос за счет автоматизированной загрузки в него большого числа дата каталогов из их агрегаторов.

Теперь я подключил последнюю версию Cursor'а к обновлению этого репозитория и оказывается он очень хорош в массовом обновлении YAML файлов и понимает команды сформулированные в стиле:
- "Проанализируй все записи, найди те у которых веб сайт владельца не указан, найди веб сайт и заполни поля owner.name и owner.link"
- "Проверь все записи относящиеся к Бельгии и проверь доступны ли указанные там сайты"
- "Создай JSON схему для YAML файлов дата каталогов и проверь все их записи на соответствие этой схеме"

и так далее.

Магия начала работать когда реестр достиг некоторой критической массы которая "помогает" ИИ агенту понимать схемы данных, предназначение репозитория и находить несоответствия. Ручная работа всё еще необходима, но для проверки сделанного, и её тоже можно автоматизировать.

Итого сейчас в обновленных данных реестра Dateno 10 905 каталогов. Они все пока в репозитории реестра в виде YAML файлов и parquet файла слепка с данными. Это на 794 каталога данных больше чем пока есть в общедоступном реестре (всего 10 111 каталогов).

Были добавлены:
- каталоги данных на базе GBIF IPT
- большие списки каталогов данных во Франции, Испании и Нидерландах
- по мелочи каталоги данных в других странах

А также огромное число исправлений в метаданных всех каталогов.

Фактически ИИ агенты для разработки прекрасно подходят для работы с данными упакованными таким образом. Я начинаю склоняться к мысли что такое обогащение данных работает лучше чем инструменты вроде OpenRefine.

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

#opendata #datacatalogs #dateno #dataengineering #dataanalysis
7🔥4👍31