Ivan Begtin
8.1K subscribers
2K photos
3 videos
102 files
4.72K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and other gov related and tech stuff.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Secure contacts ivan@begtin.tech
加入频道
В рубрике интересных проектов по работе с данными LOTUS: A semantic query engine for fast and easy LLM-powered data processing [1] движок для обработки данных с помощью LLM поверх Pandas. Принимает на вход человеческим языком описанные конструкции, переводит их в программные операции над датафреймом.

Является демонстрацией работы из научной работы Semantic Operators: A Declarative Model for Rich, AI-based Analytics Over Text Data [2].

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

Если ещё и Pandas заменить на Polars или иную drop-in альтернативу, то ещё и обработка данных приобретёт хорошую скорость и производительность.

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

Ссылки:
[1] https://github.com/guestrin-lab/lotus
[2] https://arxiv.org/abs/2407.11418

#opensource #datatools #dataengineering #data #ai #llm
January 13
January 13
January 14
January 14
January 17
По итогам вчерашней лекции зафиксирую ключевые тезисы о которых я пишу тут давно, но фрагментировано:

1. Формат Apache Parquet позволяет публиковать текущие крупные датасеты в виде пригодном для немедленной работы аналитиков, меньшего объёма и с лучшей структурой (типизацией содержимого). Это уже давний стандартизированный формат публикации данных пришедший из стека Apache и набравший популярность по мере роста популярности data science.

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

3. В формате Apache Parquet уже публикуются данные раскрываемые госорганами. Его использует статслужба Малайзии, Правительство Франции, разработчики порталов открытых данных OpenDataSoft и многочисленные исследователи по всему миру. Почему они так делают? Потому что получают запрос от аналитиков, потому что это снижает стоимость хранения и обработки данных.

4. DuckDB - это один из наиболее ярких примеров стремительного удешевления работы с данными большого объёма на настольных компьютерах. Значимость его как инструмента именно в том что появляется возможность работы с данными условно в сотни гигабайт на недорогих устройствах. Например, работа с данными в сотни гигабайт на железе стоимостью до $1000.

5. Производительность DuckDB стремительно растёт. Рост от 3 до 25 раз для разных запросов и поддержка данных до 10 раз большего размера и это за 3 года с 2022 по 2024. Поэтому, хотя у DuckDB есть альтернативы - chDB, движки для дата фреймов такие как Polars, но важен потенциал развития.

6. Почему это важно для исследователей? У рядовых исследовательских команд не всегда есть возможность развертывания "тяжёлой инфраструктуры" или привлекать профессиональных дата аналитиков и дата инженеров. Чаще приходится работать на десктопах и не самых дорогих.

7. Почему это важно при публикации данных? Рассмотрим случай когда госорган, в нашем случае, Минкультуры РФ публикует каталог музейного фонда у себя на портале открытых данных. Сейчас это 11GB ZIP файл, разворачивающийся в 78GB файл в формате JSONS (на самом деле это NDJSON/JSON lines, из построчных записей в JSON). С этими данными всё ещё можно работать на десктопе, но пока скачаешь, пока распакуешь, это будет трудоёмко. Если бы Министерство сразу публиковало бы этот и другие датасеты в Parquet, то итоговый размер датасета был бы 2.7GB и работать с ним можно было бы немедленно, быстрее и удобнее.

8. Технологии дата инженерии и аналитики стремительно развиваются. Отстать можно очень быстро, например, многие только-только узнают про инструменты для дата фреймов вроде Pandas, а в то же время Pandas уже рассматривается как легаси потому что Pandas почти перестал развиваться, а заменяющие его движки Polars или Dask показывают значительно лучшую производительность.

9. Высокая конкуренция среди команд разработчиков СУБД. За ней можно наблюдать, например, через рейтинги производительности ClickBench где если не все то большая часть аналитических СУБД и через каталог СУБД в мире DBDB. Прямо сейчас происходящее называют золотым веком баз данных [и дата инженерии]. Причём развитие идёт в сторону повышения производительности на текущем оборудовании. А это значит что в ближайшем будущем будет ещё больший прогресс в том чтобы работать с данными большого объёма на недорогом оборудовании.

#opendata #opensource #datatools #data
January 22
Полезное чтение про данные, технологии и не только:
- TPC-H SF300 on a Raspberry Pi [1] бенчмарк TPC-H SF300 для DuckDB на Raspberri Pi с 16 GB RAM и 1TB SSD. TPC-H тест на двух базах в 26GB и 78GB. Самое главное, все стоимость всего всего этого железа $281.
- BuzzHouse: Bridging the database fuzzing gap for testing ClickHouse [2] в блоге ClickHouse об автоматизации тестирования запросов к ClickHouse. Автор создал и оформил 100+ issues выявленных таким автоматическим тестированием.
- Öppna data-portalen [3] портал открытых данных Шведского национального совета по культурному наследию. Все они геоданные в открытых форматах для возможности нанесения на карту.
- Pilot NIH Science of Science Scholars Program [4] национальный институт здравоохранения США запустил программу для исследователей по работе с их внутренними данными. Это те данные которые не могут быть открыты, но доступны с соблюдением требований безопасности, приватности, с оборудования предоставленного государством и тд. Ограничений немало, но и данные из тех что относят к особо чувствительным.
- LINDAS [5] официальный государственный портал связанных данных (Linked Data) Швейцарии. Создан и поддерживается Швейцарскими Федеральными Архивами. Включает 133 набора данных/базы данных
- Visualize Swiss Open Government Data [6] Швейцарская государственная платформа для визуализации данных. Да, по сути это как если бы к Datawrapper прикрутили каталог данных и придали бы всему государственный статус. Наборов данных там около 200 и, самое главное, всё с открытым кодом [6]

