Ivan Begtin
7.99K subscribers
1.77K photos
3 videos
101 files
4.49K 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
Почему я в последнее время много думаю и пишу про геоданные?
Есть 4 основных типов общедоступных данных данных которые собираются в Dateno:
- открытые данные (opendata). С ними всё довольно понятно, их много, не не бесконечно много. Большая часть порталов известны, далее просто длительная методическая работа по их систематизации и сбору датасетов
- научные данные. Тут не всё так понятно, и этих данных по объёму более всего в мире, но в каждой науке свои виды каталогов данных, стандарты и тд. За пределами отдельных научных дисциплин у этих данных не так много пользы
- статистика и индикаторы. Нужны всем, чаще стандартизированы, поддаются систематизированному сбору и "расщепляются" на множество поддатасетов в привязке к конкретным странам и территориям. Много усилий требуется по агрегации национальных каталогов статистики.
- геоданные. Их много, чаще стандартизированы, но поиск и каталогизация явно недостаточны. Предыдущие попытки чаше безуспешны.

Остальные типы данных - это данные для машинного обучения, данные из коммерческих маркетплейсов или датасеты из порталов микроданных (социология), все они сильно меньше количественно.

Существенный количественный рост данных в Dateno будет от трёх категорий: научные данные, данные индикаторов и геоданные.

При этом научные данные можно _очень быстро_ загрузить из 3-4 крупных источников и это добавит +20 млн датасетов и создаст огромные пузыри данных по нескольким языкам, категориям и темам.

Данные индикаторов стремительно превратят Dateno в портал по макроэкономике/макростатистике. Их также можно загрузить +5 млн датасетов в короткое время.

А в агрегированных геоданных сейчас есть объективный "пузырь", огромное число датасетов по Германии отчего в любом поисковике по данным доля геоданных их Германии достигает 40-60% от общего числа. Если не больше.

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

#opendata #data #dateno #thoughts #geodata
В рубрике закрытых данных в РФ у геопортала Архангельской области на базе ArcGIS закончилась лицензия [1] и слои данных и сервисы с этого сервера более недоступны. Хотя они всё ещё перечислены в их каталоге геоданных [2]. Похоже что геопортал уже, или перевели, или переводят на российскую ГИС Orbis, у которой открытых слоёв с данными нет и в каталоге они не перечислены, но есть недокументированные API. Не совместимые с ArcGIS или с протоколами OGC.

А каталог геоданных в Архангельской области не обновляли уже 3 года.

Ссылки:
[1] https://maps1.dvinaland.ru/arcgis/rest/services/AdressnPlan/Kadastr/FeatureServer/0
[2] https://maps29.ru/catalog/#
[2] https://maps29.ru

#opendata #closeddata #datasets #russia #geodata
Один из крупнейших проектов с большими научными данными - это Китайский национальный центр биоинформации через сайт которого доступно более 53 Петабайт геномных данных [1]. Причём в августе 2021 года их было всего 5 Петабайт и сейчас можно наблюдать 10-кратный рост за 3 года. Такими темпами к концу 2025 года будут все 100 Пб.

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

Часть этих данных полностью открытые и их можно сразу скачать через FTP или HTTP интерфейсы, часть требуют процедуры получения доступа через профильный комитет доступа к данным Data Access Committee(DAC) [2].

Ссылки:
[1] https://www.cncb.ac.cn/services
[2] https://ngdc.cncb.ac.cn/gsa-human/browse/HRA002875

#opendata #china #data #genomics #bigdata
Для тех кто любит заниматься дата сторителлингом (журналисты, аналитики) новый полезный инструмент Closeread [1] позволяющий рассказывать истории внутри HTML документов open source системы документирования Quarto [2].

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

И всё это в Markdown, расширяемо, и тд.

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

Куда ни посмотри, отличный инструмент.

Ссылки:
[1] https://closeread.netlify.app
[2] https://quarto.org
[3] https://github.com/quarto-journals

#opensource #datajournalism #analytics #datadocs #tools
Кстати, помните я расхваливал китайский портал/агрегатор научных данных SciDb [1].

Так вот его можно не только хвалить. После некоторого исследования его содержания он на 100% соответствует подходу "главное не быть, а казаться". Из заявленных 10 миллионов наборов данных лишь 18 тысяч имеют присоединённые файлы и загружены через сам портал, ещё 754 тысячи собраны из нескольких больших открытых порталов научных данных таких как Zenodo и PANGAEA, а всё остальное - это просто слепок поискового индекса по данным DataCite, сильно замусоренного и, объективно, без значимых метаданных, да и не факт что ссылки на сами данные.

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

