Ivan Begtin
7.98K subscribers
1.81K photos
3 videos
101 files
4.52K 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
Download Telegram
В блоге Clickhouse о том как ускорять запросы в Pandas в 87 раз [1], что, с одной стороны неплохо, а с другой стороны лукавство. Потому что есть Polars, Daft и, конечно, DuckDB. То что chDB может ускорить приведенный пример запросов в 87 раз - вполне можно поверить, но другие то продукты и побыстрее могут.

В общем, в плане технологического евангелизма тут какой-то провал, из рассказов про chDB я вижу только один резон применять его, если вся инфраструктура построена на Clickhouse и есть люди в команде поднаторевшие в оптимизации Clickhouse.

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

Ссылки:
[1] https://clickhouse.com/blog/chdb-pandas-dataframes-87x-faster

#opensource #clickhouse #datatools
Ещё один полезный для чтения текст Open Source is not a Business Model
[1] в сторону продвижения Fair Source [2] как открытие кода с ограничениями не мешающими на нём зарабатывать.

Лично я считаю что Fair Source - это модель вполне имеющая право на существование. Станет популярной - хорошо, не станет - тоже хорошо.

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

Ссылки:
[1] https://cra.mr/open-source-is-not-a-business-model
[2] https://fair.io

#opensource #readings #softwaredevelopment
Симпатичный продукт для тетрадок работы с данными Briefer [1], обещают поддержку Python и SQL, генерацию Data apps, ИИ помощника и построение дашбордов.

Поддерживаются Y Combinator и даже с открытым кодом и ещё интереснее их рассказ о том почему они с открытым кодом и каково это открывать код когда тебя финансируют венчурный фонд [3]. Ожидаемо там про выбор AGPL лицензии.

Ссылки:
[1] https://briefer.cloud/
[2] https://github.com/briefercloud
[3] https://briefer.cloud/blog/posts/launching-briefer-oss/

#opensource #datatools #data
Яндекс запустили аналог досок Miro в виде продукта Яндекс.Концепт [1], это новость, хорошая, даже не в рамках импортозамещения, а то что MIro в какой-то момент стал неоправданно дорогим продуктом. Я лично какое-то время Miro пользовался, но где-то в 2021 году почти перестал.

Из плюсов:
- есть перенос из Miro, автоматизированный
- практически бесплатное использование на сегодняшний момент

Из минусов:
- функциональности поменьше
- не все доски импортируется, у меня не перенеслись примерно 50%, почти все они это майндмапы вроде того что на картинке.

А чтобы два раза не писать, альтернативы с открытым кодом:
- Jitsu Meet [2] если нужно совмещение с системой звонков

А также:
- https://github.com/toeverything/AFFiNE
- https://github.com/penpot/penpot
- https://github.com/excalidraw/excalidraw
- https://github.com/tldraw/tldraw

P.S. Кстати, системная проблема со всеми продуктами в этой области в отсутствии универсального формата/стандарта. Если выбираешь инструмент, то переносить из него потом очень непросто.

Ссылки:
[1] https://yandex.ru/company/news/01-12-09-2024
[2] https://jitsi.org/jitsi-meet/

#whiteboards #miro #alternatives #opensource
Полезные ссылки про данные, технологии и не только:
- Governing data products using fitness functions [1] полезная статья с определением того что такое Data Product и как ими управлять, в первую очередь с архитектурной точки зрения.
- UIS Data Browser [2] новый каталог данных (статистики) ЮНЕСКО, данных немного, но есть API и массовая выгрузка.
- Why is language documentation still so terrible? [3] гневная статья где автор ругает все языки программирования кроме Rust. Претензий много и я с ним согласен и не только в отношении языков. Хорошую документацию на SDK или open source продукты встретишь нечасто.
- How We Made PostgreSQL Upserts 300x Faster on Compressed Data [4] про оптимизацию загрузки данных в PostgreSQL с помощью TimescaleDB, лично я не видел этот движок в работе, но для каких-то задач он может быть именно тем что нужно
- ImHex [5] шестнадцатеричный редактор с открытым кодом для реверс инжиниринга. На мой взгляд мало что заменит IDA Pro, но для задач не требующих хардкора и когда нет денег вполне себе полезный инструмент.

Ссылки:
[1] https://martinfowler.com/articles/fitness-functions-data-products.html#ArchitecturalCharacteristicsOfADataProduct
[2] https://databrowser.uis.unesco.org/
[3] https://walnut356.github.io/posts/language-documentation/
[4] https://www.timescale.com/blog/how-we-made-postgresql-upserts-300x-faster-on-compressed-data/
[5] https://github.com/WerWolv/ImHex

#opensource #data #datacatalogs #documentation #dbs
Пишут что PostgreSQL 17 может заменить NoSQL базы данных [1] потому что умеет грузить безсхемные JSON документы и обзавёлся несколькими функциями для работы с JSON документами. Новости прекрасная, если там всё так хорошо как описано, то это есть на чём проверить, очень хочется качественного сравнения с MongoDB и другими NoSQL СУБД построенными по модели хранения документов (MongoDB, ArangoDB и др), а также поисковые СУБД вроде Elastic, Meilisearch и тд.

