Ivan Begtin
9.38K subscribers
2.19K photos
4 videos
104 files
4.91K links
I write about Open Data, Data Engineering, Government, Privacy, Digital Preservation and etc.

Founder of Dateno https://dateno.io

Telegram @ibegtin
Facebook - https://facebook.com/ibegtin
Email [email protected]

Ads/promotion agent: @k0shk
Download Telegram
DuckDB выпустили UI интерфейс к базе данных [1] с открытым кодом (встроено в клиентское приложение DuckDB начиная с версии 1.2.11).

Запустить его можно командой duckdb -ui в командной строке и работать словно с тетрадками Jupyter Notebook или инструментами вроде OpenRefine.

Для тех кто сталкивается с задачами вроде Exploratory data analysis (EDA), когда вручную анализируешь данные, инструмент будет бесценен.

Сам UI сделан через расширение DuckDB компанией MotherDuck и поэтому включает авторизацию в их облачный сервис, что, впрочем, не мешает использовать его только локально.

Исходный код на C++ и JS доступен под лицензией MIT [2], при желании можно форкнуть и создать интерфейс с собственными плюшками, командной работе, авторизацией через другие сервисы и тд. А можно доработать его и сделать полноценную замену OpenRefine, к примеру.

Полезная штука по всем параметрам.

Ссылки:
[1] https://duckdb.org/2025/03/12/duckdb-ui
[2] https://github.com/duckdb/duckdb-ui

#opensource #duckdb #ui #data #datatools
SQLRooms [1] свежий инструмент с открытым кодом в жанре "BI для небогатых". Под капотом DuckDB-WASM, снаружи приложение на React. Позволяет строить разные интерактивные дашборды, с графиками и без, с AI и без. Самое главное что небольшими усилиями. Не no-code, но ближе к low-code.

У них симпатичный пример аналитики через LLM [2] и много других примеров. В живых примерах также интересно посмотреть на Flowmap City [3] и Cosmograph [4].

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

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

Ссылки:
[1] https://sqlrooms.org
[2] https://sqlrooms-ai.netlify.app/
[3] https://www.flowmap.city/
[4] https://cosmograph.app/

#opensource #duckdb #data #dataviz #datatools
Ещё одна любопытная СУБД для аналитики GreptimeDB [1] на высоких позициях в метриках JSONBench [2] и похоже что хорошо годится для сохранения логов и как JSON хранилище.
Существует в форме открытого кода, коммерческого продукта и облака. Открытый код под лицензией Apache 2.0

Не удалось найти какой движок внутри, похоже какой-то собственный.

Продукт относительно новый, менее 2-х лет, но с венчурным финансированием в 2022 и 2023 годах.

Даже странно что он не так уж популярен.

Ссылки:
[1] https://greptime.com
[2] https://jsonbench.com

#opensource #rdbms #data #datatools
Marimo [1] альтернатива Jupyter Notebook по созданию аналитических и научных тетрадок. Среди многих альтернатив отличается наличием открытого кода под лицензией Apache 2.0. Даёт некоторое число фич которых нет у Jupyter, например, встраивание UI элементов, ячейки с SQL, визуализации и ряд других фич.

Конечно, объективно, сравнивать надо не только с Jupyter, но и с Deepnote, Hex, Google Collab, но те врядли будут доступны с исходным кодом.

Ссылки:
[1] https://marimo.io

#opensource #datascience #data #datatools
Для тех кто пользуется или планирует пользоваться DuckDB я закинул в рассылку подборку ограничений и особенностей применения из личного опыта.

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

#duckdb #rdbms #datatools
Для тех кто работает с CSV файлами, неплохой и даже немного смешной текст A love letter to the CSV format [1] где автор рассуждает и расхваливает преимущества CSV формата для данных и аргументы его неплохи, но... лично мне недостатки не перевешивают. На его 9 пунктов я могу пару десятков пунктов написать о недостатках CSV, но плюсы тоже есть, чего уж тут скрывать. И, правильнее сказать что не один автор, а авторы, создатели утилиты xan, the CSV magician [2] для обработки CSV файлов.

Утилита эта является переписанной и переработой утилиты xsv [3] и позволяет вытворять самое разное с CSV файлами, включая визуализации, параллельную обработку, просмотр с командной строки и ещё многое другое.

Хороший инструмент, у него только один недостаток, он работает только с CSV файлами😂

Для тех кто любит командную строку и CSV формат - незаменимая штука.

Ссылки:
[1] https://github.com/medialab/xan/blob/master/docs/LOVE_LETTER.md
[2] https://github.com/medialab/xan
[3] https://github.com/BurntSushi/xsv

#opensource #data #datatools
Полезные ссылки про данные, технологии и не только:
- DuckDB Roadmap [1] команда DuckDB опубликовала дорожную карту. Много любопытного, обещают шифрование базы данных в будущем, поддержку парсинга XML
- FastOpenAPI [2] библиотека для Python для быстрого создания документации и схемы API по стандарту OpenAPI. Поддерживает Flask, Falcon, Starlette, Sanic и Tornado. Полезно для очень быстрого развертывания API с помощью Python.
- CSVConf [3] пройдёт в сентябре 2025 года в Болонье, Италия. Это конференция больше про сообщество чем про индустрию, там про применение данных в исследованиях и гражданском обществе. Ещё есть время подать заявку на выступление [4]
- Streamlining access to tabular datasets stored in Amazon S3 Tables with DuckDB [5] в блоге Amazon о том как настраивать хранилище файлов для прямого доступа к S3 таблицам через DuckDB.
- Unstructuted [6] open source и SaaS сервис для обработки данных через извлечение их из PDF, HTML, Word и других документов. Интересная бизнес модель, открытый код доступен, а через его же библиотеку и утилиту командной строки можно подключить аккаунт их облачного продукта и преобразовывать данные быстрее с его помощью. Такая бизнес модель аллергии не вызывает, похоже на хороший, годный продукт.

