Ivan Begtin
7.99K subscribers
1.88K photos
3 videos
101 files
4.58K 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]
Download Telegram
Полезные ссылки про данные, технологии и не только:
- 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] https://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