Fivetran официально объединились с dbt Labs, а до этого они поглотили Tobiko Data, создателей SQLMesh. У них теперь под контролем аж две команды создававшие продукты номер 1 и номер 2 по корпоративной обработке данных, что чертовски похоже на монополию (на самом деле нет) и вызывает вопросы по перспективам открытых версий dbt и SQLMesh потому что два конкурирующих продукта под одной крышей.
К тому же и крыша такая что не всем нравится Fivetran из-за его новой ценовой политики основанной на числе обрабатываемых строк.
Поэтому новость не могу отнести к хорошим, но будем ждать новых свежих открытых продуктов в этой области если dbt протухнут.
#dataengineering #data #datatools
К тому же и крыша такая что не всем нравится Fivetran из-за его новой ценовой политики основанной на числе обрабатываемых строк.
Поэтому новость не могу отнести к хорошим, но будем ждать новых свежих открытых продуктов в этой области если dbt протухнут.
#dataengineering #data #datatools
Fivetran
Fivetran and dbt Labs Unite to Set the Standard for Open Data Infrastructure | Press | Fivetran
Together, Fivetran and dbt are simplifying enterprise data management with a unified foundation that powers analytics and AI at scale.
🔥4❤2
Полезные ссылки про данные, технологии и не только
- State of AI Report за 2025 год, взгляд на состояние ИИ с точки зрения, в первую очередь, инвестиций. Очень полезная презентация с ключевыми фактами и трендами по рынку ИИ. Просто для чтения, какой-то разбор и факты оттуда отдельно.
- The era of open data infrastructure команда dbt Labs с обещаниями сохранения открытости после поглощения их Fivetran'ом. Не то чтобы до конца верится. Обратите внимание что это [open] [data infrastructure]. а не [open data] [infrastructure]. Маркетологи совсем иначе трактуют слова про открытость называя открытостью open to market и открытые стандарты.
- Bruin движок для построения конвееров данных на Python, включая трансформации с помощью SQL. Как легковесная альтернатива dbt. Бизнес модель идентичная dbt - облачный сервис Bruin Cloud, но их пока не поглотил Fivetran
- Lea другая альтернатива dbt, минималистичный SQL оркестратор. Чистый открытый код, без облачной и иной бизнес модели, но и с документацией похуже и скоростью разработки
- GET SDI греческий вентор и его геоинформационный портал на котором построены почти все ГИС страны. Греция одна из немногих стран со своим основным гео-вендором для онлайн ГИС, а я то все гадал откуда сложности с поиском их геопорталов, а ответ был на поверхности. Внутри, конечно, набор компонентов с открытым кодом
#opendata #geodata #data #opensource #datatools #ai #readings
- State of AI Report за 2025 год, взгляд на состояние ИИ с точки зрения, в первую очередь, инвестиций. Очень полезная презентация с ключевыми фактами и трендами по рынку ИИ. Просто для чтения, какой-то разбор и факты оттуда отдельно.
- The era of open data infrastructure команда dbt Labs с обещаниями сохранения открытости после поглощения их Fivetran'ом. Не то чтобы до конца верится. Обратите внимание что это [open] [data infrastructure]. а не [open data] [infrastructure]. Маркетологи совсем иначе трактуют слова про открытость называя открытостью open to market и открытые стандарты.
- Bruin движок для построения конвееров данных на Python, включая трансформации с помощью SQL. Как легковесная альтернатива dbt. Бизнес модель идентичная dbt - облачный сервис Bruin Cloud, но их пока не поглотил Fivetran
- Lea другая альтернатива dbt, минималистичный SQL оркестратор. Чистый открытый код, без облачной и иной бизнес модели, но и с документацией похуже и скоростью разработки
- GET SDI греческий вентор и его геоинформационный портал на котором построены почти все ГИС страны. Греция одна из немногих стран со своим основным гео-вендором для онлайн ГИС, а я то все гадал откуда сложности с поиском их геопорталов, а ответ был на поверхности. Внутри, конечно, набор компонентов с открытым кодом
#opendata #geodata #data #opensource #datatools #ai #readings
✍3❤3
Полезные ссылки про данные, технологи и не только:
- dash расширение для DuckDB для быстрого построения дашбордов. Напоминает некоторые open source BI инструменты, но тут во всём Parquet формат и DuckDB как инструмент запросов
- gizmosql построение SQL сервера на базе DuckDB и Apache Arrow Flight Server в тесной связке и с бенчмарками на типовых облачных серверах. Обещают легкое развертывание и работу с большими объёмами данных, но, ИМХО, конкретных примеров использования нехватает
- httpie хорошо известный в узких кругах разработчиков инструмент с открытым кодом для тестирования HTTP запросов и API в частности. Интересная альтернатива Postman, APIDog и им подобным. В 2021 году подняли $6.5 миллиона венчурного финансирования на облачный коммерческий продукт и вот уже более 7 месяцев не обновляют код, не публикуют ничего в блоге, твиттере и тд. Есть ощущение что то там случилось, как бы продукт не погиб
- fastmcp быстрое создание MCP интерфейса поверх приложения FastAPI. Выглядит привлекательно простотой разработки, но надо тестировать на практике конечно же.
- nextcloud облачный сервис и open source продукт управления файлами, календарем и документами созданный в Германии. Очень характерно наблюдать как просто из продукта на рынке они превращаются в инструмент цифрового суверенитета Евросоюза. Риторика, стиль публикаций и акценты до боли напоминают некоторые российские компании играющие в импортозамещение.
#opensource #tools #datatools
- dash расширение для DuckDB для быстрого построения дашбордов. Напоминает некоторые open source BI инструменты, но тут во всём Parquet формат и DuckDB как инструмент запросов
- gizmosql построение SQL сервера на базе DuckDB и Apache Arrow Flight Server в тесной связке и с бенчмарками на типовых облачных серверах. Обещают легкое развертывание и работу с большими объёмами данных, но, ИМХО, конкретных примеров использования нехватает
- httpie хорошо известный в узких кругах разработчиков инструмент с открытым кодом для тестирования HTTP запросов и API в частности. Интересная альтернатива Postman, APIDog и им подобным. В 2021 году подняли $6.5 миллиона венчурного финансирования на облачный коммерческий продукт и вот уже более 7 месяцев не обновляют код, не публикуют ничего в блоге, твиттере и тд. Есть ощущение что то там случилось, как бы продукт не погиб
- fastmcp быстрое создание MCP интерфейса поверх приложения FastAPI. Выглядит привлекательно простотой разработки, но надо тестировать на практике конечно же.
- nextcloud облачный сервис и open source продукт управления файлами, календарем и документами созданный в Германии. Очень характерно наблюдать как просто из продукта на рынке они превращаются в инструмент цифрового суверенитета Евросоюза. Риторика, стиль публикаций и акценты до боли напоминают некоторые российские компании играющие в импортозамещение.
#opensource #tools #datatools
www.dash.builders
Dash - Data Exploration Tool
Open-source data visualization tool with DuckDB.
👍10✍7❤5
Полезные ссылки про данные, технологии и не только:
- AI vs Gen Z: How AI has changed the career pathway for junior developers текст в блоге StackOverflow о том как тяжело теперь быть юным программистом (джуниором). Новых истин нет, лишь повторение того что ИИ меняет рынок разработки. Удивительно что в блоге StackOverflow, их тоже убивают ИИ агенты
- Announcing the Cloudflare Data Platform: ingest, store, and query your data directly on Cloudflare Cloudflare стремительно превращаются из инфраструктурной компании в дата компанию, теперь ещё и выкатили их дата платформу. Для продуктов не на российский рынок - это очень интересно, а в РФ его заблокируют рано или поздно.
- Python: The Documentary | An origin story история языка Python в документальном виде. Навевает ностальгию, при том что я сам с Python'ом начал работать только в 2001 году перейдя на него с Tcl/Tk+Expect+Shell. Многое поначалу казалось в нем странным, особенно отступы в коде, а потом это стал один из самых удобных языков разработки.
- RIP Tableau автор CTO компании Voi пишет про масштабный отказ от Tableau в их процессах. Я его понимаю и не понимаю тех кто продолжает полагаться на Tableau в работе. Интересно что заменили его на аналитическое решение на базе LLM
#links #readings #ai #data #datatools
- AI vs Gen Z: How AI has changed the career pathway for junior developers текст в блоге StackOverflow о том как тяжело теперь быть юным программистом (джуниором). Новых истин нет, лишь повторение того что ИИ меняет рынок разработки. Удивительно что в блоге StackOverflow, их тоже убивают ИИ агенты
- Announcing the Cloudflare Data Platform: ingest, store, and query your data directly on Cloudflare Cloudflare стремительно превращаются из инфраструктурной компании в дата компанию, теперь ещё и выкатили их дата платформу. Для продуктов не на российский рынок - это очень интересно, а в РФ его заблокируют рано или поздно.
- Python: The Documentary | An origin story история языка Python в документальном виде. Навевает ностальгию, при том что я сам с Python'ом начал работать только в 2001 году перейдя на него с Tcl/Tk+Expect+Shell. Многое поначалу казалось в нем странным, особенно отступы в коде, а потом это стал один из самых удобных языков разработки.
- RIP Tableau автор CTO компании Voi пишет про масштабный отказ от Tableau в их процессах. Я его понимаю и не понимаю тех кто продолжает полагаться на Tableau в работе. Интересно что заменили его на аналитическое решение на базе LLM
#links #readings #ai #data #datatools
stackoverflow.blog
AI vs Gen Z: How AI has changed the career pathway for junior developers - Stack Overflow
✍5⚡1
В качестве регулярных напоминаний, всяческий полезный [и бесполезный] код утилит для командной строки которые я когда-то делал и иногда продолжаю развивать когда это необходимо для работы,
например, для Dateno. Лично я испытываю глубокую привязанность к работе в командной строке отсюда и все эти инструменты:
- undatum - многофункциональная утилита для обработки данных изначально в формате JSON lines, делалась как xsv для JSON/JSON lines, я её лично активно и везде применяю.
- docx2csv - утилита по извлечению таблиц из файлов MS Word (.docx), настолько простая что надо её с чем-то объединить
- mongo2md - инструмент автоматизации документирования коллекций в MongoDB было полезно когда MongoDB была в основе технологического стека разных проектов, сейчас скорее буду переводить в статус легаси, но полезно как пример автодокументирования.
- metawarc утилита по извлечению метаданных из файлов WARC, умеет собирать данные из pdf, doc, docx, pdf, png, jpg, xls, xlsx и других файлов документов и изображений. Полезна для разного рода OSINT задач и для автоматизированного анализа WARC файлов
- apibackuper утилита для сбора данных из API через декларативно заданные правила. Использую её повсеместно и всё время хочу переписать чтобы вместо cfg файлов использовать yaml/toml, заменить zip контейнеры на базу duckdb и в целом сделать удобнее. Но и так работает
- wparc архиватор API и данных из Wordpress и файлов заодно. Одна из утилит для архивации сайтов для RuArxive
- lazyscraper скрейпер сайтов для лентяев, когда хочется извлечь данные минимальными усилиями и без программирования. Я её чуть-чуть не доделал чтобы даже xpath не использовать, но в остальном вполне рабочий инструмент
- metacrafter мой любимый инструмент идентификации структуры таблиц в файлах и таблицах с данными. Надо объединить с undatum её конечно же
- apicrafter утилита по быстрому созданию API поверх коллекций в MongoDB. Когда-то использовалась в проектах где основной стек был на MongoDB, сейчас всё по другому я бы делал
#opensource #data #datatools
например, для Dateno. Лично я испытываю глубокую привязанность к работе в командной строке отсюда и все эти инструменты:
- undatum - многофункциональная утилита для обработки данных изначально в формате JSON lines, делалась как xsv для JSON/JSON lines, я её лично активно и везде применяю.
- docx2csv - утилита по извлечению таблиц из файлов MS Word (.docx), настолько простая что надо её с чем-то объединить
- mongo2md - инструмент автоматизации документирования коллекций в MongoDB было полезно когда MongoDB была в основе технологического стека разных проектов, сейчас скорее буду переводить в статус легаси, но полезно как пример автодокументирования.
- metawarc утилита по извлечению метаданных из файлов WARC, умеет собирать данные из pdf, doc, docx, pdf, png, jpg, xls, xlsx и других файлов документов и изображений. Полезна для разного рода OSINT задач и для автоматизированного анализа WARC файлов
- apibackuper утилита для сбора данных из API через декларативно заданные правила. Использую её повсеместно и всё время хочу переписать чтобы вместо cfg файлов использовать yaml/toml, заменить zip контейнеры на базу duckdb и в целом сделать удобнее. Но и так работает
- wparc архиватор API и данных из Wordpress и файлов заодно. Одна из утилит для архивации сайтов для RuArxive
- lazyscraper скрейпер сайтов для лентяев, когда хочется извлечь данные минимальными усилиями и без программирования. Я её чуть-чуть не доделал чтобы даже xpath не использовать, но в остальном вполне рабочий инструмент
- metacrafter мой любимый инструмент идентификации структуры таблиц в файлах и таблицах с данными. Надо объединить с undatum её конечно же
- apicrafter утилита по быстрому созданию API поверх коллекций в MongoDB. Когда-то использовалась в проектах где основной стек был на MongoDB, сейчас всё по другому я бы делал
#opensource #data #datatools
❤5
Я на днях также решил проверить на практике вайб-кодирование применение ИИ в разработке и с помощью Cursor обновил и выпустил новую версию iterabledata библиотеки для Python с помощью которой можно можно одинаковым образом читать файлы csv, json, bson, parquet, xls, xlsx и xml так что ты перебираешь объекты возвращается как Python dict. Для тех кто пользовался csv.DictReader или библиотекой jsonlines это должно быть очень понятно.
Я эту библиотеку когда-то делал как ядро для утилит metacrafter и undatum с помощью которой с их помощью можно было анализировать условно любые файлы с данными сжатыми чем-угодно.
В этом собственно отчасти и есть задумка. Наборы данных часто распространяются сжатыми Gzip, Bzip2, LZMA, Brotli или Zstandard, а инструменты для датафреймов или движки вроде duckdb имеют ограничения на поддержку форматов. Также часто данные имеют не utf8 кодировку и вообще удобнее работать в унифицированном интерфейсе.
Так что я написал унифицированные интерфейсы для кодеков сжатия и для типов данных. Заодно написал пример того как преобразовать дампы Википедии из сжатого XML в JSON lines.
Оговорюсь что это пример практического интрумента, то есть реально делаешь то чем пользуешься повсеместно. Для не самых высокопроизводительных задач где нужна многопоточность он весьма полезен.
А теперь с помощью Cursor'а:
- обновил документацию, переформатировал, добавил примеров
- добавил примерно +30% тестов
- исправил несколько ошибок
- проанализировал каких тестовых данных нехватает, запланировал их добавить чтобы покрыть тестами почти все кейсы
Первое что я могу сказать это то что Cursor даёт очень хорошие результаты во всех задачах написания тестов, документирования и анализа кода. Неидеально, но очень неплохо.
Второе что писать сам код я бы не доверил поскольку бывает разная сложность и архитектурная логика и ИИ агенты понимают её лишь отчасти. Я пока не понимаю когда произойдет качественный переход ИИ агентов к пониманию архитектуры программных приложений и основных принципов их построения, но это не кажется нереалистичным.
Третье, следующая эволюция ИИ агентов для разработки явно должна быть на уровне снижения сложности тех задач которые реально требуют заморочится и часто это не задачи разработки. ИИ агент может проводить "оценку разумности" создаваемого и глубже понимать стратегические цели, а не только тактические решения. Например, ИИ агент может посмотреть на код и понять что это библиотека для Python, подтянуть рекомендации для этих библиотек, проанализировать зависимости, предложить автоматизировать тестирование под разные платформы и так далее.
#ai #coding #python #datatools #opensource
Я эту библиотеку когда-то делал как ядро для утилит metacrafter и undatum с помощью которой с их помощью можно было анализировать условно любые файлы с данными сжатыми чем-угодно.
В этом собственно отчасти и есть задумка. Наборы данных часто распространяются сжатыми Gzip, Bzip2, LZMA, Brotli или Zstandard, а инструменты для датафреймов или движки вроде duckdb имеют ограничения на поддержку форматов. Также часто данные имеют не utf8 кодировку и вообще удобнее работать в унифицированном интерфейсе.
Так что я написал унифицированные интерфейсы для кодеков сжатия и для типов данных. Заодно написал пример того как преобразовать дампы Википедии из сжатого XML в JSON lines.
Оговорюсь что это пример практического интрумента, то есть реально делаешь то чем пользуешься повсеместно. Для не самых высокопроизводительных задач где нужна многопоточность он весьма полезен.
А теперь с помощью Cursor'а:
- обновил документацию, переформатировал, добавил примеров
- добавил примерно +30% тестов
- исправил несколько ошибок
- проанализировал каких тестовых данных нехватает, запланировал их добавить чтобы покрыть тестами почти все кейсы
Первое что я могу сказать это то что Cursor даёт очень хорошие результаты во всех задачах написания тестов, документирования и анализа кода. Неидеально, но очень неплохо.
Второе что писать сам код я бы не доверил поскольку бывает разная сложность и архитектурная логика и ИИ агенты понимают её лишь отчасти. Я пока не понимаю когда произойдет качественный переход ИИ агентов к пониманию архитектуры программных приложений и основных принципов их построения, но это не кажется нереалистичным.
Третье, следующая эволюция ИИ агентов для разработки явно должна быть на уровне снижения сложности тех задач которые реально требуют заморочится и часто это не задачи разработки. ИИ агент может проводить "оценку разумности" создаваемого и глубже понимать стратегические цели, а не только тактические решения. Например, ИИ агент может посмотреть на код и понять что это библиотека для Python, подтянуть рекомендации для этих библиотек, проанализировать зависимости, предложить автоматизировать тестирование под разные платформы и так далее.
#ai #coding #python #datatools #opensource
GitHub
GitHub - datenoio/iterabledata: Python library to read, write and convert data files with formats BSON, JSON, NDJSON, Parquet,…
Python library to read, write and convert data files with formats BSON, JSON, NDJSON, Parquet, ORC, XLS, XLSX, XML and many others - datenoio/iterabledata
👍13❤🔥1
Полезные ссылки про данные, технологии и не только:
- A Deep Dive into DuckDB for Data Scientists о том как дата сайентистам использовать DuckDB. Если коротко, то всё довольно просто и понятно.
- ClickHouse welcomes LibreChat: Introducing the open-source Agentic Data Stack Clickhouse поглотил LibreChat, инструмент с открытым кодом для создания ИИ чатботов. Инструмент был хороший, надеюсь таким и останется.
- Hannes Mühleisen - Data Architecture Turned Upside Down отличное выступление Hannes Mühleisen про ключевые изменения в архитектуре данных последних лет. Полезно и по смыслу и по визуальному представлению хорошо
- agor: Next-gen agent orchestration for AI coding ИИ агент для управления ИИ кодированием, автор его создатель Superset и позиционирует этот проект как думай об асситентах для кодирования как о Figma. С открытым. кодом. Любопытно, но ИМХО автор плохо объясняет преимущества, как подхода, так и интерфейса.
#opensource #data #datatools #dataengineering #ai
- A Deep Dive into DuckDB for Data Scientists о том как дата сайентистам использовать DuckDB. Если коротко, то всё довольно просто и понятно.
- ClickHouse welcomes LibreChat: Introducing the open-source Agentic Data Stack Clickhouse поглотил LibreChat, инструмент с открытым кодом для создания ИИ чатботов. Инструмент был хороший, надеюсь таким и останется.
- Hannes Mühleisen - Data Architecture Turned Upside Down отличное выступление Hannes Mühleisen про ключевые изменения в архитектуре данных последних лет. Полезно и по смыслу и по визуальному представлению хорошо
- agor: Next-gen agent orchestration for AI coding ИИ агент для управления ИИ кодированием, автор его создатель Superset и позиционирует этот проект как думай об асситентах для кодирования как о Figma. С открытым. кодом. Любопытно, но ИМХО автор плохо объясняет преимущества, как подхода, так и интерфейса.
#opensource #data #datatools #dataengineering #ai
CodeCut
A Deep Dive into DuckDB for Data Scientists
Discover how DuckDB simplifies data querying with zero configuration and outperforms pandas for large datasets.
✍2
Полезные ссылки про данные, технологии и не только:
- quackstore расширение для DuckDB для кеширования облачных дата файлов, позволяет сильно ускорить выполнение запросов к облачным файлам благодаря их частичному сохранению. Полезная штука, её можно бы и сразу внутрь DuckDB ибо логично
- Catalog of Patterns of Distributed Systems для тех разработчиков кто хотят не только кодировать, но и двигаться в сторону архитектуры ПО.
- The Data Engineering Agent is now in preview Гугл запустили ИИ агента для дата инженеров внутри BigQuery, конечно же на базе Gemini. Дайте мне такой же только с открытым кодом и без инфраструктуры Google и с поддержкой всех основных инструментов и СУБД!
- Diseño del V Plan de Gobierno Abierto 2025-2029 5-й план по открытости гос-ва опубликовали власти Испании. Сейчас проходят публичные консультации и далее он будет утвержден. Открытые данные там, конечно же, присутствуют
#opendata #opensource #rdbms #datatools #dataengineering #ai
- quackstore расширение для DuckDB для кеширования облачных дата файлов, позволяет сильно ускорить выполнение запросов к облачным файлам благодаря их частичному сохранению. Полезная штука, её можно бы и сразу внутрь DuckDB ибо логично
- Catalog of Patterns of Distributed Systems для тех разработчиков кто хотят не только кодировать, но и двигаться в сторону архитектуры ПО.
- The Data Engineering Agent is now in preview Гугл запустили ИИ агента для дата инженеров внутри BigQuery, конечно же на базе Gemini. Дайте мне такой же только с открытым кодом и без инфраструктуры Google и с поддержкой всех основных инструментов и СУБД!
- Diseño del V Plan de Gobierno Abierto 2025-2029 5-й план по открытости гос-ва опубликовали власти Испании. Сейчас проходят публичные консультации и далее он будет утвержден. Открытые данные там, конечно же, присутствуют
#opendata #opensource #rdbms #datatools #dataengineering #ai
GitHub
GitHub - coginiti-dev/QuackStore
Contribute to coginiti-dev/QuackStore development by creating an account on GitHub.
🔥4✍2
Часто встречающаяся задача когда необходимо быстро создать API над какими-то данными и предоставить его внутренним и/или внешним пользователям. API, как правило, нужно для одной или нескольких из перечисленных причин:
1. Данные обновляются слишком часто чтобы делать дампы или предоставлять к ним прямой доступ
2. Необходимо предоставить данные недоверенным пользователям и поэтому прямой доступ к данным невозможен
3. Данные предоставляются на каких либо условиях предусматривающих ограничения, например, за деньги и ограничением числа записей за раз
4. API необходимо для интеграции с каким-либо существующим ПО которое умеет в API, но плохо или совсем не умеет работать с дампами и выгрузками данных
5. Нужна возможность ссылаться постоянными ссылками на конкретные записи в машиночитаемом виде.
6. API нужно, например, для быстрого написания фронтэнда или иного интерфейса которое бы через это API работало
Ситуации когда нужно сделать API достаточно частые и я лично за эти годы перебрал немало инструментов с помощью которых это можно делать и написал несколько своих.
Эти инструменты можно поделить на условно 3 типа:
- преобразующие данные в API
- создающие API поверх SQL и других баз данных
- позволяющие загрузить данные и сразу получить API на выходе
Для превращения данных несколько инструментов существовало относительно давно, например, csv-to-api и csv2api, они работали с CSV файлами и в общем-то довольно просты
Для баз данных есть инструменты вроде:
- gosql относительно свежий, работает поверх условно любой SQL базы данных
- Express REST API Generator - для MongoDB, давно не обновлялся
- RestHEART аналогично для MongoDB, но вроде как живой
- DataBeam код 12-летней давности от GSA (орган пр-ва США) с поддержкой преимущественно тяжелых корпоративных баз данных
И, наконец, есть какое-то число low-code инструментов вроде Retool, Baserow, Directus и тд. которые позволяют загружать туда таблицы и генерируют интерфейс для их редактирования и API заодно.
В своё время я сделал два похожих инструмента. Первый, самый простой, apiready грузил данные в MongoDB (в основном это были csv или tsv) файлы, анализировал их и создавал API поверх них. Я этот инструмент довольно быстро забросил и писал его оочень давно.
Более продвинутый инструмент был apicrafter вместо загрузки данных, он строился поверх базы MongoDB и создавл интерфейсы с помощью Python Eve довольно удобного инструмента, но статического. А apicrafter анализировал данные и собирал схему для работы Python Eve.
Когда-то я думал сделать этот инструмент поумнее и автоматически генерировать не только точки к API, но и документацию, примеры и тд., но со временем я начал убеждаться что MongoDB - это, конечно, неплохая штука, но с несколькими системными изъянами главные из которых низкая производительность и серьёзная неэффективность в хранении данных. В общем-то DuckDB или Polars или другие датафреймовые инструменты дают качественно лучший опыт в работе с данными, но переписывать под них не так то просто и главное нужно применение.
Тем не менее если решать не общую задачу, а конкретную по организации доступа к данным со всеми ограничениями, то может оказаться что схема данных + FastAPI + ИИ агент помогут собрать REST API гораздо быстрее. А могут и не собрать😂
В любом случае полезно знать про альтернативы и инструменты.
#api #opensource #datatools
1. Данные обновляются слишком часто чтобы делать дампы или предоставлять к ним прямой доступ
2. Необходимо предоставить данные недоверенным пользователям и поэтому прямой доступ к данным невозможен
3. Данные предоставляются на каких либо условиях предусматривающих ограничения, например, за деньги и ограничением числа записей за раз
4. API необходимо для интеграции с каким-либо существующим ПО которое умеет в API, но плохо или совсем не умеет работать с дампами и выгрузками данных
5. Нужна возможность ссылаться постоянными ссылками на конкретные записи в машиночитаемом виде.
6. API нужно, например, для быстрого написания фронтэнда или иного интерфейса которое бы через это API работало
Ситуации когда нужно сделать API достаточно частые и я лично за эти годы перебрал немало инструментов с помощью которых это можно делать и написал несколько своих.
Эти инструменты можно поделить на условно 3 типа:
- преобразующие данные в API
- создающие API поверх SQL и других баз данных
- позволяющие загрузить данные и сразу получить API на выходе
Для превращения данных несколько инструментов существовало относительно давно, например, csv-to-api и csv2api, они работали с CSV файлами и в общем-то довольно просты
Для баз данных есть инструменты вроде:
- gosql относительно свежий, работает поверх условно любой SQL базы данных
- Express REST API Generator - для MongoDB, давно не обновлялся
- RestHEART аналогично для MongoDB, но вроде как живой
- DataBeam код 12-летней давности от GSA (орган пр-ва США) с поддержкой преимущественно тяжелых корпоративных баз данных
И, наконец, есть какое-то число low-code инструментов вроде Retool, Baserow, Directus и тд. которые позволяют загружать туда таблицы и генерируют интерфейс для их редактирования и API заодно.
В своё время я сделал два похожих инструмента. Первый, самый простой, apiready грузил данные в MongoDB (в основном это были csv или tsv) файлы, анализировал их и создавал API поверх них. Я этот инструмент довольно быстро забросил и писал его оочень давно.
Более продвинутый инструмент был apicrafter вместо загрузки данных, он строился поверх базы MongoDB и создавл интерфейсы с помощью Python Eve довольно удобного инструмента, но статического. А apicrafter анализировал данные и собирал схему для работы Python Eve.
Когда-то я думал сделать этот инструмент поумнее и автоматически генерировать не только точки к API, но и документацию, примеры и тд., но со временем я начал убеждаться что MongoDB - это, конечно, неплохая штука, но с несколькими системными изъянами главные из которых низкая производительность и серьёзная неэффективность в хранении данных. В общем-то DuckDB или Polars или другие датафреймовые инструменты дают качественно лучший опыт в работе с данными, но переписывать под них не так то просто и главное нужно применение.
Тем не менее если решать не общую задачу, а конкретную по организации доступа к данным со всеми ограничениями, то может оказаться что схема данных + FastAPI + ИИ агент помогут собрать REST API гораздо быстрее. А могут и не собрать😂
В любом случае полезно знать про альтернативы и инструменты.
#api #opensource #datatools
✍8❤1❤🔥1
Подборка полезных ссылок про данные, технологии и не только. В этот раз ссылки на видео:
- Meta Just Changed Data Compression FOREVER (OpenZL Explained) про новый инструмент для сжатия файлов OpenZL. Его важная особенность - это понимание форматов сжимаемых файлов и выбор правильного способа сжатия.
- Trustworthy Data Visualization (Kieran Healy, Duke University) видео с конфренции Posit 2025 о том как создавать визуализации данным которым можно доверять, полезное для всех кто визуализирует данные или читает визуализируемое. Автор написал немало про визуализацию, три книги и много статей ну и выступает весьма неплохо
- Mooncake: Real-Time Apache Iceberg Without Compromise (Cheng Chen) про построение озера данных с Apache Iceberg и Mooncake для реального времени. Заодно и с историей OLTP и OLAP и переход к озерам данных
- Introduction to OpenRefine использование OpenRefine, инструмента для очистки и обогащения данных. Примеры.и применение из работы с цифровыми архивами и библиотеками и не все знают что библиотекари - это основная аудитория пользователей OpenRefine.
- PostgresAI я так понимаю что это пока малоизвестный стартап который обещает применение ИИ для оптимизации баз Postgres. Концептуальная идея на поверхности, я, если честно, думал что появится что-то более универсальное по мониторингу и оптимизации с поддержкой разных СУБД. Честно говоря видео оформлено дурацки.и документация на их сайте практичнее
#readings #ai #datatools #datatools
- Meta Just Changed Data Compression FOREVER (OpenZL Explained) про новый инструмент для сжатия файлов OpenZL. Его важная особенность - это понимание форматов сжимаемых файлов и выбор правильного способа сжатия.
- Trustworthy Data Visualization (Kieran Healy, Duke University) видео с конфренции Posit 2025 о том как создавать визуализации данным которым можно доверять, полезное для всех кто визуализирует данные или читает визуализируемое. Автор написал немало про визуализацию, три книги и много статей ну и выступает весьма неплохо
- Mooncake: Real-Time Apache Iceberg Without Compromise (Cheng Chen) про построение озера данных с Apache Iceberg и Mooncake для реального времени. Заодно и с историей OLTP и OLAP и переход к озерам данных
- Introduction to OpenRefine использование OpenRefine, инструмента для очистки и обогащения данных. Примеры.и применение из работы с цифровыми архивами и библиотеками и не все знают что библиотекари - это основная аудитория пользователей OpenRefine.
- PostgresAI я так понимаю что это пока малоизвестный стартап который обещает применение ИИ для оптимизации баз Postgres. Концептуальная идея на поверхности, я, если честно, думал что появится что-то более универсальное по мониторингу и оптимизации с поддержкой разных СУБД. Честно говоря видео оформлено дурацки.и документация на их сайте практичнее
#readings #ai #datatools #datatools
🔥3👍2