begtin | Бизнес и стартапы

Telegram-канал begtin - Ivan Begtin

7029

I write about Open Data, Procurement, e-Government, Open Government, Budgets, Privacy and other govtech stuff Chat https://telegram.me/begtinchat Facebook - https://facebook.com/ibegtin Secure contacts ivan@begtin.tech

Подписаться на канал

Ivan Begtin

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

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

Но есть то я могу точно сказать и о чём говорить важно. Вся эта история с "отечественными сертификатами" у Сбербанка и корневыми сертификатами НУЦ Минцифры очень плохая.

Смысл сертификата в том чтобы обеспечивать защищённый канал связи между пользователем и сервером. Корневой сертификат необходим для того чтобы браузеры и другое ПО не выдавало ошибки при попытках связи с серверами использующими сертификаты выпущенные удостоверяющими центрами (УЦ).

УЦ, в свою очередь проходят определенную сертификацию для того чтобы обеспечить это доверие. Число таких корневых сертификатов в ОС Windows, MacOS, IOS, Android ограничено и то что там за все эти годы не появилось российского корневого УЦ должно только настораживать.

Добавив корневой сертификат в доверенные, сделает доверенными не только сертификат Сбербанка, но и может быть выпущен сертификат с помощью которого можно перехватывать трафик к HTTPS сайтам, например, органами правоохраны. Власти Казахстана пытались навязать госсертификат в декабре 2020 года (легко гуглится), но всё это провалилось в итоге. А здесь даже принуждения нет, вернее оно через принуждение сервисом: хочешь Сбербанк - ставь сертификат.

Поэтому, если всё таки, жизнь так распорядилась что доступ к сайту Сбербанка необходим или на другие сайты его распространят я рекомендую:
- либо устанавливать сертификат на отдельное, редко используемое устройство;
- либо устанавливать его на виртуальную операционную систему; используемую редко и не устанавливать его на основное устройство(-а)
- либо перестать использовать Сбербанк и любой иной сервис который такие сертификаты будет навязывать

#security #privacy

Читать полностью…

Ivan Begtin

В рубрике интересных открытых проектов на данных Data Commons [1] проект по агрегированию открытых данных о географии, индикаторах и многих понятиях с формированием единой онтологии и визуального представления данных.

Данные внутри Data Commons предоставляются для запросов через Google BigQuery, точку подключения SPARQL и REST API. На апрель 2022 г. всего интегрировано в базу данных 2.9 миллионов мест, 3 миллиарда записей временных рядов, 100 000 переменных и 1.4 триллиона триплов (единичных значений).

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

Лично по мне так проект интересный, чем-то сравнимый с WikiData и, кстати, с WikiData интегрированный, а чем-то похожий на проекты по визуализации статистики вроде DataUSA и USAFacts.

Из особенностей, у авторов явно временно достигнут предел масштабирования поскольку они охватили довольно хорошо данные по США, но по другим странам, особенно малым, требуется значительно больше усилий, знания языков и тд. Кроме того многие понятия там закодированы так словно их нет за пределами США. Например, ссылка на почтовый индекс [3] не имеет странового префикса и такого много.

Проект поддерживается компанией Google, его код и код отдельных компонентов доступен как открытый код [4].

Ссылки:
[1] https://datacommons.org
[2] https://docs.datacommons.org/2022/09/14/download-tool.html
[3] https://datacommons.org/place/zip/60651
[4] https://github.com/datacommonsorg

#opendata #google #datasets

Читать полностью…

Ivan Begtin

Всемирная организация здравоохранения приняла новую политику с требованием по обязательному раскрытию данных всех финансируемых ими научных исследований [1] в их анонсе ссылка на документ руководства опубликованного в апреле 2022 г.
Распространение и повторное использование медико-санитарных данных в исследовательских целях: руководство ВОЗ по политике и осуществлению [2]

Если изложить кратко тезисами, то примерно так:
1. Все данные исследований должны раскрываться
2. Данные должны публиковаться в одном из открытых репозиториев соответствующих ряду критериев. Примеры приведены
3. Исследования должны быть основаны на принципах FAIR [3]
4. Данные должны проходить деперсонализацию.

Как я уже много раз писал, структуры ООН сейчас одни из лидирующих в мире по масштабам раскрытия данных.

Ссылки:
[1] https://www.who.int/news/item/16-09-2022-new-who-policy-requires-sharing-of-all-research-data
[2] https://www.who.int/ru/publications/i/item/9789240044968
[3] https://www.go-fair.org/fair-principles/

#opendata #un #who #openaccess

Читать полностью…

Ivan Begtin

Председатель Ассоциации участников рынка данных Иван Бегтин о доступности транспортных данных, собираемых госсистемами, для использования бизнесом.

