Ivan Begtin
7.98K subscribers
1.8K photos
3 videos
101 files
4.51K 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
Пишут что 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
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
Еврокомиссия 24 сентября запустила Public Procurement Data Space (PPDS) [1] инициативу по интеграции данных о государственных закупках в странах Евросоюза. Инициатива эта является продолжением и развитием Европейской стратегии данных (European strategy for data) [2] от 2020 года где тематика доступности данных о закупках была явно обозначена.

Из любопытного:
1. В основе технологий PPDS лежит онтология eProcurement Ontology (ePO) [3] и технологии Knowledge Graphs с реализацией аналитической базы данных с интерфейсом SPARQL
2. У проекта есть открытые репозитории, в основном с проверка
ми качества данных и индикаторами [4]
3. А также они в открытый доступ отдают дашборды с оценками качества данных [5], реализованы дашборды на Superset

Собственно чего в PPDS пока нехватает - это самих данных, систематизированных и пригодных для автоматической загрузки и обработки.

Ссылки:
[1] https://www.public-procurement-data-space.europa.eu/en
[2] https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX%3A52020DC0066
[3] https://docs.ted.europa.eu/EPO/latest/index.html
[4] https://eproc.pages.code.europa.eu/ppds/pages/
[5] https://www.public-procurement-data-space.europa.eu/en/dashboards

#opendata #europe #procurement #data #datasets
В рубрике как это устроено у них текст How to build a National Data Library [1] в блоге Open Data Institute о создании Национальной библиотеки данных в Великобритании.

Национальная библиотека данных - это инициатива по созданию и предоставлению особо ценных данных исследователям и стартапам и с акцентом на их применение в задачах создания и развития AI. Open Data Institute ещё месяц назад публиковали первоначальное видение этой инициативы [2].

Кроме того National Data Library упомянута в манифесте Лейбористов [3], нынешней правящей партии как часть их экономической программы.

Сама инициатива более напоминает современную реализацию исследовательского портала данных для ИИ, по модели аналогичного корейского проекта и похожих проектов в ряде других стран. А упоминание библиотеки это, на самом деле, отсылка к Британской библиотеке, так сказать "British Library for Data".

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

В Великобритании есть как минимум две похожие инициативы. Первая - это UK Biobank с данными по здравоохранению и вторая UK Data Archive с данными по экономике и социальным наукам.

Ссылки:
[1] https://theodi.org/news-and-events/blog/how-to-build-a-national-data-library/
[2] https://theodi.org/news-and-events/consultation-responses/the-odis-input-to-the-ai-action-plan-an-ai-ready-national-data-library/
[3] https://labour.org.uk/change/kickstart-economic-growth/

#opendata #data #uk #datapolicy #datastrategy
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
Для тех кто давно не слышал новостей про наш стартап-проект Dateno.io, поисковой системы по данным, вот самая свежая новость - мы создали личный кабинет и доступ к поисковому индексу через API. Поисковый индекс тоже растёт и составляет уже 19 миллионов наборов данных и это не предел, цель была до конца года достичь хотя бы 20 миллионов, но реально будет больше, скорее всего.

В любом случае API Dateno можно уже пользоваться, интегрировать с собственными разработками, строить поисковики, например, по странам и ещё многое другое.

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

#opendata #datasearch #data #dateno
Подборка полезных 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
Свежая AI модель предсказания погоды от NASA и IBM [1] причём модель обучена была на множестве GPU, а запустить её можно на настольном компьютере.

Причём модель эта была построена на базе датасета MERRA-2 [2] с более чем 40 годами наблюдения за Землёй

Ссылки:
[1] https://research.ibm.com/blog/foundation-model-weather-climate
[2] https://gmao.gsfc.nasa.gov/reanalysis/MERRA-2/

#opendata #datasets #data #climate #ai
Как обещал пишу о том как работать с API Dateno, пока на уровне совсем азов, а далее будут примеры на Python и других языках. Может быть даже SDK, телеграм бот и не только.