Во многих СУБД есть поддержка JSON, но они оказываются весьма придирчивы к содержанию загружаемых документов. Потому и интересно как это сейчас в PostgreSQL.

И, в дополнение, полезный текст Postgres is eating the database world [2] о том как PostgreSQL вырос в мощную экосистему за последние годы.

Ссылки:
[1] https://www.linkedin.com/posts/mehd-io_the-last-release-of-postgresql-17-silently-activity-7250122811581640706-RLBD
[2] https://medium.com/@fengruohang/postgres-is-eating-the-database-world-157c204dcfc4

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

Тем больше меня радует начавшийся ренессанс 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
В блоге Rill, открытого кода и облака для визуализации данных, полезный текст The Rise of the Declarative Data Stack [1] полезный для всех кто сейчас смотрит на профессии дата аналитика, дата инженера, ML инженера и тд.

Если коротко то в последние годы почти все популярные дата продукты превращаются в платформы для декларативного программирования. Это когда вместо кода пишешь YAML конфигурационные файлы.

Можно просто мем уже нарисовать в стиле "все думают что дата инженерия это когда много SQL и программирования на Python/Java, а по факту это бесконечное число YAML файлов".

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

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

Ссылки:
[1] https://www.rilldata.com/blog/the-rise-of-the-declarative-data-stack

#opensource #yaml #programming
Подборка полезных 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
Полезная статья Is MySQL Dying? [1] для понимания того как развиваются современные СУБД, от Tim Sehn, создателя облачной СУБД Dolt, совместимой с MySQL.

Сам продукт Dolt интересный, это одна из немногих версионируемых СУБД, её, например, активно используют в игровой индустрии. Но тут интереснее прочитать про судьбу экосистемы MySQL.

Можно узнать, например, что AWS гораздо эффективнее монетизирует MySQL совместимую облачную СУБД чем Oracle, де факто владелец MariaDB PLC, компании создающей оригинальную версию MySQL/MariaDB. При этом интерес к MySQL с годами снижается, а к PostgreSQL, наоборот, растёт. Автор связывает это, в том числе, с тем что в PostgreSQL значительно раньше появилась поддержка векторов и, соответственно, применение СУБД для LLM значительно продвинулось, а в MySQL поддержка векторов появилась совсем недавно.

Ссылки:
[1] https://www.dolthub.com/blog/2024-10-14-is-mysql-dying/

#opensource #rdbms #mysql #postgresql
Please open Telegram to view this post
VIEW IN TELEGRAM
Подборка ссылок про данные, технологии и не только:
- OpenSeaMap [1] аналог OpenStreetMap для морей, открытая краудсорсинговая карта морей и морской инфраструктуры. Нигде не видел сравнений масштабов проекта с коммерческими, но может быть есть шанс повторить судьбу OSM ?
- Data Formulator [2] инструмент по автоматизации визуализации данных с помощью ИИ. Создан исследователями из Microsoft в рамках научной работы. Впервые опубликовали в январе 2024, а в октябре добавили возможность запускать его локально
- 30DayMapChallenge [3] глобальный конкурс для GIS специалистов с ежедневными задачками по визуализации геоданных. В этот раз задачки на ноябрь 2024. Для тех кто хочет показать что умеет визуализировать данные - это очень хороший конкурс чтобы показать себе и другим уровень своих навыков.
- A Business Analyst’s Introduction to Business Analytics [4] книга по бизнес аналитике в открытом доступе. Все примеры на языке R, для тех кто интересуется первым и знает второе - самое оно.
- First aid for figures [5] добротная подборка ресурсов о том как учёным лучше оформлять их работы, научные иконки для замены текстов, оформление таблиц, оформление изображений и тд.
- Chart.css [6] один из самых простых инструментов рисования графиков с помощью элементов HTML и CSS стилей. Поддерживает много видов графиков, очень просто настраивается и очень легковесен.
- A vision for public sector data in Scotland [7] в Шотландии моделируют стратегию региона по работе с госданными. Для этого там создали группу экспертов из 30 человек и под названием Horizon Scan Group после чего те разработали вот такой документ долгосрочного видения
- Using Rust in Non-Rust Servers to Improve Performance [8] большой гайд о том как оптимизировать выполнение задач с помощью Rust для проектов не на Rust. Ваш код медленно работает? Так его можно переписать на Rust, во много как альтернатива переписывания его на C++.

Ссылки:
[1] http://openseamap.org
[2] https://github.com/microsoft/data-formulator
[3] https://30daymapchallenge.com/
[4] https://www.causact.com/
[5] https://helenajamborwrites.netlify.app/posts/24-10_linkcollection/
[6] https://chartscss.org/
[7] https://community.thedatalab.com/news/2187703
[8] https://github.com/pretzelhammer/rust-blog/blob/master/posts/rust-in-non-rust-servers.md

