Ivan Begtin
8.05K subscribers
1.96K photos
3 videos
102 files
4.67K 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 [email protected]
加入频道
SQL Has Problems. We Can Fix Them: Pipe Syntax In SQL [1] научная статья от исследователей Google про GoogleSQL. Особенность в том что это не альтернативный новый язык, а именно специальный диалект для удобного написания конвейеров и так называемого pipe syntax для SQL.

GoogleSQL уже реализован во многих их продуктах вроде BigQuery, F1 и ZetaSQL [2]

Ссылки:
[1] https://research.google/pubs/sql-has-problems-we-can-fix-them-pipe-syntax-in-sql/
[2] https://github.com/google/zetasql

#google #sql #datatools #data
Со стороны и не скажешь, но всю жизнь я лично был большим фанатом командной строки. Потому что печатать быстрее и удобнее чем кликать в интерфейсе, а визуальное растровое отображение элементов интерфейса нужно, на самом деле, очень редко.

Тем больше меня радует начавшийся ренессанс TUI (Text User Interface) приложений, в виде командной строки или в виде интерактивных, но текстовых, инструментов которые можно запускать локально или на терминале.

Поэтому подборка полезного open source с командной строкой и TUI:
- stu [1] текстовый навигатор (TUI) для корзин s3. Удобно для тех кто любит командную строку и работу с серверами через терминал. Работает на базе движка ratatui [2] для Rust, помогающего быстро создавать текстовые приложения.
- csvlens [3] ещё одна утилита с текстовым интерфейсом для манипуляции с CSV файлами. Тоже на базе ratatui. Кстати, стоит посмотреть галерею других TUI приложения, там много полезного [4]
- goaccess [5] текстовый интерфейс для анализатора логов веб сервера в реальном времени.
- visidata [6] текстовый интерфейс для просмотра табличных данных в разных форматах
- htop [7] альтернатива top, монитору процессов для Unix.

Ссылки:
[1] https://github.com/lusingander/stu
[2] https://github.com/ratatui/ratatui
[3] https://github.com/YS-L/csvlens
[4] https://ratatui.rs/showcase/apps/
[5] https://github.com/allinurl/goaccess
[6] https://github.com/saulpw/visidata
[7] https://github.com/htop-dev/htop/

#cli #commandline #opensource #tools #datatools
Data Pond (Пруд данных) - это как data lake, но поменьше. На последнем DuckCon интересное выступление спикера из Fivetran о том как они делали озеро данных на DuckDB [1] и в блоге проекта dlthub рассуждения его основателя про portable data lake [2], а по сути это и есть data pond о чём автор и пишет. Если не обращать внимание на желание делать его именно на dlthub, в остальном такие задачи потребности реально есть.

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

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

Ссылки:
[1] https://www.youtube.com/watch?v=I1JPB36FBOo
[2] https://dlthub.com/blog/portable-data-lake

#datatools #data #opensource
Подборка полезных open source инструментов для работы с данными и не только:
- JameSQL [1] внедряемая NoSQL СУБД похожая на MongoDB. Несколько лет назад я бы сказал, "о как хорошо", а сейчас слишком много альтернатив в виде NewSQL продуктов, вроде DuckDB и аналогов. NoSQL базы уже не единственные инструменты работы с JSON'ами
- pyloid [2] библиотека для написания бэкэндов для настольных браузерных приложений/продуктов типа Electron. Для тех кто хочет писать настольные приложения на связке JS + Python
- tabled [3] библиотека и командная строка для извлечения таблиц из PDF. Лично я ещё не пробовал, а надо попробовать на неанглийском языке. Много есть PDF документов на разных языках на которых хотелось бы такое опробовать.
- nixiesearch [4] движок для организации поиска, работает поверх Apache Lucene. Выглядит неплохо, надо потестить на реально больших данных которые у нас есть. К вопросу о декларативном программировании, тут оно тоже есть, все настройки в YAML файле:)
- Vortex [5] колоночный формат файла и набор инструментов альтернативных Parquet и Apache Arrow. Выглядит интересно, но нужны сравнения. Кто сделает сравнение?
- Stricli [6] для тех кто любит командную строку и Javascript удобный фреймворк для первого на втором.