Выступление на круглом столе «Большие данные в транспортной отрасли на примере работы ГИС «Электронные перевозочные документы»”, KAZAN DIGITAL WEEK

Читать полностью…

Ivan Begtin

В рубрике как это работает у них, портал открытых транспортных данных Франции transport.data.gouv.fr [1] я писал о нём несколько лет назад и за эти годы портал активно развивался.

На портале уже размещено 417 наборов данных [2] причем 112 наборов данных - это данные реального времени!

Данные публикуются в соответствии с 6 национальными стандартами описания транспортных данных.

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

Ссылки:
[1] https://transport.data.gouv.fr
[2] https://transport.data.gouv.fr/datasets?
[3] https://normes.transport.data.gouv.fr/
[4] https://transport.data.gouv.fr/explore

#opendata #france #transport #datasets

Читать полностью…

Ivan Begtin

Полезное чтение про управление командами данных. Onboarding for Data teams [1] о том как собирать команды дата специалистов и погружать их в работу. Онбоардинг - это быстрое погружение в работу. Много полезных советов и рекомендаций.

Мне понравилась идея в том что новичок в первый день должен сделать коммит в промышленный код (production). Что-то в этой идее есть.

Ссылки:
[1] https://seattledataguy.substack.com/p/onboarding-for-data-teams

#data #datateams

Читать полностью…

Ivan Begtin

В рубрике интересных наборов данных открытое API проекта Metaculus [1] по краудсорсингу предсказаний.

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

Все эти сведения доступны в формате JSON через API проекта [2].

Всего в проекте более 1 миллиона предсказаний [3] что очень даже немало.

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

Ссылки:
[1] https://www.metaculus.com
[2] https://www.metaculus.com/api2/
[3] https://twitter.com/fianxu/status/1569537658103431168

#opendata #predictions #datasets #API

Читать полностью…

Ivan Begtin

В Великобритании Министерство юстиции (российский аналог - Министерство внутренних дел) анонсировало [1] подготовку стратегии по работе с данными, data strategy, которую пока описали одним слайдом из 3 пунктов на этом же слайде.

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

Ссылки:
[1] https://mojdigital.blog.gov.uk/2022/08/30/becoming-a-truly-data-led-justice-system/

#opendata #data #uk #datastrategies

Читать полностью…

Ivan Begtin

Полезное чтение про данные, технологии и не только:
- SQL Vs. NoSQL: Choose The Most Convenient Technology [1] полезное чтение для начинающих о разнице между SQL и NoSQL базами данных. Почему для начинающих? Потому что в реальности выбор зависит от того насколько выбранный продукт соответствует компетенциям команды и выбранному технологическому стеку.
- Evolution of data companies [2] о том как развиваются компании на рынке инструментов работы с данными.
- Penpot - The Open-Source design & prototyping platform [3] открытая и свободная альтернатива Figma. Для тех кто хочет проектировать приложения и не хочет платить сервисам за эту возможность
- Devops excercises [4] каталог ресурсов, документов, вопросов и ответов и упражнения для DevOps'ов. Полезно, как начинающим, так и углубляющим знания.
- ZincSearch [5] альтернативная поисковая система декларируемая как более быстрая чем Elastic
- The Production-Grade Data Pipeline [6] о том почему трубы данных надо делать сразу как продукты и о рисках накопления технического долга

Ссылки:
[1] https://pub.towardsai.net/sql-vs-nosql-choose-the-most-convenient-technology-4506d831b6e4
[2] https://medium.com/coriers/the-evolution-of-data-companies-167ff4b65e1d
[3] https://github.com/penpot/penpot
[4] https://github.com/bregman-arie/devops-exercises
[5] https://github.com/zinclabs/zinc
[6] https://dataproducts.substack.com/p/the-production-grade-data-pipeline

#opensource #datatools #data #readings #dataengineering

Читать полностью…

Ivan Begtin