Ссылки:
[1] https://duckdb.org/docs/stable/dev/roadmap.html
[2] https://github.com/mr-fatalyst/fastopenapi
[3] https://csvconf.com/
[4] https://docs.google.com/forms/d/e/1FAIpQLSdoCI37INVkMMI3tcRLJ5dr2Lfrd86TqH_NjvhT02xoSUMYmw/viewform
[5] https://aws.amazon.com/ru/blogs/storage/streamlining-access-to-tabular-datasets-stored-in-amazon-s3-tables-with-duckdb/
[6] https://github.com/Unstructured-IO/unstructured

#opensource #data #datatools
В качестве регулярных напоминаний, за долгое время я написал немало инструментов с открытым кодом для работы с данными. За что члены команды меня регулярно ругают потому что основная моя работа искать клиентов и профессионалов в команду, но слишком я люблю работать руками, поэтому разного рода инструментов создал много и часть поддерживаю.

- newsworker - библиотека для Python по автоматическому извлечению новостей из веб страниц. Анализирует структуру веб страницы, кластеризует блоки, идентифицирует элементы блоков, парсит даты и создаёт RSS ленту на основе. Написал это много лет назад и до сих пор использую, но уже не обновляю

- qddate - библиотека для Python для парсинга дат в условно любом формате, которые могут быть написаны на 8 языках, в разных стилях и тд. Особенность в том что работает она очень быстро, не использует регулярные выражения, а вместо этого внутри используется библиотека pyparsing. Плюс куча оптимизаций по тому как парсить даты максимально быстро. До сих пор использую, но код практически не обновлялся

- undatum - утилита командной строки для обработки данных в форматах CSV, JSON, NDJSON, Parquet, BSON и др. Изначально была цель сделать аналог xsv для NDJSON. В целом получилось и я ей пользуюсь до сих пор, но с недавних пор чаще использую DuckDB из-за значительно большей производительности. Возможно утилиту переделаю однажды.

- apibackuper - утилита командной строки для архивации API. Странно звучит, но да, утилита через API выгружает все данные последовательным перебором и сохраняет их в виде датасета JSON Lines/NDJSON. Активно используется внутри Dateno для сбора метаданных и в Ruarxive для архивации

- metacrafter - утилита и библиотека для идентификации семантических типов данных. Полезна для выявления смысловых полей в датасетах: адресов, названий компаний, кодов типа ИНН, ОГРН, КПП и тд., а также для идентификации персональных данных. Делал я её относительно недавно, умеет она работать и с файлами и с базами данных. Тоже используется в Dateno

- docx2csv - утилита извлечения таблиц из файлов docx. Очень простая и были планы перенести этот код в универсальный дата конвертер.

- pyiterable - библиотека для Python для потокового чтения дата файлов таких как BSON, JSON, NDJSON, Parquet, ORC, XLS, XLSX и XML в том числе сжатых Gzip, Bzip2, ZStandard и другими компрессорами. Используется внутри metacrafter и undatum.

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

#opensource #data #datatools
Какое-то время я рассуждал о том как было бы хорошо если бы был инструмент для очистки и подготовки данных вроде OpenRefine, но более производительным движком внутри. Потому что OpenRefine хорошая штука, но с собственным движком на Java по работе с данными в памяти и всеми вытекающими из этого ограничениями на размеры датасетов. По личному опыту датасет в несколько гигабайт он уже тянет с трудом, на "стандартном настольном железе".

И вот вижу первый такой продукт, Coco Alemana [1] настольное приложение для очистки данных с DuckDB в качестве внутреннего движка. Обещают что работает с файлами до 50ГБ и нативную поддержку Parquet. Чем-то похоже на недавно появившийся DuckDB UI, но с акцентами на чистке и обработке данных.

Из дополнительных плюсов - быстрый поиск по данным и UI к базам данных.

Из минусов:
- работает только на Mac OS X, так что проверить лично смогут пока только маководы
- открытого кода нет, скорее это будет коммерческий продукт в будущем

Ссылки:
[1] https://www.cocoalemana.com

#duckdb #data #datatools #dataquality
Я вот всё расхваливаю DuckDB как очень быстрый движок для обработки данных, а он не один такой. Например, ещё есть FireDucks который делает команда из японского NEC и который они активно оптимизируют конкурируя с DuckDB и Polars и в который добавляют поддержку ускорения через GPU.

Плюс разработчики много полезного пишут в своём блоге о том как они работают над оптимизацией обработки запросов [1]

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


P.S. Картинка отсюда [2].

Ссылки:
[1] https://fireducks-dev.github.io/posts/
[2] https://www.linkedin.com/posts/avi-chawla_pandas-is-getting-outdated-and-an-alternative-activity-7312407582340485120-fH_K?utm_source=share&utm_medium=member_desktop&rcm=ACoAAAA_-HABh4I2pH__YZElkrySwr_MWhdKIVs

#data #datatools #opensource