Ссылки:
[1] https://github.com/capjamesg/jamesql
[2] https://github.com/pyloid/pyloid
[3] https://github.com/VikParuchuri/tabled
[4] https://github.com/nixiesearch/nixiesearch
[5] https://github.com/spiraldb/vortex
[6] https://bloomberg.github.io/stricli/

#opensource #data #datatools #csv #pdf #search
Пока я рассуждал о том что новые инструменты data wrangling'а (манипуляция и трансформация данных) появятся уже на базе движков вроде DuckDB или Clickhouse, они начали появляться. Свежее видео выступления Hannes Mühleisen - Data Wrangling [for Python or R] Like a Boss With DuckDB [1] ровно про это и слайды к нему же [2].

Автор/докладчик там сравнивает DuckDB в загрузке файлов и упоминает duckplyr [3] очень производительный заменитель популярной библиотеки Dplyr [4] для языка R.

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

Я бы ещё добавил что хорошо и правильно сравнивать и с интерактивными инструментами вроде OpenRefine, Talend, Trifacta и ещё рядом других. Собственно только отсутствие UI поверх движка DuckDB или Clickhouse ограничивает их популярность.

Если бы, к примеру, OpenRefine авторы переделали на движок DuckDB то цены бы ему не было и возможность работать с большими данными стала бы естественной. Но OpenRefine так просто не переделать, так что больше надежды что это создаст кто-то другой.

Я какое-то время назад проектировал такой движок и могу сказать что это не так сложно. Если бы не прорыв в индексации каталогов данных превратившийся в Dateno, я может быть такой data wrangling инструмент бы даже попробовал сделать, но сейчас просто мало времени на такое, тоже интересное занятие.

P.S. Кстати, для Python есть аналог dplyr под названием dplython [5], но попроще.

Ссылки:
[1] https://www.youtube.com/watch?v=GELhdezYmP0&list=PL9HYL-VRX0oSFkdF4fJeY63eGDvgofcbn&index=66
[2] https://blobs.duckdb.org/posit-conf-2024-keynote-hannes-muehleisen-data-wrangling-duckdb.pdf
[3] https://github.com/tidyverse/duckplyr?tab=readme-ov-file
[4] https://dplyr.tidyverse.org/
[5] https://github.com/dodger487/dplython

#opensource #data #datatools #rdbms #duckdb #dataengineering
Я тут регулярно рассуждал про форматы файлов для публикации данных онлайн, в последний раз в тексте на Substack и постоянно говорю о том что надо публиковать данные в формате parquet везде где только можно, а те кто создают корпоративные озёра данных уже изучают и пишут про формат Hoodie из проекта Apache Hudi.

То что я могу сказать, так то что для открытых и иных общедоступных данных он будет применяться ещё очень нескоро. Даже формат файлов Apache Parquet, которому уже более 11 лет, за пределами data science стал применяться сравнительно недавно.

Тем не менее, за пределами форматов файлов находится платформенный режим доступа к данным. Google BigQuery как наиболее яркий пример, но есть ещё дата продукты в маркетплейсе Databricks, дата продуктах на Amazon и многих других.

#opendata #data #dataformats #datatools
Teable [1] опенсорс продукт и онлайн сервис по созданию интерфейса а ля Airtable поверх баз Postgresql и Sqlite.

Для тех кто ранее сталкивался с Airtable и редактировал онлайн свои таблицы - это более чем идеальная замена. Если Airtable ушли по пути стремительной монетизации и превращения онлайн таблиц в конструкторы приложений, то тут продукт куда более близкий к изначальной идее таблиц онлайн. Фактически это онлайн замена MS Access, но, и это важно, поверх классической СУБД. А то есть данные можно править и вручную и автоматизировано.

Я теста ради загрузил одну из наиболее крупных таблиц из Airtable что у меня были, это таблица российских госдоменов для проекта @ruarxive (Национальный цифровой архив) и работает сервис прекрасно.

Ещё одна важная его особенность - это его можно разворачивать локально и работать со своими данным на собственном экземпляре продукта.

Ну а также они в бета режиме сейчас предоставляют сам сервис онлайн бесплатно, но монетизацию рано или поздно введут, так что open source выглядит интереснее.

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