Регулярное чтение про данные, технологии и не только:
- Complexity: the new analytics frontier [1] в блоге dbt о том что обновление внутренних аналитических моделей у них в компании занимает до 21 часа и о том что сложность работа с аналитическими данными - это новый фронтир. С подробностями проблем. Несомненно актуально
- Data Glossary [2] Airbyte выпустили словарик по инженерии данных с определениями и с графом связей между понятиями и вопросами. Хорошая база знаний для тех кто погружен или погружается в эту тему. В основу взяли тему Quartz [3] для генератора статических сайтов Hugo. Я думал сделать похожий словарь, у меня даже более 200 терминов накопилось, но ребята опередили.
- How python programmers save the environment (by making python run faster)? [4] текст о том как ускорять Python с отсылкой на прошлогоднюю публикацию [5] о том что Python, Perl и Ruby сжигают более энергии в компьютерах. Сравнение, конечно, так себе. Можно задаться вопросом о том сколько нервных клеток экономят развитые языки программирования и насколько эффективнее разработка. Вообще приход климатической повестки в разработку ПО может оказаться неожиданным.
- Go MySQL Server [6] реализация MySQL совместимого SQL сервера написанного на Go и декларируемого как хорошо расширяемого. Делает его команда Dolt, распределенной Git-подобной СУБД. Есть шанс что станет интересным продуктом однажды.
- How Fivetran fails [7] Benn Stancil рассуждает о том что SaaS ETL инструмент Fivetran скоро потеряет лидерство и его заменят Airbyte и владельцы крупнейших облачных хранилищ данных Microsoft, Amazon, Google и др. Не без основательное утверждение. Про Fivetran в России мало знают, а в США - это гигантский стартап с большой корпоративной базой клиентов.
- Connectors catalog [8] таблица в Airtable со списком сервисов к которым есть коннекторы у облачных ETL движков таких как Fivetran, Hevo Data, Airbyte, Whaly, Stitch и тд. Кстати, давно замечаю что российских сервисов в этих движках не было и нет. Есть ли рынок для отдельного ETL движка здесь? Может быть, но скорее нет, потому что нет облачных хранилищ как драйвера таких сервисов

Ссылки:
[1] https://roundup.getdbt.com/p/complexity-the-new-analytics-frontier
[2] https://glossary.airbyte.com
[3] https://quartz.jzhao.xyz/
[4] https://laszlo.substack.com/p/how-python-programmers-save-the-environment
[5] https://medium.com/codex/what-are-the-greenest-programming-languages-e738774b1957
[6] https://github.com/dolthub/go-mysql-server
[7] https://benn.substack.com/p/how-fivetran-fails
[8] https://airtable.com/shrQMzHOF4hWfdTBG/tblA6Jm3vnbGCyLeC/viw2hJa6PanS8GtQa

#datatools #data #readings #opensource #dataengineering

Читать полностью…

Ivan Begtin

В продолжение того о чём я писал тут в телеграм канале про обработку данных [1] написал короткую технологическую заметку NoSQL data wrangling [2] про проблему обработки NoSQL данных и о дефиците инструментов позволяющих обрабатывать JSON/JSON lines.

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

Ссылки:
[1] /channel/begtin/4255
[2] ibegtin/nosql-data-wrangling-50b5a2898a83" rel="nofollow">https://medium.com/@ibegtin/nosql-data-wrangling-50b5a2898a83

#datatools #datawrangling #dataengineering

Читать полностью…

Ivan Begtin

В журнале Открытые системы вышла моя статья про открытые данные [1] в контексте цифровой трансформации.

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

Ссылки։
[1] https://www.osp.ru/os/2022/03/13056266

#opendata #opengov #data

Читать полностью…

Ivan Begtin

«Торговля страхом»: как нас убедили, что всем нужна система распознавания лиц

https://youtu.be/hxxVFdUPoN4?t=1

«Если ничего не нарушаешь, нечего и боятся» — так говорят безгрешные люди, которые никогда не переходили улицу на красный свет. Но какую цену нам всем придется заплатить за удобные технологии?

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

Многие политические вопросы — проблемы непроработанного прошлого. Система распознавания лиц — проблема нашего будущего, на которую мы незаслуженно не обращаем внимания.

Разбираем сценарии киберпанка, который мы заслужили, в новом подкасте «После работы».

Гости подкаста – Иван Бегтин, директор АНО «Инфокультура», эксперт в области открытых данных, и Саркис Дарбинян, киберадвокат, со-основатель «Роскомсвободы».

Читать полностью…

Ivan Begtin

Подборка ссылок про данные, технологии и не только:
- PySearch [1] поисковик по документации библиотек Python поддерживающий запросы на естественном языке. Пока скорее простые запросы вроде "take a tensor and adds a dimension" [2], но автор обещает и более глубокое применение NLP алгоритмов.
- The Difficult Life of the Data Lead [3] тяжела и неказиста жизнь простого дата лида, руководителя дата команды. О чем автор и пишет, с картинками о том сколько времени надо проводить в коммуникациях, а не в технической работе. Полезно для тех кто думаете о своей карьере в этом направлении
- Want a DS project? There's health insurance data out there [4] в США на поляну дата-сайентистов привалило радости, вышел закон требующих от медицинских организаций и мед. страховщиков публиковать цены в больницах в машиночитаемых форматах. Автор пишет о том где эти данные взять и что с ними можно делать. Это реально 100TB+ хорошо структурированных данных!
- What is Data Engineering? Part 1. [5] обзор инженерии данных в блоге Pragmatic Programmer. Что называется, найди себя, хороший текст для описания этой роли и возможности себя с ней идентифицировать.
- How does column encoding work? [6] в блоге dbt как работает кодирование данных в колоночных структурах вроде файлов Parquet и некоторых СУБД. Текст в предверии их конференции Coalesce и запуска dbt semantic layer [7] по работе с метриками.


