Ivan Begtin
9K subscribers
2.57K photos
5 videos
114 files
5.36K 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
Google обновили Magika инструмент для идентификации типов файлов в зависимости от содержимого. Пишут что теперь он поддерживает более 200 форматов файлов (ранее было 100), полностью переписан на Rust и работает существенно быстрее. Можно обратить внимание что многие из упомянутых новыз форматов файлов это файлы с данными npz, pytorch, parquet, h5 и файлы кода zig, dart, kotlin и тд. Фактически Magika это альтернатива идентификации типа файла по расширению и альтернатива magic (утилита идентификации файлов в Unix-подобных операционных системах) и утилитам Siegfried и DROID используемых цифровыми архивистами.

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

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

Что характерно Magika занимается команда Security research в Google, а то есть можно предполагать что основное применение это, все же, цифровая форенсика.

Из интересного, разработчики пишут что чтобы обучить Magika они использовали 3-х террабайтный несжатый датасет.

В целом видно что над проектом работает группа ИИ инженеров, но не методистов и это сопутствующий продукт их работы потому что иначе они бы начали с реестра типов mime и расширений в который собрали бы метаданные из PRONOM и пары других крупных реестров форматов файлов.

#opensource #google #datatools #forensics
18🔥6
Я как то уже рассуждал здесь и вслух о том что ИТ профессии часто формируют устойчивые когнитивные искажения, например, когда все окружающее воспринимается как таблицы или как данные, лично я считаю что в этом нет ничего зазорного и сам иногда впадаю в состояние автоматического построения структур данных в голове и доведение их до 3NF.

Но то что кто-то может назвать когнитивным искажением, можно назвать и способом взгляда на те или иные явления. И вот один из таких способов восприятия реальности - это смотреть на все как на список. Список дел, список строк в файле, список записей в БД и так далее. А если по списку можно проходить и что-то делать с тем что в нем находится то он является перебираемым или на английском языке iterable.

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

Изначально она создавалась для того чтобы реализовать для JSON/JSON lines файлов логику перебора содержимого по принципу csv.DictReader, стандартной библиотеки в Python в которой перебираемые объекты возвращаются как словари. Заодно добавив к этому что чаще всего эти файлы с данными сжаты чем-то Gzip, LZMA, Zstandard и тд.

А в этот раз я обновил эту библиотеку для большей универсальности и поддержки десятков новых форматов данных DBF, JSON-LD, KML, GML, CSVW, Annotated CSV, MessagePack и еще много, полный список.

Включая некоторые экзотические форматы такие как WARC для веб-архивации, которые тоже можно рассматривать как объекты со списками для перебора.

А в качестве наглядного примера, преобразование дампа Википедии из сжатого XML в Parquet.

Особенность Iterable Data именно в универсальности инструмента, но не в скорости обработки данных. Для супербыстрой обработки, например, CSV файлов есть и другие инструменты, но CSV лишь один из десятков встречающихся форматов данных.

Так что инструмент полезный и обновлялся мной сейчас в контенте задач в Dateno, в открытые репозитории которого я и перенес его из личных пэт проектов.

#opensource #dateno #datatools #dataengineering
👍1042❤‍🔥1👌1🗿1
В качестве регулярных напоминаний, большое количество открытого кода который я лично создавал и поддерживаю:
- iterabledata библиотека для Python по работе с любыми файлами с записями с помощью прямого их перебора и возвращением каждой записи как словаря (dict). Фактически реализация интерфейсов csv.DictReader и csv.DictWriter для десятков форматов файлов таких как JSON, JSON lines, XML, Parquet, ORC и множества более специфических и отраслевых таких как PCAP, WARC и др.
- internacia-db референсная база данных с базовыми данными по странам и по страновым блокам. Распространяется в форматах JSONL, Parquet, DuckDB, YAML. Полезно для задач обогащения данных, поиска и фильтрации результатов в территориальной привязке, сравнении стран и территориальных блоков.
- undatum это инструмент командной строки для работы с файлами со сложной иерархией так как работают с CSV файлами. Он умеет считать статистику, преобразовывать файлы, анализировать их, разрезать на части и тд. Внутри используется библиотека iterabledata и большое число форматов файлов поддерживаются
- metacrafter библиотека для Python и инструмент командной строки для работы с семантическими типами данных, используется для выявления персональных идентификаторов и иных объектов (кодов организаций, кадастровых и почтовых кодов и так далее)