#opensource #datasets #datatools
В рубрике интересных проектов по работе с данными 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
Оказывается в декабре команда OpenRefine [1], инструмента по ручной очистке данных, опубликовала результаты опроса пользователей о том к какой группе те себя относят, как пользуются и так далее.

И по группам результаты даже чуть удивительные.
Основные пользователи (38%) - это исследователи, а вот следом за ними следующие - это библиотекари.
Далее идут по сообществам:
- Data Science
- Wikimedian
- GLAM

И где-то там же ещё и дата журналисты, digital humanities и тд.

По сути это инструмент как раз для обработки данных в гуманитарных профессиях, относительно небольшого объёма, но с прицелом на работу со связанными данными, Wikipedia/Wikimedia и так далее.

Подозреваю что и Data Science там тоже в контексте не корпоративных, а исследовательских данных.

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

Например, дата журналистам или историкам OpenRefine полезен, аналитиков логичнее учить делать то же самое с помощью дата фреймов, дата инженеров с помощью конвееров данных и так далее.

А сам OpenRefine хороший инструмент, но упершийся в жёсткие ограничения внутреннего движка. Если бы я не был так увлечен Dateno я бы всерьёз озадачился созданием UI похожего на OpenRefine, но на движке DuckDB или Polars.

Ссылки:
[1] https://openrefine.org
[2] https://openrefine.org/blog/2024/12/20/2024-survey-results

#opendata #opensource #datatools
Продолжая рассуждения про OpenRefine, я какое-то время довольно быстро сделал движок mongorefine [1] в котором воспроизвёл некоторые ключевые функции OpenRefine в в виде библиотеки поверх MongoDB. Но после тестов выяснилось что хотя это и очень гибкая штука, но безбожно медленная.

К сравнению DuckDB или Polars не такие гибкие, зато работают с данными значительно большего объёма на десктопе.

У OpenRefine есть две ключевые фичи которые наиболее трудоёмки:
1. История всех изменений датасета. Это не так сложно как может показаться, но на большом датасете начинает кушать много дискового пространства.
2. UI для пользователя. Без UI, в виде библиотеки - эта задача проста. С UI - это становится не так просто. Вот я, например, нужными навыками для создания таких сложных пользовательских интерфейсов не обладаю.

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

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

#opensource #datatools #thoughts
Подборка полезных ссылок инструментов с открытым кодом:
- pyper [1] библиотека для Python для параллельной обработки данных, упрощает работу с потоками, делает её значительно проще.

- Gemini-search [2] альтернатива для Perplexity на базе LLM модели Gemini от Google. Плюс: хостится локально. Минус: за обращения к API Гугла надо платить. Мне не удалось её заставить работать, но демо выглядит интересно, надеюсь скоро будет работоспособнее

- Automatisch [3] open source аналог Zapier, используется для интеграции и автоматизации разных онлайн сервисов типа Twitter, Spotify, Google Docs и др. Сервисов таких много, но тут открытый код.

- crawl4ai [4] веб краулер с построением конвееров для обработки страниц для LLM и не только. Мне вот есть куда прикрутить краулер, может быть даже именно этот. А вообще удивительно насколько стремительно становятся популярными именно AI-powered инструменты. К примеру, похожий краулер Browsertrix для веб архивации имеет всего 223 лайка. А у crawl4ai сразу 25 тысяч лайков. Разница, реально, на 2 порядка и интенсивность разработки аналогично.

- PDFMathTranslate [5] open source инструмент перевода научных статей на другие языки, с сохранением всех формул, изображений и тд. Поддерживает все актуальные разговорные языки используемые в науке: английский, китайский, французский, немецкий, русский, испанский и тд. Существует в виде онлайн сервиса с ограничением в менее чем 5MB [6] или можно скачать и развернуть у себя

Ссылки:
[1] https://github.com/pyper-dev/pyper
[2] https://github.com/ammaarreshi/Gemini-Search
[3] https://github.com/automatisch/automatisch
[4] https://github.com/unclecode/crawl4ai
[5] https://github.com/Byaidu/PDFMathTranslate
[6] https://pdf2zh.com/

#opensource #datatools #ai #crawlers #search
Золотая эпоха баз данных

Я несколько раз уже слышал в выступлениях разработчиков систем управления базами данных (DBMS) о том что сейчас золотая эпоха их создания, и не только самих баз данных, но и инструментов, фреймворков и новых продуктов для работы с данными, всё что связано с дата инженерией.