Ссылки:
[1] https://www.pysearch.com
[2] https://www.pysearch.com/search?q=take+a+tensor+and+adds+a+dimension&l=pytorch
[3] https://mikkeldengsoe.substack.com/p/the-difficult-life-of-the-data-lead
[4] https://counting.substack.com/p/want-a-ds-project-theres-health-insurance
[5] https://newsletter.pragmaticengineer.com/p/what-is-data-engineering-part-1
[6] https://roundup.getdbt.com/p/how-does-column-encoding-work
[7] https://www.getdbt.com/blog/dbt-semantic-layer/

#readings #data

Читать полностью…

Ivan Begtin

Если вам кажется что только в Вашей стране, где бы Вы ни были, всё делают через одно место и это не голова, то это не так. Например, Chaos Computer Club (CCC), старейшая хакерская команда в Германии, пишут о том что германская компания Gematik отвечающая за информатизацию здравоохранения плохо понимают в информационной безопасности того что они делают [1].

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

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

Это не единственный "косяк" от Gematik, но достаточно яркий.

А если вернуться к российским реалиям, то для авторизации на российском портале ЕМИАС [2] достаточно номера карточки медицинского страхования и даты рождения. После этого доступны данные о записях к врачам, рецептам и направлениям (хорошо хоть не самой медкарты).

Это означает что любой врач в системе ОМС имеющий доступ к Вашему анамнезу может увидеть всю эту информацию на сайте ЕМИАС и Вы никогда об этом не узнаете. Но, всё интереснее. В медицинских полисах последние 6 цифр - это и есть дата рождения. Если у кого-то есть номер вашего мед полиса и даже если этот кто-то не знает даты Вашего рождения он/она может получить доступ к этому же личному кабинету.

Страны разные, проблемы похожие.

UPD: Речь, в первую очередь, про московский портал ЕМИАС. Как организовано в других регионах надо разбираться отдельно.

Ссылки:
[1] https://www.ccc.de/updates/2022/erezept-mangelhaft
[2] https://emias.info/

#security #privacy #germany #russia

Читать полностью…

Ivan Begtin

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

Такой проект есть, он называется Substrait [1]. Его автор сооснователь проектов Apache Calcite, Apache Arrow, Apache Drill и ряда стартапов таких как Sundesk и Dreamio.

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

Уже есть много референсных реализаций спецификации для Ibis, Dpyr, Apache Calcite, Trino и Spark.

Для тех кто не сталкивался с этими продуктами - все они представляют уровни абстракции для работы с данными. Например, Ibis в Python [3] даёт возможность делать SQL запросы без SQL. Удобно для тех кто любит Python way для работы с данными.

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

Ссылки:
[1] https://substrait.io/
[2] https://docs.google.com/presentation/d/1HQReIM6uB1Dli_yXfELOJWAE6KsvXAoUmHLlTYZ8laA/edit#slide=id.g1476627d6f9_0_213
[3] https://ibis-project.org

#standards #data #bigdata #dataengineering

Читать полностью…

Ivan Begtin

Полезное чтение про данные, технологии, программирование и не только в виде дайджеста:
- The impossible case of pitching rust in a web dev shop [1] полезный образный кейс и подборка примеров того почему крупнейшие компании переходят на Rust и очень конкретные примеры того к какой эффективности это приводит. В основном речь о сокращении энергопотребления, меньшем объёме потребления памяти, значительно лучшей производительности.
- Hurl [2] инструмент тестирования запросов к веб-сайтам через скриптовое описание текста в простом тексте. Умеет то же что и Curl, но через скрипты и включает удобную проверку результатов. Несомненно полезно и необходимо для автоматизации тестирования API.
- MFA Fatigue: Hackers’ new favorite tactic in high-profile breaches [3] новая тактика хакеров по взлому аккаунтов через "задалбывание пользователей" запросами через многофакторную аутентификацию. Так чтобы пользователь, или случайно, или от усталости подтвердил вход. Уже несколько компаний были успешно взломаны через такую социальную инженерию. В частности это был Uber.
- Rocketry [4] система планирования задач написанная на Python и позволяющая регулярно выполнять определенные задачи в отдельной нити или в отдельном процессе. Казалось бы зачем это нужно если есть Crontab для локального или Airflow для глобального? Потому что позволяет строить трубы задач (pipelines) и помогает решать более комплексно чем crontab, и потому что сильно проще чем Airflow. И, конечно, потому что концепция Everything as a code - не такая уж плохая концепция.
- The beginning of ‘Everything as Code’ [5] в качестве напоминания текст Ethan Batraski от 2020 года про то что "всё код" и концепцию Everything-as-a-Code (EaC). Он там приводит немало примеров того что можно, также, представить в форме кода: управление настройками, документацию, политики соответствия и тд. и тп.
- The World Bank Data Catalog [6] весьма развившийся каталог данных Мирового Банка. 5449 наборов данных на 24 сентября, из них 175 наборов данных связаны с Россией.