А также много другого открытого кода о котором я регулярно тут пишу.

#opensource #data #dataengineering #datatools
👍15
В DuckDB добавили поддержку формата Vortex, это такой специальный формат хранения данных который разработали в компании SpiralDB и передали в Linux Foundation в августе 2025 г.Это такой специально оптимизированный формат хранения данных который может быть компактнее и быстрее Parquet.

Собственно в статье есть примеры бенчмарков Parquet версии 1 и версии 2 и Vortex. Собственно запросы к Vortex через DuckDB быстрее примерно в 1.5 раза чем к Parquet версии 1 (самая распространенная версия).

Выглядит это оптимистично, к тому же постепенно Vortex начинают поддерживать и другие инструменты. Так что не только Parquet актуален как формат хранения данных.

#opensource #data #datatools #dataengineering
🔥10👍5😱1
SiriusDB специальный движок расширяющий инструменты работы с базами данных и ускоряющий выборки из баз данных используя GPU. Реализован в виде расширения для DuckDB и занимает первую позицию в оценке по Hot run в рейтинге ClickBench.

Иначе говоря - даёт мощное ускорение выполнению SQL запросов за счет GPU процессора.

Требует для работы процессор NVIDIA и установленный CUDA.

Выглядит любопытно и соответствует тренду на то что скоро все СУБД будут проектироваться по использование графических процессоров и иных процессоров для ускорения обработки данных и запросов.

#opensource #datatools
5👍4🤔1
Оказывается появилось множество инструментов работы с данными через WebAssembly, когда код загружается с сервера, но исполняется локально и работа со всеми данными идет локально. Причем почти все такие инструменты на базе DuckDB.

В списке уже:
- DataKit (открытый код и сервис)
- PondPilot (открытый код и сервис)
- OpenSheet (сервис и приложение для выгрузки локально)
- Tabula Studio (сервис)

А также большая подборка инструментов в списке Awesome DuckDB

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

#opensource #datatools
5🤔1
Я, тем временем, накатил большой объём изменений в библиотеку iterabledata библиотеку для чтения и обработки дата файлов в итеративном режиме, например, для задач конвертации и преобразования дата файлов. Там сейчас сильно больше поддерживаемых форматов помимо изначальных CSV, JSON, JSON lines и Parquet и много добавлений которых изначально не было. Новые форматы включают TopoJSON, GeoJSON, WARC, JSON-LD и десятки других.

Например:
- возможность массового преобразования файлов операциями bulk_convert
- поддержка чтения данных из баз данных также как из файлов с поддержкой MongoDB, Elasticsearch, Postgres и Clickhouse
- улучшенная идентификация файлов по magic number, а не только по расширению
- чтение файлов с уменьшением потребления оперативной памяти через использование ijson для чтения JSON файлов без полной загрузки в память
- прямое чтение файлов из S3, Azure и GCS
- экспорт данных в датафреймы Pandas, Polars и Dask

И ещё довольно много всего. Подробно в CHANGELOG.md

Всё это пока ещё надо допроверять, поэтому это не анонс релиза, а скорее преданонс изменений. Но в целом это перенос в библиотеку функций из утилиты undatum для преобразования данных. Библиотеку кода проще вставлять в конвееры данных чем утилиту командной строки.

В общем получилась хорошая штука для преобразования данных, удобная для собственных внутренних задач и не только. Осталось доприкручивать LLM'ки для задач анализа файлов и то что нужно.

Открытый код, лицензия MIT

#opensource #datatools
134
Полезные ссылки про данные, технологии и не только:
- Village SQL форк MySQL с возможностью написания расширений и несколькими готовыми расширениями для криптографических функций, генерации UUID и, конечно же, функций для промптинга LLM. Код под GPL2, команда с большим опытом разработки СУБД. Для тех чья жизнь связана с MySQL может быть полезной альтернативой
- Where Data Engineering Is Heading in 2026 - 5+ Trends автор рассуждает о трендах дата инженерии, я бы выделил ту мысль что скоро в вакансиях перестанут упоминать применение ИИ ассистентов как обязательное требование потому что оно будет подразумеваться.
- Polyglot програмная библиотека для Rust для парсинга SQL. Нужный инструмент для самых разнообразных задач. Пока выглядит как наиболее продвинутый из всех мне известных.
- What the fastest-growing tools reveal about how software is being built в блоге Github о том что AI теперь всегда синонимичен Python, о том что Typescript напирает популярность, а Javascript теряет и ряд других интересностей из анализов трендов на Github'е
- Monty облегченная версия интерпретатора Python'а написанная на Rust. Главное - безопасная работа и минимизированная скорость запуска. Зачем? Для экономии ресурсов при запуске в изолированных контейнерах ИИ агентов. Делают ребята из Pydantic. Выглядит как важный и нужный продукт, заодно у них есть сравнение с альтернативами.