В любом случае удивительно то что вместо индексации тех же геномных данных китайцы пошли по этому пути.

Ссылки:
[1] https://www.scidb.cn

#opendata #china #datasets #datacatalogs
В рубрике больших каталогов открытых данных проект DR Power (egriddata.org) [1] с наборами данных моделей для моделирования системы электроэнергетики США. Содержит 272 тысячи наборов данных, фактически модель по каждому объекту, и почти 800 тысяч файлов, в основном, в специализированных для проектирования электроэнергетики форматах.

Все данные опубликованы на портале на базе ПО DKAN, у которого есть открытое API, но которое явно не справляется с такой нагрузкой.

Ссылки:
[1] https://egriddata.org

#opendata #datasets #energy #usa
К вопросу об обработке данных с минимальным футпринтом (потреблением памяти оперативной и при хранении). Я добавил к библиотеке iterable пример по обработке дампов Википедии [1].

Для тех кто не сталкивался ранее, Фонд Викимедия обеспечивает открытость всех вариантов Википедии на сайте дампов [2] где они доступны в виде файлов SQL для загрузки в MySQL совместимые СУБД сжатых GZip и в виде дампов XML сжатых Bzip2. Если хочется поработать с этими данными локально, то надо или воссоздавать SQL базу данных из SQL файлов или работать с большими XML документами внутри которых страницы и другие объекты. Размер этих XML документов может быть весьма велик, до десятков гигабайт и обрабатывать их DOM парсерами весьма накладно.

Для некоторых задач Dateno мне нужны дампы Википедии, так чтобы к ним можно было строить запросы, но без желания воспроизводства инфраструктуры с MySQL и, в целом, хочется обрабатывать их оптимизировано.

Поэтому в примере выше использование библиотеки iterable для преобразования одной из маленьких Wiki (simplewiki) с дампом в 308MB в формате xml.bz2.

Идея в том чтобы:
1. Превратить его в формат для работы с помощью DuckDB
2. Сохранить минимально возможный объем для локального хранения, обработки и анализа.
3. Иметь возможность проделывать вме это на десктопе и с минимальным потреблением оперативной памяти.

В итоге пример можно посмотреть в репозитории. Два скрипта.
- convert.py преобразует xml.bz2 файл в jsonl.zst.
- enrich.py добавляет в полученный файл дополнительные метаданные по категориям вики страниц.

Почему jsonl и zst ? Потому что DuckDB умеет этот формат. После преобразования можно работать с ним напрямую без доп. преобразований.

Итог:
1. Сжатый XML дамп в 308MB преобразуется в сжатый JSONl файл в 325 MB
2. Время преобразования на простом десктопе порядка 2 минут.
3. С итоговым результатом можно работать как с базой данных DuckDB и делать запросы.

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

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

P.S. Если кто-то знает хорошие движки и примеры быстрого преобразования викидампов в компактные локальные базы данных, поделитесь плз.

Ссылки:
[1] https://github.com/apicrafter/pyiterable/tree/main/examples/simplewiki
[2] https://dumps.wikimedia.org

#dataengineering #datatools #opendata #wikipedia
Смотрю презентации выступлений участников DuckCon 5 [1]. Там довольно много насыщенных докладов интересных, как с точки зрения технических особенностей применения DuckDB, так и с продуктовой точки зрения, когда применение в нужном месте даёт качественное повышение эффективности продукта.

Из того что особенно привлекло внимание так это выступление Miguel Filipe из Dune Analytics про то как они применяют DuckDB для предоставления результатов аналитикам из мира крипты [2] и Edward Ruiz из Boston University о том как он разработал на базе duckdb движок dbverse для языка R [3] который даёт существенный прирост скорости в обработке геномных и других научных данных.

В целом просмотренное подтверждает мои мысли что DuckDB хороший внутренний движок и фундаментальная технология для многих потенциальных продуктов.

Ссылки:
[1] https://duckdb.org/2024/08/15/duckcon5.html
[2] https://blobs.duckdb.org/events/duckcon5/miguel-filipe-delighting-users-with-restful-apis-and-duckdb.pdf
[3] https://blobs.duckdb.org/events/duckcon5/ed-ruiz-composable-database-libraries-for-larger-than-memory-scientific-analytics.pdf