Ссылки:
[1] https://flakm.github.io/posts/rust_why_dev_shop/
[2] https://hurl.dev/
[3] https://www.bleepingcomputer.com/news/security/mfa-fatigue-hackers-new-favorite-tactic-in-high-profile-breaches/
[4] https://rocketry.readthedocs.io
[5] https://medium.com/ethanjb/the-beginning-of-everything-as-code-a25c4e9a75e9
[6] https://datacatalog.worldbank.org/home
[7] https://datacatalog.worldbank.org/search?fq=(geographical_extent%2Fcoverage%2Fany(geo:geo%2Fname%20eq%20%27Russian%20Federation%27))&q=&sort=last_updated_date%20desc

#opendata #data #opensource #datatools #readings

Читать полностью…

Ivan Begtin

В рубрике интересных стартапов на данных Whaly [1] французский стартап в области автоматизации BI и аналитики, привлекший $1.9M венчурных инвестиций в июле 2022 г. [2]. Стартап любопытный в том что конкурирует с Looker, но своим рыночным преимуществом указывает что умеет интегрироваться с десятками онлайн сервисов и эта интеграция не требует внешнего ETԼ сервиса. Что, в целом, соответствует тому о чём писал Benn Stancil [3] о том что ETL бизнесу вроде Fivetran недолго осталось царствовать. Whaly продукт весьма любопытный, но бесплатно его не попробовать и ценообразование там какое-то непонятное, всё через созвон с сейлами и в прайс листе указано что
планы начинаются с $460 в месяц. Наверное сервис хороший, но вот этот вот подход с невозможностью бесплатного тестирования мне лично категорически не нравится.

И, признаюсь, я лично, обжёгшись на Gitbook'е и Scaleway очень настороженно отношусь к французским стартапам. Даже когда продукт выглядит интересно, customer service оказывается ужасающим.

Ссылки:
[1] https://whaly.io/
[2] https://www.crunchbase.com/organization/whaly
[3] https://benn.substack.com/p/how-fivetran-fails

#data #datatools #startups #analytics #BI

Читать полностью…

Ivan Begtin

Вчера я выступал на Kazan Digital Week про открытость транспортных данных и, похоже, я был единственным на этом мероприятии кто вообще говорил про открытость государства хотя бы частично. Осталось ощущение гласа вопиющего в пустыни.

Читать полностью…

Ivan Begtin

Интересная и пока малопопулярная, но перспективная штука Daft [1] это интерфейс работы с датафреймами вместе с мультимедиа и другими файлами, например, это актуально в задачах генеративного искусства, автоматического создания текстов, изображений, аудио и видео.

Поддерживает стандартный интерфейс датафреймов а-ля Pandas и позволяет выполнять комплексные запросы.

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

Ссылки:
[1] https://www.getdaft.io/

#data #datatools

Читать полностью…

Ivan Begtin

The right to privacy in the digital age

Свежий доклад представителя по правам человека ООН [1]. Документ короткий, на 17 страниц. Там про всё, взломы телефонов правительствами (спецслужбами), массовую слежку, ограничения в использовании шифрования, нарушениях прав человека и так далее.

То о чём писали многие, но изложено сжато и в докладе ООН.

Ссылки:
[1] https://documents-dds-ny.un.org/doc/UNDOC/GEN/G22/442/29/PDF/G2244229.pdf?OpenElement

#privacy #reports

Читать полностью…

Ivan Begtin