#tools #datatools #opensource #dataengineering
🔥5🤔1
Zvec свежая замена Sqlite в задачах векторного поиска и RAG. Выложено Alibaba под лицензией Apache 2.0. В моем понимании это прямая альтернатива LanceDB, но LanceDB пока выглядит интереснее.

#opensource #datatools #dataengineering
🔥5👍3
Полезные ссылки про данные, технологии и не только:
- Osprey свежий движок с открытым кодом для борьбы со спамом, выложен командой Discord под открытой лицензией. Написан на Python и Rust, использует свой язык SML (Some Made Up Language) для описания правил. Включает UI для мониторинга работы.
- Salt язык программирования претендующий на большую простоту и, что важнее, большую производительность чем C и Rust. Лицензия MIT, и, как ни странно, но не вижу за ним никого из бигтеха, похоже на частную и хорошо продуманную инициативу
- Microsoft’s new 10,000-year data storage medium: glass Microsoft показали технологию сохранения данных внутри хранилища основанного на том что лазеры записывают данные в стекле и с прицелом на хранение в 10 тысяч лет. Про 10 тысяч лет не верится, но даже тысяча лет будет коллосальным прогрессом. 4.84TB записали на кусок стекла 12x12x0.2 см. в течение 150 часов. Кто то скажет о том как это мало и в статье приводится пример что есть радиотелескоп который сейчас в год производит 700 петабайт. Но есть и другие сравнения, большую часть письменной истории человечества можно будет сохранить в небольшой коробке. Может написать фантастический рассказ "Коробка"?:)
- Querying India's MoSPI Data with Claude and MCP в Индии статслужба начала публиковать данные статистистики с доступностью через MCP протокол, автор подключил его к Claude и показал что можно интересного с этим сделать. Спойлер: много интересного.
- FossFLOW инструмент с открытым кодом для рисования красивых изометрических диаграм. Внутри используется открытая библиотека (компонент) от ребят из сервиса Isoflow
- State of Agentic AI Report: Key Findings обзор состояния агентских ИИ от Docker'а. Любопытный, но ожидаемый, о том что более всего важен инфобез.В целом же никаких озарений, просто документ для справки и референсов. Для выгрузки требуют заполнить форму где просят все включая номер телефона, так что проще воспользоваться прямой ссылкой

#opensource #data #dataviz #datatools
👍3🔥31
LadybugDB свежий движок баз данных которые позиционируют себя как DuckDB для графов, внедряемая база данных с поддержкой языка Cypher, удобным импортом данных и встроенным веб интерфейсом просмотра графов. Лицензия MIT, есть поддержка WASM, Python и Rust.

Выглядит интересно как замена Neo4J для графовых данных относительно небольшого объёма.

#opensource #data #datatools
👍5🔥4
В рубрике как это устроено у них.

Датский портал с данными исследований forskningsportal.dk включает более миллиона публикаций разделенных на глобальный и локальный реестры. Пока без исследовательских данных, только статьи, главы книг и другие материалы классифицированные по множеству классификационных моделей: OECD FORD, UN SDG, AU NZ/FOR и паре датских научных классификаторов.

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

Открытых научных данных пока нет, но обещают их скоро добавить. А сами данные базы статей доступны в виде дампов в XML в формате DDF-MXD (Danish Research Database Metadata Exchange Format).

#opendata #datasets #openaccess #denmark #datatools
👍21🔥1
Новая версия DuckDB 1.5 обещают поддержку типа GEOMETRY для геоданных, обновленную утилиту командной строки, подключение к ODBC, обновление спецификации DuckLake и больше поддержки озер данных и множество других изменений.

#opensource #datatools #duckdb #dataengineering
🔥64