#datatools #duckdb #dataengineering
Полезные ссылки про технологии, данные и не только:
- Top Programming Languages 2024 [1] от IEEE Spectrum, для интриги не назову языки лидеры. Но всё очевидно:)
- GCSE results 2024: The main trends in grades and entries [2] лонгрид про данные результатов британского экзамена GCSE от Education Datalab.
- New Washington Post AI tool sifts massive data sets [3] в Axios о том что у Washington Post новый ИИ инструмент для просеивания данных, через него уже прогнали базу видеороликов кандидатов в президенты [4].
- Using Perplexity to prepare to job interview [5] автор описывает инструкции и шаблон промпт по подготовке к интервью компании на основании описания вакансии. Эта идея имеет больше глубины чем кажется на первый взгляд. Применимо не только к подготовке к интервью, но и в принятии решения откликаться ли на вакансию.
- Benchmarking energy usage and performance of Polars and pandas [6] сравнение энергопотребления при использовании Polars и Pandas. Интересен сам факт сравнения, но объекты сравнения подобраны плохо. Сравнивать надо с теми же движками что применялись в 1 billion rows challenge, а не вот так. Pandas уже какое-то время рассматривается как референсный продукт, хуже которого быть нельзя в части скорости работы с данными.
- No, 80% of data isn’t spatial (and why that is a good thing) [7] автор опровергает, вернее, пытается опровергнуть тот факт что 80% датасетов это геоданные. Нууу, вот тут то можно и поспорить. Количественно точно не 80%. А вот качественно, вернее объёмно по хранению... До того как объёмы геномных данных не начали накапливаться десятками петабайтов, а это где-то лет 5 назад началось, геоданные, с учётом данных наук о Земле, могли по объёму быть и более 80%. Сейчас я думаю что геномные данные составляют не менее 50%: данных.

Ссылки:
[1] https://spectrum.ieee.org/top-programming-languages-2024
[2] https://ffteducationdatalab.org.uk/2024/08/gcse-results-2024-the-main-trends-in-grades-and-entries/
[3] https://www.axios.com/2024/08/20/washington-post-ai-tool-data
[4] https://www.washingtonpost.com/elections/interactive/2024/republican-campaign-ads-immigration-border-security/
[5] https://www.linkedin.com/posts/patleomi_i-just-unlocked-a-really-cool-new-use-case-activity-7232456130281549825-onDm
[6] https://pola.rs/posts/benchmark-energy-performance/
[7] https://www.spatialstack.ai/blog/no-80-of-data-isn-t-spatial-and-why-that-is-a-good-thing

#data #ai #geodata #readings
Если ты знаешь один трюк, рассказывать его нельзя. Если ты знаешь сто трюков, то можно рассказать хоть про три (с)

Недокументированные API - это те API веб сайтов которые существуют и дают доступ к данным/сервисами, но по какой-либо причине явно не документированы владельцем сайта. Это то о чём я раньше читал лекции и недавно упоминал их в контексте презентации Paul Bradshow для дата-журналистов [1]. Журналисты расследователи и дата журналисты используют их достаточно часто. Я лично регулярно сталкиваюсь с этим в задачах архивации сайтов, создания датасетов "из ничего" и в Dateno при индексировании каталогов данных.

Есть несколько трюков в их поиске которые, как оказывается, широкой публике малоизвестны:
1. Многие сайты разрабатываются так что возвращают разный контент на передаваемые заголовки "Accept". Достаточно делать запросы с заголовком "Accept: application/json" чтобы обнаружить что веб страница может быть и JSON документом. Например, сайты на базе движка Blacklight используемого в архивном деле и для ведения цифровых коллекций материалов.
2. У стандартизированных CMS множество стандартизированных интерфейсов о которых владельцы сайтов могут ничего не подозревать. Не совсем "недокументированное API", скорее плохо документированное API по умолчанию. Оно есть пока владелец сайта явным образом не найдёт где его отключить или не предпримет специальных мер по его сокрытию. Явный пример, /wp-json/ у Wordpress, а также множество других примеров в менее известных CMS. На многих порталах открытых данных каталог данных доступен по ссылке /data.json даже если на сайте ссылки на него нет.
3. Разработчики API тоже люди и думают шаблонами и даже на проде оставляют доступ к API через стандартизированные интерфейсы во внутренних ссылках или поддоменах вроде префиксов документов вроде api и api-dev и в виде внутренних ссылок /api, /api-dev, /rest и ещё с десяток других.

Когда надо найти API конкретного сайта то трюков гораздо больше. Главное чтобы такое API реально существовало😉

Ссылки:
[1] https://t.iss.one/begtin/5662

#opendata #data #tricks #readings
На днях я накатывал очередной обновление реестра каталогов данных, Dateno registry [1] тот самый который раньше был Common Data Index, а потом стал ядром поисковика по данным.

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

Некоторые цифры реестра видны на сайте, а некоторые можно подсчитать поработав в этим датасетом напрямую. Такие цифры на сегодня.