1. Идём на Dateno.io, нажимаем на Sign In и регистрируемся на сайте my.dateno.io, там же получаем ключ
2. Открывает документацию на API по адресу api.dateno.io и смотрим как устроены запросы
3. Берём командную строку или UI инструмент или Python и делаем запрос к эндпоинту. Например такой запрос: https://api.dateno.io/index/0.1/query?apikey=my_personal_key&q=Nuclear&filters="source.countries.name"="Kazakhstan" где my_personal_key ключ из личного кабинета.
4. Получаем ответом JSON с результатами поиска по ключевому слову "Nuclear" и по стране Казахстан (Kazakhstan). В ответе ссылки на статистику связанную с ядерной энергетикой страны
5. Параметр filters можно передавать много раз и задавать не только страну, но и тип ПО (source.software.name), тип каталога данных source.catalog_type или тип владельца каталога данных "source.owner_type".
6. Фильтры - это фасеты. При запросе они возвращаются в атрибуте facetDistribution. Можно сделать вначале запрос без фасетов, получить найденные значения и далее фильтровать. Если будет запрос от пользователей, то мы опубликуем, в дополнение к API, полные значения фасетов.
7. В результатах поиска есть ссылка на первоисточник, но нет ссылок на ресурсы которые файлы или API. Чтобы из получить надо сделать запрос к точке подключения https://api.dateno.io/search/0.1/entry/{entry_id}?apikey=my_personal_key где entry_id - это идентификатор записи из результатов поиска. Ресурсов может не быть, иногда, может быть только один как в случае на картинке, а может быть много, десятки. Поэтому к ним запросы индивидуально.

API - это уникальная фича Dateno, открытого API нет у Google Dataset Search и большинства поисковиков по данным. Оно есть только у некоторых поисковиков по научным данным/ресурсам, но они сильно меньше по размеру чем индекс Dateno.

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

#opendata #api #dateno #datasearch #data
Могу сказать что один из самых частых вопросов по Dateno - это как сделать чтобы мои данные были проиндексированы? Вопрос этот одновременно очень простой и сложный.

Модель индексирования данных в Dateno основано на доверии к источникам данных. Вместо того чтобы сканировать весь интернет на наличие датасетов, существует реестр каталогов данных [1] в котором более 10 тысяч каталогов и куча метаданных о них. Чуть более половины этих каталогов данных уже проиндексированы и доля проиндексированных постепенно растёт.

Индексирование датасетов таким образом, на самом деле, сложнее чем попытаться воспроизвести краулер Google Data Search (GDS), потому что для такого краулера можно было бы просто взять индекс Common Crawl и регулярно обновлять метаданные оттуда. Ресурсоёмкая, но интеллектуально простая задача. Если идти таким путём то немедленно всплывают все проблемы с качеством данных, с тем что существенная часть датасетов публикуется только для SEO продвижения и так далее.

Индексирование каталогов же предполагает что кто-то уже провел работу по валидации того что этот датасет не полное фуфло, а что-то осмысленное.

Поэтому как проще всего опубликовать датасеты? Проще всего, либо опубликовать на одном из каталогов данных которые Dateno индексирует. Второй вариант - это развернуть собственный каталог данных и прислать на него ссылку. Но этот каталог должен работать на типовом ПО таком как CKAN [2], DKAN [3], JKAN [4], InvenioRDM [5] и ряде других. Если Вы публикуете не один набор данных, а множество то использование типового портала для их публикации - это хорошая практика. Например, в РФ от Инфокультуры мы создавали Хаб открытых данных [6], а в Армении Data Catalog Armenia [7], оба на базе движка CKAN как наиболее продвинутого для публикации данных.

У публичных каталогов открытых данных, при этом, есть свои ограничения. К примеру, мы закрыли регистрацию пользователей на наших CKAN порталах из-за бесконечного объёма спама. А то есть, если Вы хотите там что-то опубликовать, то надо написать админам чтобы они Вас там зарегистрировали. Спамеры - это неприятная часть нашей жизни и ещё один довод в пользу создания собственных каталогов данных.

Тем не менее у нас в Dateno постоянно крутится идея того что иногда чтобы что-то проиндексировать, надо это что-то собрать в каталог. А Dateno не каталог, а именно поисковик. Например, крипто данные разбросаны по интернету. Возможно стоит создать каталог крипто данных и уже его проиндексировать в Dateno. Он будет указывать на первоисточники, конечно, но будет пополняем. Хорошая ли это идея? Пока непонятно, если бы был подтверждённый исследовательский интерес к теме то можно было бы хоть сразу запилить каталог данных для исследователей по этой теме.

А вот другой пример, многие госорганы в разных странах массово публикуют документы. И, предположим, у нас есть код превращающий таблицы из документов в машиночитаемые файлы. Но вот так просто их не поместить сейчас в Dateno потому что Dateno содержит только ссылки на ресурсы, но не сами файлы. Расширять ли Dateno или делать промежуточный каталог данных ?

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

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

Ссылки:
[1] https://dateno.io/registry
[2] https://ckan.org
[3] https://getdkan.org
[4] https://jkan.io
[5] https://inveniosoftware.org/products/rdm/
[6] https://hubofdata.ru
[7] https://data.opendata.am

#opendata #datasets #data #datasearch #dateno