В рубрике интересного чтения про данные, технологии и не только:
- The Vector Database Index [1] сравнение нескольких векторных баз данных. Полезно для понимания как устроен этот рынок и того между чем можно и стоит выбирать. Не все продукты рассмотрены, но достаточно многие. Для тех кто не знает или подзабыл - векторные базы данных используются для построения нейросетей и, например, для поиска по подобиям, поиска аномалий и пользовательских рекомендаций и скоринга. Этот рынок растёт и в нём довольно много инвестиций уже есть и приходит.
- What I've learned from users [2] свежий текст Пола Грэхема о том чему научился от основателей стартапов профинансированных Y Combinator. Как и все тексты автора - почитать его стоит. Пишет он редко и всегда по делу.
- Modern COBOL Tooling [3] для тех кто хочет погрузится в вечность или даже не знаю как это описать, но набор инструментов в современных средах разработки и курсов по COBOL.
- Instant MD5 Collisions [4] всё ещё используете хэш функции MD5? А их уже подменяют моментально, на примере пары картинок и большой текст.
- Faster CPython ideas [5] репозиторий идей по ускорению языка Python реализованного на С. Python никогда не отличался высокой скоростью, но был и есть гибок. Интересно то как думают о его ускорении.
- SQLite: Past, Present, and Future [6] об устройстве и судьбе СУБД Sqlite. Важно потому что не стоит недооценивать масштабов её использования особенно в мобильных устройствах и IoT.
- Document Foundation starts charging €8.99 for 'free' LibreOffice [7] этот момент настал и LibreOffice в магазине для Mac'ов продается за 8.99 евро. Обещается что сумма пойдет на разработку ПО. Напомню что LibreOffice - это ответвление (форк) OpenOffice.

Ссылки:
[1] https://gradientflow.com/the-vector-database-index/
[2] http://paulgraham.com/users.html
[3] https://www.openmainframeproject.org/all-projects/cobolprogrammingcourse
[4] https://github.com/corkami/collisions
[5] https://github.com/faster-cpython/ideas
[6] http://muratbuffalo.blogspot.com/2022/09/sqlite-past-present-and-future.html
[7] https://www.theregister.com/2022/09/20/libre_office_macos_fees/

#opensource #readings #rdbms #data

Читать полностью…

Ivan Begtin

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

С бизнес продуктами то же самое. Кто-то уже умеет быть и реально строит бизнес на данных, а кто-то умеет казаться и не имеет даже стратегии.

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


#thoughts #rants #opinion #dataengineering

Читать полностью…

Ivan Begtin

Я тут несколько раз писал о том что нет удобных инструментов для обработки для обработки NoSQL данных. Нет аналога OpenRefine или возможности удобной манипуляции данными внутри NoSQL баз данных. Писал на русском [1] и на английском языках [2].

Но рассуждать вслух хорошо, а экспериментировать лучше. Поэтому на выходных я сделал вот такой простой инструмент mongorefine [3] воспроизводящий часть функций OpenRefine используя MongoDB как бэкенд. Штука эта экспериментальная, измерения по скорости с другими подходами могут быть не в её пользу, особенно в части плоских данных. Но для не-плоских данных, она полезна даже в таком виде.

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

Лично я пока не обладаю уверенностью что путь создания системы автоматизации обработки данных поверх MongoDB - это оптимальный путь.

Но если Вы готовы поэкспериментировать и дать обратную связь, то такой инструмент теперь доступен.

P.S. Никогда не делайте экспериментов на рабочих базах данных. Сделайте тестовую копию и тренируйтесь на ней;)

Ссылки:
[1] /channel/begtin/4255
[2] ibegtin/nosql-data-wrangling-50b5a2898a83" rel="nofollow">https://medium.com/@ibegtin/nosql-data-wrangling-50b5a2898a83
[3] https://github.com/ivbeg/mongorefine

#data #opensource #mongodb #dataengineering #datawrangling

Читать полностью…

Ivan Begtin

Для тех кто "любит командную строку также как люблю её я" (c). Командная строка - это стиль жизни, удобство и привычка. Я сижу за командной строкой уже с незапамятных времен UNIX и MS-DOS и для многих задач это гораздо быстрее чем что-либо ещё.

Есть ли оболочки для работы с данными?

- nushell [1] потрясающая штука для тех кто работает в командной строке и работает с данными. Умеет открывать CSV, JSON и кучу других типов файлов и показывать их таблицами. Имеет язык запросов (набор функций) позволяющих таблицами работать с файлами и ещё много всего. Пока один важный минус - не поддерживает файлы JSON lines, Parquet и BSON, но это поправимо и не критично.

- Textualize и Rich [2] набор утилит и библиотека для создания оболочек для Python. Позволяет очень много, а Rich Cli ещё и умеет подсвечивать дата файлы удобным образом.

- bubbletea [3] создаём терминальные приложения на языке Go. Может многое, а ещё его использует gum [4] позволяющий создавать стильные скрипты без строчки кода на Go

В 2021 году в Google проводили исследование по доступности инструментов командной строки с полезными советами как их дорабатывать [5].

Командная строка - это, часто, возможность делать что-то быстро, без задержек и раздражения. Современные инструменты позволяют сделать работу с ними значительно удобнее.

Ссылки:
[1] https://www.nushell.sh
[2] https://www.textualize.io/
[3] https://github.com/charmbracelet/bubbletea
[4] https://github.com/charmbracelet/gum
[5] https://dl.acm.org/doi/fullHtml/10.1145/3411764.3445544

#datatools #opensource #commandline

Читать полностью…