Ссылки:
[1] https://duckdb.org/2025/01/17/raspberryi-pi-tpch.html
[2] https://clickhouse.com/blog/buzzhouse-bridging-the-database-fuzzing-gap-for-testing-clickhouse
[3] https://www.raa.se/hitta-information/oppna-data/oppna-data-portal/
[4] https://dpcpsi.nih.gov/oepr/pilot-nih-science-science-scholars-program
[5] https://lindas.admin.ch/
[6] https://github.com/visualize-admin

#opendata #opensource #data #rdmbs #datatools
January 22
Свежий документ Data Governance in Open Source AI [1] от Open Source Initiative про то как публиковать данные для обучения ИИ с открытым кодом. В документе много всего, важно что они промоутируют отход от чистого определения Open Data и говорят о новом (старом) подходе Data Commons с разными моделями доступа к данным.

Дословно в тексте упоминаются, привожу как есть:
- Open data: data that is freely accessible, usable and shareable without restrictions, typically
under an open license or in the Public Domain36 (for example, OpenStreetMap
data);
Public
data: data that is accessible to anyone without authentication or special permissions
(for example, Common Crawl
data). Note that this data can degrade as web content
becomes unavailable;
Obtainable
data: data that can be obtained or acquired through specific actions, such as
licensing deals, subscriptions or permissions (for example, ImageNet
data);
Unshareable non-public
data: data that is confidential or protected by privacy laws,
agreements or proprietary rights and cannot be legally shared or publicly distributed.


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

Ссылки:
[1] https://opensource.org/blog/reimagining-data-for-open-source-ai-a-call-to-action

#opendata #data #readings
January 24
Полезное чтение про данные, технологии и не только:
- Chart Smarter, Not Harder: Plotly Now Offers Universal DataFrame Support [1] о том как разработчики движка визуализации Plotly многократно ускорили визуализацию графиков используя библиотеку Narwhals поверх Polars и pyArrow. Познавательные цифры и опыт для тех кто сталкивается с медленной отрисовкой графиков.
- Siyuan [2] персональная система управления знаниями и заметками. Китайский аналог Notion и Obsidian. Открытый код под AGPL, бесплатно для личного использования. Много интеграции в китайскую экосистему вроде WeChat и тд
- Requestly [3] расширение для браузера, прокси, для перехвата запросов. Необходимо всем разработчикам работающим с API. Открытый код под AGPL и онлайн сервис за деньги. По сути конкурент Postman
- Maxun [4] ещё один no-code инструмент для скрейпинга сайтов. Облегчает жизнь тем кто не хочет кодировать то что можно не кодировать. Открытый код, AGPL
- VeilStream [5] для разнообразия не вполне обычный коммерческий сервис, прокси для PostgreSQL который принимает запросы от пользователей, а ответы отдаёт отфильтрованными от персональных данных. Меня не покидает ощущение что это несколько, ммм, извращённое решение, но тем не менее. Оно есть и, видимо, кто-то его покупает.
- 10 Ways to Work with Large Files in Python: Effortlessly Handle Gigabytes of Data! [6] статья полностью для джунов, но именно джунам её прочитать обязательно. Там есть небольшая реклама Dask и игнорирование Polars, DuckDB и тд. А если говорить серьёзно, то всё зависит от того какие у тебя большие данные, в каком они состоянии и что с ними планируется делать. К примеру, обработка десятков и сотен гигабайт бинарных данных происходит иначе.
- Python Rgonomics 2025 [7] материал о том как работать в Python тем кто учил R. Полезное чтение для тех кто живёт в двух мирах или переходит с R на Python.

Ссылки:
[1] https://plotly.com/blog/chart-smarter-not-harder-universal-dataframe-support/
[2] https://github.com/siyuan-note/siyuan
[3] https://github.com/requestly/requestly
[4] https://github.com/getmaxun/maxun
[5] https://www.veilstream.com/
[6] https://blog.devgenius.io/10-ways-to-work-with-large-files-in-python-effortlessly-handle-gigabytes-of-data-aeef19bc0429
[7] https://www.emilyriederer.com/post/py-rgo-2025/

#readings #opensource #data #datatools
January 29
February 1