#opensource #gis #dataviz #opendata
Кстати, я вот не обращал внимание, а сегодня обнаружил что Datalens [1] существует как open source продукт.

И сразу много вопросов к залу.

Есть ли кто-то кто развертывал его в корпоративной сети или в облаке? Есть ли какие-то зависимости от чужих сервисов или можно использовать хоть в полностью закрытой сети?

И ещё вопрос, кем теперь будет развиваться этот продукт, Яндексом или Nebius ?

Есть задачи где нужны похожие BI и хочется понять стоит ли развертывать локально и экспериментировать с Datalens.

Ссылки:
[1] https://datalens.tech

#opensource #dataviz
Github опубликовали Octoverse report [1] со множеством инсайтов по популярности языков разработки и другими цифрами по состоянию сообщества .

Вот несколько из них которые я бы выделил:
- Python - это язык номер один по популярности, в основном из-за применения в ИИ/с ИИ.
- быстрее всего ИТ сообщество растёт в Индии (надо отметить что почти наверняка из-за того что в Китае есть ограничения на использование Github'а и локальные альтернативы)
-из крупнейших ИТ сообществ вылетела Франция и влетела Индонезия. Российское сообщество осталось несмотря на ограничения, санкции и импортозамещение.
- но ожидается что российское сообщество резко сократится к 2028 году, а Индийское станет крупнейшим
- основные контрибьюторы в открытый код из США и Индии. Обратите внимание что не из РФ, потому что разработчики из РФ меньше контрибьютят в открытый код и больше работают с закрытыми репозиториями, видимо?

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

Ссылки:
[1] https://github.blog/news-insights/octoverse/octoverse-2024/

#opensource #github #it
Пока я рассуждал о том что новые инструменты 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
В рубрике полезных инструментов с открытым кодом docling [1] от IBM Open Source и конкретнее их команды Deep Search. Утилита и библиотека для Python по преобразованию условно любых документов в Markdown. Умеет работать с (PDF, DOCX, PPTX, Images, HTML, AsciiDoc, Markdown и преобразует их в Markdown или JSON.

При этом распознает сканированные документы, извлекает таблицы и поддерживает множество движков распознавания. Интегрируется с LangChain и LllamaIndex, значительно быстрее работает при наличии CUDA.

Я проверял без графического процессора, поэтому было небыстро, но результирующий Markdown текст вполне приличный.

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

Ссылки:
[1] https://ds4sd.github.io/docling/

#opensource #pdf #dataengineering
К вопросу о том как развивается открытый код и открытые данные в мире, я как-то уже упоминал про Registry of Digital Public Goods [1], это по сути, пример систематизации открытого кода донорами которые дают финансирование на открытый код, чаще всего, или, социально ориентированным коммерческим компаниям или технологическим НКО. И тех и тех в мире много, открытого кода тоже много вот собственно в этом реестре их начали вносить в привязке к целям устойчивого развития.

Из всех технологических инициатив связанных с ООН эта наиболее понятная, собственно она сама является открытым стандартом описания проектов [2].

А заодно позволяет оценить насколько эффективно создание ПО на грантовые средства и насколько устойчивы создаваемые проекты. Если присмотреться к тому что там опубликовано, то есть немало проектов созданных по принципу "отчитались и ну его". Иначе говоря код выложен однократно, чтобы соответствовать требованиям гранта.

Но есть и серьёзные проекты. В реестре есть FormSG [3] открытый код по генерации форм, созданный Правительством Сингапура. Там есть CKAN [4] наиболее популярный код для создания порталов открытых данных и ещё много всего.

Что характерно там сейчас 176 проектов, но в реальности их гораздо больше. тут лишь те авторы которых явным образом о себе заявили и прошли верификацию. Причём проекты как от НКО, так и от госорганов. Главное что открытый код и соответствие целям развития.

Можно обратить внимание что из РФ, ожидаемо, ни одного проекта нет. Из Армении есть один, созданный явно на грантовые деньги. Пара проектов из Казахстана, тоже, похоже, грантового происхождения. Из Эстонии там есть X-Road, госпроект ПО по обмену данными, в открытом коде.

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

Ссылки:
[1] https://www.digitalpublicgoods.net/registry
[2] https://www.digitalpublicgoods.net/standard
[3] https://www.digitalpublicgoods.net/r/formsg
[4] https://www.digitalpublicgoods.net/r/ckan

#opensource #opendata #un
В рубрике полезных инструментов по автоматизации визуализации данных Visprex [1] визуализация CSV файлов сразу в браузере, без передачи куда либо.

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

Из минусов - это типы данных они угадывают по полям в CSV, а если бы точно также визуализировали Parquet файлы то типы там были бы уже сразу.

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

Ссылки:
[1] https://github.com/visprex/visprex

#opensource #dataviz #autodataviz