Ivan Begtin

Конгресс США официально открыл API к базе законопроектов [1], а также опубликовал исходный код с примерами работы с этим API [2].

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

Удивительно скорее то что у них это заняло так много времени, поскольку общественные базы данных и API к данным конгресса существуют давно [3]. Но, как бы то ни было, значит число общественных проектов на этих данных только вырастет.

Ссылки:
[1] https://blogs.loc.gov/law/2022/09/introducing-the-congress-gov-api/
[2] https://github.com/LibraryOfCongress/api.congress.gov/
[3] https://projects.propublica.org/api-docs/congress-api/

#opendata #us #congress #api #legislation

Читать полностью…

Ivan Begtin

Давно хочу написать про обработку документальных структурированных данных в NoSQL. Я затрагивал эту тему в англоязычной заметке Future of NoSQL in Modern Data Stack [1], но проблема, гораздо глубже, она связана со спецификой данных.

Классические наиболее распространенные подходы к обработке/очистке данных сейчас - это, или SQL запросы, или датафреймы вроде того же pandas, или инструменты вроде OpenRefine и Trifacta. Они все оперируют простыми плоскими таблицами и умеют по этим таблицам проводить относительно простые операции: переименовать колонку, разделить её, создать новую на основе имеющейся, изменить значение и тд.

В SQL это делается относительно просто, с учётом ограничений языка, конечно. В OpenRefine, Trifacta - это внутренние индексы для табличных данных и встроенные функции или внешний код. А для pandas и подхода через датафреймы - это код Python (или похожий в других языках).

Для данных с вложенными документами вроде тех что сериализуются в JSON или хранятся в MongoDB так не получится. При переносе из MongoDB в pandas вложенные объекты автоматически не нормализуются. А если их нормализовать, то потом назад в СУБД не перенести так просто. Будут потери, или в данных, или в возможности их обработки. И так со всем остальным, OpenRefine и аналоги также такой тип данных не поддерживают, только "уплощают" их в таблицы, но обратно могут отдать уже только плоскую таблицу.

Как работать с JSON подобными структурами? Например, используя языки запросов у NoSQL баз данных предварительно загрузив данные в саму СУБД.

А тут у нас начинают возникать уже ограничения другого рода. Ключевая NoSQL СУБД MongoDB не поддерживает большую часть операций по модификации данных иначе как запуском операций по перебору значений запроса итератором forEach. Самый банальный пример - это преобразование значений в полях в нижний или верхний регистр. То что в SQL решается простейшей командой UPDATE MyTable SET MyColumn = UPPER(MyColumn)
для MongoDB требует команды вроде
db.MyTable.find([find_criteria]).forEach(function(doc) {
db.MyTable.update(
{ _id: doc._id},
{ $set : { 'MyColumn' : doc.MyColumn.toUpperCase() } },
{ multi: true }
)
});

Похоже со многими другими операциями по преобразованию данных которые просты в табличных структурах, особенно в SQL и крайне затруднены в MongoDB. При том что MongoDB наиболее популярная NoSQL СУБД.

Можно ли такие операции проводить не в MongoDB, а, например, в другой NoSQL базе? Их поддерживает, например, ArangoDB. Там также есть циклы на выполнение операций, но они могут проводится внутри движка СУБД. Например, вот так.

FOR u IN MyTable
UPDATE u WITH {
MyColumn: UPPER(MyColumn)
} IN MyTable

Будет ли это быстрее чем если эту операцию делать извне? Непонятно, требует проверки.

Альтернативой использования СУБД является написание аналога pandas DataFrame для не-табличных документов. У Python есть библиотека glom [2] которая позволяет что-то подобное и может быть расширена, но имеет довольно серьёзные ограничения по объёмам данных и по скорости их обработки.

В итоге, если честно, я до сих пор не вижу оптимальный бэкэнд для data wrangling для NoSQL. Лучший кандидат как СУБД - это ArangoDB, но без интенсивного тестирования это неточно.
Наиболее эффективным способом обработки JSON/JSONlines всё ещё является программная обработка за пределами СУБД и инструментов ручного data wrangling вроде OpenRefine.


Ссылки:
[1] ibegtin/future-of-nosql-in-modern-data-stack-f39303bc61e8" rel="nofollow">https://medium.com/@ibegtin/future-of-nosql-in-modern-data-stack-f39303bc61e8
[2] https://glom.readthedocs.io

#data #datatools #thoughts #nosql #dataengineering #datawrangling

Читать полностью…

Ivan Begtin