И да, после размышлений я прихожу к тому же выводу. Число новых DBMS, как совершенно новых, так и использующих существующие движки в расширениями и оптимизацией, растёт стремительно.

Можно посмотреть, например, на базу Database of Databases чтобы увидеть сколько новых движков появляется ежегодно. Или можно посмотреть на аналитические DBMS в бенчмарке Clickbench. Там десятки конкурирующих инструментов и платформ и это ещё не все движки охвачены.

Аналогично с библиотеками с библиотеками работы с датафреймами. Их уже больше десятка в среде дата аналитиков работа с pandas это скорее унаследованный код чем быстрый код. Есть бенчмарки Database-like ops покрывает 13 библиотек (не самый актуальный, 4 летней давности) и полугодовой давности DataFrames at Scale Comparison с покрытием 4-х библиотек. И это только те бенчмарки которые нейтральные, а есть множество которые делают сами разработчики. Чаще не нейтрально, а подгоняя под особенности своей библиотеки.

Похожая ситуация с ETL/ELT инструментами, BI/OLAP/визуализацией данных, инструментами извлечения данных и так далее.

Это всё формирует нереальную конкуренцию, а вместе с ней усилия команд по непрерывному улучшению их продуктов. К примеру, согласно ClickHouse Versions Benchmark производительность ClickHouse с ранних версий до текущих выросла почти вдвое. А скорость DuckDB выросла от 3 до 10 раз, а и возможность работы с данными большего размера в 10 раз на том же оборудовании.

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

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

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

#databases #rdbms #datatools #thoughts
DBT купили SDF

Это весьма важное событие в дата инженерии для тех кто пользуется облачной дата инфраструктурой особенно. DBT - платформа и одноимённая компания [1] по трансформации данных через декларативное описание SQL операций купили компанию (и продукт) SDF [2] который делал то же самое на их же движке, но гораздо эффективнее.

Ссылки:
[1] https://www.getdbt.com
[2] https://www.sdf.com

#datatools #moderndatastack #dbt #dataengineering
По итогам вчерашней лекции зафиксирую ключевые тезисы о которых я пишу тут давно, но фрагментировано:

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
Полезное чтение про данные, технологии и не только:
- 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
Свежий интересный продукт по контролю качества данных DQX - Data Quality Framework от Databricks Labs [1].

Плюсы:
- зрелость поскольку Databricks один из лидеров рынка дата инженерии
- хорошая документация, судя по первому взгляду
- декларативное описание тестов в YAML (тут очень субъективно)
- интегрированность и заточенность на работу с Apache Spark
- открытый код на Github

Минусы:
- зависимость от Databricks Workspace в их дата каталоге Unity
- код открыт но лицензия несвободная, а специальная Databricks License с ограничениями [2], вполне возможно внешних контрибьюторов это оттолкнёт

Он очень напоминает движок Soda [3] который тоже даёт возможность декларативного описания тестов, но ещё более заточенный на их облачный сервис и который бесплатен только в рамках 45 дней тестирования. Можно пользоваться из Soda Core, правда, который под лицензией Apache 2.0

Итоговая ситуация такова что из частично открытых остались только движки Soda и great_expectations [4] который также стремительно коммерциализируется, но вроде как его команда обещала сохранить продукт GX Core под лицензией Apache 2.0 и развивать его, но как бы не закончилось также как с Elasticsearch и MongoDB, со сменой лицензии или тем что новые ключевые возможности будут только в облачных сервисах.

А DQX продукт интересный, но хотелось бы то же самое, но без вот этого вот всего (с).

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

Поляна инструментов контроля качества данных совершенно точно заполнена не до конца и "рулят" на нём продукты в гибридном состоянии открытого кода и SaaS платформ.

Ссылки:
[1] https://databrickslabs.github.io/dqx/
[2] https://github.com/databrickslabs/dqx?tab=License-1-ov-file#readme
[3] https://github.com/sodadata/soda-core
[4] https://github.com/great-expectations/great_expectations

#opensource #dataquality #datatools
Написал в рассылку текст Работаем с дата фреймами. Почему не Pandas и какие альтернативы? [1] про альтернативы Pandas такие как Polars, Dask, DuckdB и cuDF. А также там же подборка ссылок на большое число параллельно развивающихся инструментов.

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