По типам каталогов данных
- 10 099 каталогов данных всего, из них:
— 5944 каталога геоданных
— 2732 портала открытых данных
— 871 репозиторий научных данных
— 276 каталогов индикаторов
— 276 всех остальных каталогов данных

По точкам подключения к API
- 35 404 точек подключения к API 99 различных типов API

По внешним идентификаторам:
- 777 идентификаторов каталогов данных в других источниках таких как re3data, datacatalogs.org, roar, wikidata и других

По используемому ПО:
- 119 типов ПО каталогов зарегистрировано
- 89% каталогов внесены с идентификацией типа ПО и только 11 процентов как отдельная разработка

По предметным областям
- 2158 каталогов имеют тематическую привязку в виде хотя бы одной темы, это около 21% всех каталогов данных

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

А наибольшие ограничения у реестра сейчас в том что у 66% каталогов данных не указан тип владельца и у 15% не идентифицирована страна к которой каталог относится. Если страну ещё можно идентифицировать по доменной зоне, то тип владельца каталога определяется, пока, только вручную. А приоритет ручной проверки проставлен от числа наборов данных в каталоге. Если в поисковый индекс Dateno попадает источник где есть более 1000 наборов данных то он становится кандидатом для ручной проверки и обновления метаданных.

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

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

#opendata #data #datasets #datacatalogs
В Haaretz статья о том что [1] Иранские хакеры начали повсеместно публиковать чувствительные израильские документы, а власти Израиля начали давить на все социальные сети и хостинг провайдеры всеми легальными способами чтобы те немедленно удаляли этот и любой про-хамасовский контент.

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

Честно говоря не знаю даже что добавить, но не верю что Павла вот так просто освободят.

Ссылки:
[1] https://archive.is/J9nke

#israel #iran #security #telegram
В качестве мини-хобби, очень мини, я время от времени систематизирую ссылки по темам в жанре awesome list на Github с некоторой надеждой что над этими списками не я один буду работать. Надежды, как правило, не оправдываются, за редким исключением.

Список Awesome Digital Preservation, за время существования всего 14 лайков. У цифровой архивации мало фанатов, увы.

Или, например, у меня есть список Awesome Open Data software с ПО и стандартами по работе с открытыми данными. Почти всё ПО из реестра каталогов данных в Dateno, плюс ссылки на форматы файлов и стандарты обмена данными. Звездочек маловато, всего 24, не самая популярная тема.😜

Или вот Awesome Data Takeout со ссылками на сервисы получения всех своих данных из онлайн сервисов. 54 звезды, тоже, очень мало.

Для дата журналистов Awesome data journalism со списками инструментов для визуализации и не только. Набрало, 178 звезд, давно не обновлялось.

Russian Awesome Open data каталог источников открытых данных по РФ. Составлялся очень давно, как-то собрал 200 звездочек, уже практически не пополняется. Вместо него развивали datacatalogs.ru

Побольше в Awesome Forensic Tools с подборкой ресурсов в задачах цифрового дознания. Набрало 472 лайка при том что я почти не прилагал усилий по его пополнению, только один раз собрал всё вместе.

И, наконец, Awesome Status Pages собравшее 2738 лайков. Активное настолько что утомляет, сплошным потоком разработчики создают очередные сервисы проверки и публикации статусов сервисов и используют всякую маркетинговую мишуру чтобы их продвинуть. Дважды предлагали выкупить у меня эту страницу. Чувствую зря я её не продал;)

В общем-то по настоящему выстрелило только последнее, хотя списки составлять я лично люблю. Списки это же частный вид таблицы, можно ещё жанр завести. Awesome table of <something>, но в форматы Github'а или Telegram'а они плохо укладываются. Но может найдется близкий интересный формат

#opendata #datajournalism #data #digitalforensics #readings #thoughts
В рубрике интересных продуктов для публикации данных малоизвестный pycsw [1] движок с открытым кодом для публикации метаданных для геоданных. Поддерживает стандарты STAC API, CSW, OpenAPI, OGC Collections, OpenSearch, OAI-PMH и даже SRU, который, скорее, для библиотечных систем.

Имеет немного внедрений, около 50 по всему миру [2] во всяком случае тех что известны самим разработчикам.

Сильно менялся от версии к версии. До версии 3.0 был просто движком для публикации CSW каталогов, а с версии 3.0 чем-то стал конкурировать с геосервером или дополнять, тут уж как посмотреть.

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

Ссылки:
[1] https://pycsw.org
[2] https://raw.githubusercontent.com/geopython/pycsw.org/gh-pages/live-deployments.geojson

#opendata #geodata #datacatalogs #opensource