По поводу свежего постановления российского федерального Пр-ва [1] по поводу того что все госорганы и госструктуры должны использовать только домены в зонах .RU, .SU и .РФ я не могу не напомнить что пока жареный петух в жопу не клюнет, поп не перекрестится. В Инфокультуре (@infoculture) мы уже несколько лет ведем реестр всех госдоменов [2]. Может не самый полный, но полней его нет. Там почти все домены ФОИВов, части РОИВов, некоторых бюджетных учреждений - это 7711 записей, включая не работающие сайты, "потерянные" и разделегированные домены и так далее.

Так вот только у нас в базе 16 доменов в зонах .COM, .NET, .ORG, .INFO. Реально их, конечно, больше потому что есть 150+ тысяч госучреждений.

Я тут не могу в очередной раз не кинуть камень в адрес Минцифры РФ которые за все эти годы так и не сподобились инвентаризацию госдоменов провести.

Мы то свой реестр ведём для цифровой архивации содержания сайтов, а им теперь надо инвентаризировать для мониторинга. Или так, очередное постановление фед. Пр-ва для галочки, а исполнять планов не было?;)

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

Ссылки:
[1] https://www.rbc.ru/technology_and_media/14/09/2022/632080c59a7947878f0bedc1
[2] https://github.com/infoculture/govdomains

#opendata

Читать полностью…

Ivan Begtin

Я достаточно давно не публиковал данные над которыми работаем мы сами, а не просто выложенные где-то ещё. Поэтому пора уже разместить такой набор данных - это данные по социально ориентированным НКО в репозитории datacrafter-sonko [1]

Это одновременно пример работы datacrafter'а [2] с кодом выгрузки данных в datacrafter.yml и сам набор данных в виде слепков первичных данных выкачанных с портала Минэка РФ data.economy.gov.ru и уже в обработанном виде в виде файла sonko_fin.bson.gz в котором данные Минэка обогащены частью данных с портала openngo.ru. Той частью что относится к классификации НКО.

Несколько лет назад мы в openngo.ru разметили все НКОшки по 320 классификационным категориям среди которых есть православные НКО, госНКО, НКО относящиеся к структурам ДОСААФ и ещё много каких. Все это время не доходили и не доходят руки загрузить это на сайт openngo.ru в основном потому что общественного заказчика на некоммерческую аналитику мы так и не нашли.

Поэтому эти классификационные признаки я сейчас перенес на эту малую базу СОНКО из 45+ тысяч организаций. Там получилось 213 категорий по которым размечены приtмрно 2/3 всех организаций.

Так что если хотите поработать с данными в формате MongoDB, про социально ориентированные НКО и проанализировать их, то в репозитории код, вот тут финальные дампы [3] в которые добавлены статус в ЕГРЮЛ, статус в Минюсте, классификационные группы (orglists) к которым относится организация.

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

Вопросы лучше писать в issues репозитория или по контактам указанным в репозитории, предварительно представившись кто Вы и что делаете.

Я чуть позже также выложу некоторые метрики и аналитику.

Ссылки:
[1] https://github.com/datacoon/datacrafter-sonko
[2] https://github.com/apicrafter/datacrafter
[3] https://github.com/datacoon/datacrafter-sonko/tree/main/output/dump/openngo

#ngo #datasets #govngo #opendata

Читать полностью…

Ivan Begtin

В рубрике интересных наборов данных новость о том что DBLP, открытая база научных публикаций о компьютерных науках, интегрировали их данные с другой открытой научной базой OpenAlex и пишут об этом [1].

Для тех кто не знает, OpenAlex - это открытый продукт базы данных ссылок на научные публикации созданный НКО OutResearch на базе Microsoft Academic Knowledge Graph, большого набор данных опубликованного компанией Microsoft для помощи в развитии инструментов анализа библиографических данных.

DBLP - это проект университета Триера существующий с 1993 года и ведущий крупнейшую в мире систематизированную базу научных публикаций в области компьютерных наук.

Интеграция даёт возможность увидеть категории/концепты к которым относится данная публикация, а ранее уже DBLP интегрировали с базами Semantic Scholar, Crossref и OpenCitations.

Пока это всё происходит на уровне веб-интерфейсов, но, ничто не мешает использовать открытые данные DBLP [2] что автоматизации анализа в нужных областях.

Лично мне в DBLP всегда не хватало возможности подписаться на новые статьи по конкретной теме, исследователю, исследовательскому центру, ключевым словам, но это то что можно делать в других сервисах вроде Semantic Scholar.

Я читаю на регулярной основе ключевые научные работы по цифровой архивации, открытым данным и "пониманию данных" (семантическим типам данных, идентификации шаблонов и тд.). Удобные инструменты для поиска таких публикаций очень помогают.

Ссылки։
[1] https://blog.dblp.org/2022/08/31/openalex-integration-in-dblp/
[2] https://dblp.uni-trier.de/xml/

#opendata #research #openaccess #datasets

Читать полностью…
Подписаться на канал