Ссылки:
[1] https://begtin.substack.com/p/pandas

#opensource #dataengineering #dataframes #datatools
В рубрике интересных продуктов для работы с данными PuppyGraph [1] (Щенячий граф) стартап и open-source продукт для взаимодействия с SQL базами данных с помощью графовых языков запросов таких как Gremlin и openCypher.

Основной лозунг под которым продукт продвигают это Query your relational data as a graph in real-time. Zero ETL. Главный акцент тут на том что графовые базы данных неудобны всегда были тем что туда необходимо было переносить данные из реляционных баз и это означало увеличение объёмов хранения и затраты ресурсов на обработку данных. А тут движок позволяет работать с условным PostgreSQL напрямую запросами.

Open source версия доступна под лицензией Apache 2.0 [2]. Команда в ноябре 2024 г. подняла $5 миллионов инвестиций [3], а сам продукт в первой версии появился ещё в марте 2024 года.

Ссылки:
[1] https://www.puppygraph.com
[2] https://github.com/puppygraph/puppygraph-query
[3] https://www.puppygraph.com/blog/puppygraph-raises-5-million-in-seed-funding-led-by-defy-vc

#opensource #rdbms #datatools
На чём быстро, просто и, желательно, недорого построить дашборд? Я лично всегда начинаю выбор с open source инструментов, часть из которых давно стали зрелыми продуктами, а другие позволяют проверить интересные технологии на практике.

Более известные
1. Apache Superset - используется уже повсеместно, много общедоступных инсталляций где можно посмотреть вживую. Например, экземпляр Superset Википедии. Уже зрелый продукт используемый многими компаниями по всему миру.
2. Grafana - довольно быстро вырвавшийся вперед инструмент для визуализации данных. Развивался изначально для отображения метрик и логов, а сейчас визуализирует почти что угодно. Для внутреннего использования очень удобно, для интеграции в свой продукт есть ограничения поскольку открытый код AGPL.
3. Metabase - когда-то основной конкурент Apache Superset, но стали отставать по скорости добавления новых возможностей и живут по принципу SaaS стартапа, с платным облачным сервисом и бесплатным продуктом для сообщества и под открытым кодом.
4. Redash - ещё один pure open-source продукт, открытый код для построения дашбордов , в этот раз под BSD2 лицензией и с поддержкой большого числа SQL и NoSQL источников данных.

Менее известные
5. Briefer - гибрид подготовки тетрадок (notebooks) и дашбордов. Изначально облачный сервис, потом выложили открытый код. Сама идея кажется разумной, но лицензия AGPL-3.0.
6. Quary - позиционируется как open source BI для инженеров. Инженерность, похоже, обеспечивается за счёт панели для SQL запросов? Выглядит простым, что может быть удобно для кого-то и полностью написан на Rust.

Непривычные
7. NeoDash - движок для дашбордов от Neo4J, базы данных и набора инструментов для работы с графами. Отличается той самой заточенностью на графовые данные. Сильно менее популярен чем другие и может быть даже малоизвестен. Лицензия Apache 2.0
8. SDMX Dashboard Generator - совсем редкая штука по созданию визуализации статистики по стандарту SDMX в виде дашборда. Открытый код, лицензия Apache 2.0. Изначально разрабатывался командой Банка международных расчётов (bis.org). Внутри используется движок Dash от Plotly

Не BI, не только дашборды
9. Dash от Plotly - нельзя назвать BI или дашбордопостроителем, это скорее инстурмент для создания data приложений. Может использоваться как компонент собственного продукта потому что лицензия MIT
10. Observable Framework не дашбордер, а генератор статистических сайтов для дата приложений. Идеально для дата сторителлинга и отчуждаемой дата аналитики. Может использоваться как часть своего продукта из-за необычной, но очень пермиссивной лицензии. Важное отличие от других продуктов - это создание статических снапшотов данных и отсутствие динамических запросов к СУБД.

Другие инструменты для дашбордов на которые стоит обратить внимание:
- Lightdash, Vizro, Datalens

#opensource #bi #datatools #dashboards #dataviz
Полезное чтение про данные, технологии и не только:
- 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