Емисс что это такое

Единая Межведомственная Информационно Статистическая Система

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

Что это

ЕМИСС – это общероссийская платформа, на которой собрана вся межведомственная статистика. Она была специально разработана для госпрограммы «Развитие государственной статистики России в 2007-2011 годах». С ее помощью упрощается доступ через Интернет представителей государственной власти на местах, муниципалитетов, представителей местного самоуправления, предпринимателей и физлиц к собранным федеральной службой статистики данным различного типа:

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

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

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

Как пользоваться

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

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

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

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

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

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

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

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

Извлечь описание искомого показателя из базы метаданных ЕМИСС можно с помощью экранных форумов, представленных на портале Госуслуг.

Личный кабинет ЕМИСС

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

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

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

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

Регистрация

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

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

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

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

Вход в личный кабинет

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

Реестр показателей

Реестр данных Федстата, размещенный на ЕМИСС, включает в себя данные, которые вносятся по определенной форме. Каждая запись имеет свой код, название документа, форму отчетности, указание на ведомство, ее предоставившее, единицы, в которых ведется измерение данных. Расшифровка данных упрощается при работе с ними в личном кабинете.

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

Популярные записи реестра отражаются на его главной странице. Среди самых востребованных документов реестра являются:

Используя реестр базы данных ЕМИСС, можно узнать популярную у пользователей статистику здравоохранения по регионам:

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

Ведомства

На официальном сайте Росстат ЕМИСС представлены все федеральные ведомства ФР, предоставляющие данные статистики по своей отрасли. Всего представлено 65 ведомств, по которым собирается информация от отчетности:

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

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

Контакты

Пользователи могут оперативно связаться со службой технической поддержки сайта в случае возникновения проблем в работе ресурса, используя электронную почту emiss@digital.gov.ru

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

Также можно позвонить по телефонам горячей линии +7 (495) 320-10-19; 8 (800) 100-60-42 в рабочее время.

Источник

Единая межведомственная
информационно-статистическая система
ЕМИСС

Единая межведомственная информационно-статистическая система (ЕМИСС) представляет собой государственную информационную систему, объединяющую официальные государственные информационные статистические ресурсы, формируемые субъектами официального статистического учета в рамках реализации Федерального плана статистических работ.

Разработчики:Программный Продукт, Армада
Дата премьеры системы:февраль 2012 года
Дата последнего релиза:2015/11/09
Отрасли:Государственные и социальные структуры

Содержание

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

История

2017: «Программный продукт» продолжает развивать экспертизу в области ИТ-поддержки

Компания «Программный Продукт» в интересах Минкомсвязи России обеспечила эксплуатацию и функционирование программного обеспечения и баз данных Единой межведомственной информационно-статистической системы (ЕМИСС).

В рамках проекта специалисты компании занимались обеспечением функционирования и администрированием специализированного ПО и баз данных центрального сегмента ЕМИСС, оптимизацией структур хранения данных в БД системы и сегментацией её таблиц. Были реализованы функции использования электронной подписи при предоставлении официальной статистической информации субъектами официального статистического учета (ОСУ), а также обеспечены защита и бесперебойная работа системы, с соблюдением всех требований надежности, безопасности и функциональности.

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

В ходе выполнения проекта специалисты «Программного Продукта» провели ряд групповых обучающих семинаров для представителей субъектов ОСУ в части использования программно-технических средств и web-портала ЕМИСС, от регистрации и использования шаблонов при наполнении ведомственных статистических ресурсов до ведения нормативно-справочной информации ЕМИСС и передачи данных в систему ГАС «Управление».

2015: Запуск модернизированной версии ЕМИСС

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

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

Архитектура системы (2014)

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

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

На 9 ноября 2015 года система действует в стадии опытной эксплуатации и доступна по ссылке с основного портала ЕМИСС.

ЕМИСС имеет статус государственного интегрированного статистического ресурса. Система была разработана в рамках реализации федеральной целевой программы «Развитие государственной статистики России в 2007-2011 годах» и введена в эксплуатацию совместным приказом Минкомсвязи России и Росстата от 16 ноября 2011 года №318/461.

Система является национальным инструментом статистического учёта работы госорганов. Работа по созданию ЕМИСС велась в рамках федеральной целевой программы по госстатистике начиная с 2007 года. В 2011 году система введена в эксплуатацию. Минкомсвязь России является оператором системы и отвечает за техническую составляющую, координаторы ЕМИСС — Росстат и Минэкономразвития.

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

«Мы считаем, что на сегодняшний день у нас есть хороший базис», – отметил Олег Духовницкий. Вместе с тем, по его мнению, необходимо развивать систему и в дальнейшем, «чтобы количество загружаемых туда сведений увеличилось, чтобы число субъектов и участников возрастало, чтобы интерес к системе повышался». В частности, необходимо обновить техническую составляющую, модернизировать «серверное пространство, чтобы система работала максимально быстро и надежно».

По словам Олега Духовницкого, вся серверная инфраструктурная составляющая находится на подведомственной Минкомсвязи технологической инфраструктуре, расположенной на предприятии «Восход».

Как сообщил собеседник издания CNews.ru, на 2012 год из 80 федеральных органов 66 уже предоставили свои данные в ЕМИСС.

«Росстат и Минкомсвязь России будут стараться привлекать как можно большее количество органов государственной власти и организаций», – резюмировал Олег Духовницкий.

Интервью создателей

Система государственной статистики модернизируется: на смену разрозненным ведомственным базам статистических данных, «живущим» на десятках веб-сайтов, приходит единая межведомственная информационно-статистическая система (ЕМИСС). Для кого она создается и как будет организован доступ к ней, в интервью CNews рассказывает заместитель руководителя Федеральной службы государственной статистики (Росстат) Вячеслав Забелин.

CNews: Что такое система государственной статистики и кто формирует официальную статистическую информацию в России? Росстат?

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

Участвующие в этой работе федеральные органы власти называются субъектами официального статистического учета. Их более 60-ти и все они действуют в соответствии с федеральным планом статистических работ. Задача Росстата – координировать разработку проекта федерального плана и предоставлять его в правительство на утверждение.

CNews: Каким образом пользователи получают доступк официальной статистической информации? Вячеслав Забелин: Официальная статистическая информация публикуется на сайтах субъектов официального статистического учета в интернете. Ее можно разделить на два вида.

CNews: Какова судьба Центральной базы статистических данных (ЦБСД) Росстата, доступ к которой с сайта Росстата закрыт?

Вячеслав Забелин: Центральная база статистических данных Росстата – это одна из ведомственных баз, она была создана еще в 90-х годах. Несмотря на свой 20-летний возраст, ЦБСД поддерживается Росстатом и актуализируется. А вот ее веб-компонента, созданная также в прошлом веке, требует серьезной модернизации, чтобы ее можно было использовать на современной аппаратно-программной платформе. Поэтому она временно выведена из эксплуатации. Авторизованным пользователям может быть открыт санкционированный доступ к ЦБСД, работающей в ЛВС Росстата. В настоящее время ЦБСД используется в качестве основного источника официальной статистической информации, размещаемой Росстатом в Единой межведомственной информационно-статистической системе (ЕМИСС).

Оператором ЕМИСС является Министерство связи и массовых коммуникаций России, а координатором – Росстат. Мы определяем и контролируем порядок размещения и актуализации всей официальной статистической информации в ЕМИСС.

CNews: Таким образом, в ЕМИСС должны храниться информационные статистические ресурсы всех ведомств? Зачем нужны такие усилия?

Вячеслав Забелин: В настоящее время статистические ресурсы 60-ти ведомств хранятся в базах данных различной архитектуры под управлением различных СУБД. Для того чтобы получить необходимую какой либо государственной информационной системе статистическую информацию, требуется сделать запрос в каждое ведомство по отдельности. Такая ситуация должна быть исправлена: государственные информационные системы должны по одному запросу получать официальную статистическую информацию по всему необходимому им перечню показателей.

Поэтому и была создана единая межведомственная информационно-статистическая система. Она призвана объединить статистические ресурсы, предоставлять информацию по запросам пользователей и других систем. Одной из таких систем является государственная автоматизированная система «Управление». Для ее информационного наполнения сформирована технологическая карта межведомственного взаимодействия, содержащая 582 показателя официальной статистической информации из реестра ЕМИСС. В этом году Минкомсвязь должно разработать, во-первых, электронный сервис, который будет реализовывать запросы из внешних информационных систем к ЕМИСС и, во-вторых, функцию по обработке запросов из внешних ИС на представление статистических данных из ЕМИСС по заданному перечню показателей.

CNews: Вы говорите о потребностях государственных информационных систем, но где интересы живых пользователей?

CNews: Рассматривается ли вопрос создания единого хранилища с отрытым доступом ко всей публикуемой в России официальной статистике?

Вячеслав Забелин: Все субъекты официального статистического учета размещают информацию на своих сайтах. Другое дело, что статистическая деятельность не является их основной задачей, и статистика «тонет» в остальном объеме информации, размещаемой ведомством на своем сайте.

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

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

CNews: Когда будет запущен портал?

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

Источник

Статистика в кармане: Портативная СУБД с базой Росстата для исследователей и не только

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

Возможно, глядя на этот старый советский плакат, вы подумаете, что я здесь буду агитировать сознательных граждан России участвовать в переписи населения… Но спешу вас разуверить: статья вовсе не об этом. Скорее это рассказ о том, какая официальная статистика собирается в России, где ее искать и как скачать все данные к себе на компьютер или портативное устройство (отсюда и название) и удобно ей пользоваться. Если вам это интересно, читайте дальше!

Государственный статистический учет в России

Статистика вчера и сегодня

Статистические данные по нашей стране собираются довольно давно: экономические, социальные и иные показатели собирались и публиковались еще при царской власти, затем более масштабно — при советской власти и, наконец, в XXI веке (особенно с переходом на электронные базы данных) российская статистика окончательно приобрела свои современные очертания. В России сбором и обработкой статистических данных занимается Федеральная служба государственной статистики, она же просто Росстат. Своей основной целью эта служба называет «удовлетворение потребностей органов власти и управления, средств массовой информации, населения, научной общественности, коммерческих организаций и предпринимателей, международных организаций в разнообразной, объективной и полной статистической информации».

Вот как Росстат описывает становление современного статистического учета в Российской Федерации:

Начало ХХI века ознаменовалось для российской статистики принципиальными событиями. Прежде всего, в этот период были заложены единые основы осуществления официального статистического учета, которые были установлены Федеральным законом “Об официальном статистическом учете и системе государственной статистики в Российской Федерации”, принятым 29 ноября 2007 г. (далее – Закон о статистике).

Также в этот период были приняты Федеральный закон “Об информации, информационных технологиях и о защите информации” от 27 июля 2006 г.; Федеральный закон “О персональных данных” от 27 июля 2006г.; Кодекс Российской Федерации об административных правонарушениях от 30 декабря 2001 г. и другие законы и нормативные акты Правительства Российской Федерации, касающиеся правового регулирования официального статистического учета в Российской Федерации.

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

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

Полный текст исторический справки вы можете прочитать на сайте Росстата.

В 2019 г. Росстат утвердил «Стратегию развития Росстата и системы государственной статистики до 2024 года» (документ можно скачать по ссылке), в которой ставятся следующие задачи:

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

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

Отсюда постулируются и довольно-таки смелые плановые показатели 2024 г.:

Единый статистический ресурс — ЕМИСС

Сегодня вся статистическая информация, собираемая Росстатом, хранится в единой базе статистических данных — ЕМИСС, доступной на сайте www.fedstat.ru. По состоянию на момент написания этой статьи, база ЕМИСС содержит 7230 показателей, собранных от 65 государственных ведомств. На главной странице есть диаграмма, показывающая, что ежемесячно обновляется более 1000 показателей.

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

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

Для удобства несколько прямых ссылок:

Делаем свой «клон» ЕМИСС

При всех преимуществах «веб-морды» ЕМИСС (которая даже поддерживает контекстный поиск и позволяет выгружать датасеты в формате Excel), у нее есть несколько существенных недостатков, которые вообще присутствуют у подавляющего большинства открытых данных, доступных через веб:

Структура базы данных

Я начал с того, что скачал с ЕМИСС полный перечень доступных датасетов (ссылку приводил выше), а также несколько самих датасетов в формате XML. Подробное описание данных ЕМИСС вы можете прочитать в вышеуказанном Руководстве пользователя, а я лишь приведу граф структуры БД, полученный на основе анализа этих XML (картинка кликабельна).

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

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

Собственно данные (т.е. численные наблюдения по годам, кварталам и т.д.) находятся в таблице obsobservations»), которая связана внешними ключами с таблицей датасетов (datasets), классификаций (codevals), единиц измерений (units) и периодов наблюдений (periods).

Таблица датасетов, содержащая информацию о наборах данных, связана с таблицами служб (agencies), подразделений (departments), рубрик (classifier), классификаторов (codes), единиц измерений (units) и периодов наблюдений (periods).

Остальные таблицы являются служебными, и мы не будем на них подробно останавливаться.

Представления

Специально для удобства выгрузки данных в читаемом виде (с раскрытием зависимостей между таблицами) я создал несколько представлений:

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

Представление all_datasets, как явствует из названия, выводит информацию обо всех датасетах в таблице datasets, с отображением данных из связанных служебных таблиц. Например, чтобы вывести первые 10 датасетов (с валидными данными — об этом дальше), выполним:

select * from all_datasets
where data_start > 0
limit 10
idclassifierdatasetupdatedpreparednext_updatedescriptionagencydepartmentdata_startdata_endprep_byprep_contact
1 526По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество должностных лиц, совершивших преступления, освобожденных от уголовной ответственности по нереабилитирующим основаниям2020-08-27 15:57:492020-12-10 05:04:482021-03-31 21:00:00В связи с внесением изменений в форму статистического наблюденияГенеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0182 020Карпова Ю.А.8(495)-982-76-43 gosstat.gprf@genproc.ru
1 479По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество должностных лиц, совершивших преступления, уголовные дела и материалы по которым направлены в суд2020-08-27 15:50:082020-12-10 05:04:492021-03-31 21:00:00В связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru
1 419По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество лиц, совершивших преступления2020-08-27 15:48:122020-12-10 05:16:152021-03-31 21:00:00Показатель формы «1-КОРР» (код 599) «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности», утвержденной постановлением Федеральной службы государственной статистики от 04 мая 2011 г. № 233. Представляют информационные центры МВД, ГУВД, УВД субъектов РФ.Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0112 020Карпова Ю.А.8-495-982-76-43 gosstat.gprf@genproc.ru
1 335По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество лиц, совершивших преступления занимающих должности в органах законодательной власти на уровне органа местного самоуправления2020-08-27 15:48:572020-12-10 05:16:172021-03-31 21:00:00Показатель формы «1-КОРР» (код 599) «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности», утвержденной постановлением Федеральной службы государственной статистики от 04 мая 2011 г. № 233. Представляют информационные центры МВД, ГУВД, УВД субъектов РФ.Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0112 020Карпова Ю.А.8-495-982-76-43 gosstat.gprf@genproc.ru
1 172По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество лиц, совершивших преступления занимающих должности в органах законодательной власти на уровне Российской Федерации2020-08-27 15:48:392020-12-10 05:16:192021-03-31 21:00:00Показатель формы «1-КОРР» (код 599) «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности», утвержденной постановлением Федеральной службы государственной статистики от 04 мая 2011 г. № 233. Представляют информационные центры МВД, ГУВД, УВД субъектов РФ.Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0112 020Карпова Ю.А.8-495-982-76-43 gosstat.gprf@genproc.ru
1 540По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество лиц, совершивших преступления занимающих должности в органах законодательной власти на уровне субъекта Российской Федерации2020-08-27 15:48:482020-12-10 05:16:212021-03-31 21:00:00Показатель формы «1-КОРР» (код 599) «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности», утвержденной постановлением Федеральной службы государственной статистики от 04 мая 2011 г. № 233. Представляют информационные центры МВД, ГУВД, УВД субъектов РФ.Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0112 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru
1 520По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество лиц, совершивших преступления занимающих должности в органах исполнительной власти (за исключением правоохранительных) на уровне органа местного самоуправления2020-08-27 15:49:572020-12-10 05:16:282021-03-31 21:00:00В связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru
1 125По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество лиц, совершивших преступления занимающих должности в органах исполнительной власти (за исключением правоохранительных) на уровне Российской Федерации2020-08-27 15:49:402020-12-10 05:16:292021-03-31 21:00:00В связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru
1 272По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество лиц, совершивших преступления занимающих должности в органах исполнительной власти (за исключением правоохранительных) на уровне субъекта Российской Федерации2020-08-27 15:49:492020-12-10 05:16:232021-03-31 21:00:00В связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).Генеральная Прокуратура Российской ФедерацииГлавное организационно-аналитическое управление ГП РФ2 0162 020Боголюбов А.Е.(495)-982-76-55 kazimirov@genproc.gov.ru
1 167По федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиКоличество лиц, совершивших преступления занимающих должности в органах исполнительной власти на уровне органа местного самоуправления2016-02-20 11:25:282020-12-10 05:16:402021-03-31 21:00:00Показатель формы «1-КОРР» (код 599) «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности», утвержденной постановлением Федеральной службы государственной статистики от 04 мая 2011 г. № 233. Представляют информационные центры МВД, ГУВД, УВД субъектов РФ.Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0112 015Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru

Чтобы получить сами данные (наблюдения за определенные периоды), используется представление all_data, которое объединяет таблицу obs со всеми связанными с ней.

Первые 10 наблюдений:

select * from all_data limit 10
idds_iddatasetclassifierdescriptionpreparedupdatednext_updateagencydepartmentdata_startdata_endprep_byprep_contactyearreleaseunitcodecategoryvalue
1 752 0081 526Количество должностных лиц, совершивших преступления, освобожденных от уголовной ответственности по нереабилитирующим основаниямПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиВ связи с внесением изменений в форму статистического наблюдения2020-12-10 05:04:482020-08-27 15:57:492021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0182 020Карпова Ю.А.8(495)-982-76-43 gosstat.gprf@genproc.ru2 020январь-июньчеловекРФРоссийская Федерация2 099
1 743 5801 479Количество должностных лиц, совершивших преступления, уголовные дела и материалы по которым направлены в судПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиВ связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).2020-12-10 05:04:492020-08-27 15:50:082021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru2 016январь-декабрьединицаРФРоссийская Федерация10 907
1 743 5791 479Количество должностных лиц, совершивших преступления, уголовные дела и материалы по которым направлены в судПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиВ связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).2020-12-10 05:04:492020-08-27 15:50:082021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru2 016январь-июньединицаРФРоссийская Федерация7 165
1 743 5821 479Количество должностных лиц, совершивших преступления, уголовные дела и материалы по которым направлены в судПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиВ связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).2020-12-10 05:04:492020-08-27 15:50:082021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru2 017январь-декабрьединицаРФРоссийская Федерация13 122
1 743 5811 479Количество должностных лиц, совершивших преступления, уголовные дела и материалы по которым направлены в судПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиВ связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).2020-12-10 05:04:492020-08-27 15:50:082021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru2 017январь-июньединицаРФРоссийская Федерация7 179
1 743 5831 479Количество должностных лиц, совершивших преступления, уголовные дела и материалы по которым направлены в судПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиВ связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).2020-12-10 05:04:492020-08-27 15:50:082021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru2 018I полугодиеединицаРФРоссийская Федерация7 193
1 743 5841 479Количество должностных лиц, совершивших преступления, уголовные дела и материалы по которым направлены в судПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиВ связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).2020-12-10 05:04:492020-08-27 15:50:082021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru2 018январь-декабрьединицаРФРоссийская Федерация12 770
1 743 5851 479Количество должностных лиц, совершивших преступления, уголовные дела и материалы по которым направлены в судПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиВ связи с внесением изменений в форму статистического наблюдения № 1-КОРР «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности» (приказ Генерального прокурора Российской Федерации от 09.03.2016 № 143).2020-12-10 05:04:492020-08-27 15:50:082021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0162 020Карпова Ю.А.(495)-982-76-43 gosstat.gprf@genproc.ru2 018январь-декабрьчеловекРФРоссийская Федерация12 770
1 676 9371 419Количество лиц, совершивших преступленияПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиПоказатель формы «1-КОРР» (код 599) «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности», утвержденной постановлением Федеральной службы государственной статистики от 04 мая 2011 г. № 233. Представляют информационные центры МВД, ГУВД, УВД субъектов РФ.2020-12-10 05:16:152020-08-27 15:48:122021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0112 020Карпова Ю.А.8-495-982-76-43 gosstat.gprf@genproc.ru2 011I полугодиечеловекРФРоссийская Федерация7 098
1 676 9391 419Количество лиц, совершивших преступленияПо федеральному плану статработ / Генеральная Прокуратура Российской Федерации / Информация о преступлениях коррупционной направленностиПоказатель формы «1-КОРР» (код 599) «Сведения о результатах работы правоохранительных (правоприменительных) органов по борьбе с преступлениями коррупционной направленности», утвержденной постановлением Федеральной службы государственной статистики от 04 мая 2011 г. № 233. Представляют информационные центры МВД, ГУВД, УВД субъектов РФ.2020-12-10 05:16:152020-08-27 15:48:122021-03-31 21:00:00Генеральная Прокуратура Российской ФедерацииГлавное управление правовой статистики и информационных технологий2 0112 020Карпова Ю.А.8-495-982-76-43 gosstat.gprf@genproc.ru2 011январь-декабрьчеловекРФРоссийская Федерация11 978

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

select * from data_lite where year > 0 limit 10
idds_iddatasetyearreleaseunitcodecategoryvalue
3 568 1333 637Пассажирооборот по видам транспорта общего пользования1 970миллиард пассажиро-километровВид транспортаАвтобусный100,09999847
364 291307Грузооборот по видам транспорта1 970миллиард тонно-километровВид транспортаАвтомобильный транспорт116
2 441 8222 689Перевозки грузов по видам транспорта1 970миллион тоннВид транспортаАвтомобильный транспорт7 853
364 292307Грузооборот по видам транспорта1 970миллиард тонно-километровКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация116
2 441 8232 689Перевозки грузов по видам транспорта1 970миллион тоннКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация7 853
3 568 1323 637Пассажирооборот по видам транспорта общего пользования1 970миллиард пассажиро-километровКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация100,09999847
3 568 1353 637Пассажирооборот по видам транспорта общего пользования1 975миллиард пассажиро-километровВид транспортаАвтобусный157,30000305
364 293307Грузооборот по видам транспорта1 975миллиард тонно-километровВид транспортаАвтомобильный транспорт184
2 441 8242 689Перевозки грузов по видам транспорта1 975миллион тоннВид транспортаАвтомобильный транспорт11 650
364 294307Грузооборот по видам транспорта1 975миллиард тонно-километровКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация184

Именно эти представления используются в клиентской части для получения данных из БД. Но для того, чтобы их получить, надо сначала данные загрузить 🙂

Импорт данных в БД

Здесь все должно быть очевидным: на вход функции подаются значения для всех полей таблицы datasets (например, полное название датасета, дата последнего обновления, ФИО ответственного и т.д.) и связанных внешних таблиц (например, название ответственной службы, подразделения, рубрика и т.д.). СУБД последовательно обновляет сначала внешние таблицы, а затем таблицу datasets, добавляя в нее как исходные данные, так и новые значения внешних ключей. Функция возвращает ID добавленного или обновленного датасета.

А вот с функцией add_data немного по-другому: исходные данные в нее передаются как текст в формате JSON, а уже преобразование и извлечение полей данных происходит в самой функции. Это связано, с одной стороны, с желанием упростить вызов функции из клиента (любой клиент может сформировать исходные данные в виде JSON-строки), а с другой стороны, с богатыми возможностями непосредственной работы с JSON в самом Postgres (к слову, у меня версия 13 на локальном хосте).

Итак, все, что теперь надо сделать в клиентской части, — это подготовить исходные данные в формате JSON-строки и передать эту строку на вход функции add_data (вместе с форматом дат, который можно оставить по умолчанию), а она уже сама добавит необходимые данные во все связанные таблицы БД и выдаст количество добавленных записей, ID датасета и ID последнего добавленного наблюдения. Cool! Но что у нас с поиском по базе?

Реализация поиска

Поиск по шаблону

Для обычного параметрического поиска используем стандартные SQL-запросы к представлениям и полагаемся на скорость движка Postgres. Например, посмотрим на пассажирооборот автобусов с 2010 по 2018 гг. по стране, выведя годовые показатели:

idds_iddatasetyearreleaseunitcodecategoryvalue
2 461 6532 747Пассажирооборот автобусов по маршрутам регулярных перевозок2 014значение показателя за годтысяча пассажиро-километровКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация120 055 168
2 461 6562 747Пассажирооборот автобусов по маршрутам регулярных перевозок2 015значение показателя за годтысяча пассажиро-километровКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация118 061 520
2 461 6582 747Пассажирооборот автобусов по маршрутам регулярных перевозок2 016значение показателя за годтысяча пассажиро-километровКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация116 885 384
2 461 6612 747Пассажирооборот автобусов по маршрутам регулярных перевозок2 017значение показателя за годтысяча пассажиро-километровКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация116 041 928
3 637 1863 737Пассажирооборот автобусов2 017значение показателя за годтысяча пассажиро-километровКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация123 381 632
2 461 6642 747Пассажирооборот автобусов по маршрутам регулярных перевозок2 018значение показателя за годтысяча пассажиро-километровКлассификатор объектов административно-территориального деления (ОКАТО)Российская Федерация114 817 920

Этот запрос у меня выполняется в среднем за 20 мс. Тот же запрос из представления all_data — за 20-30 мс (то есть примерно за такое же время). Более сложные запросы дают время выполнения все равно менее секунды, что очень хорошо для довольно объемной базы (на настоящее время у меня 1.4 млн. записей в obs).

Но мы же все хорошо знаем ограничения оператора LIKE, не так ли? 🙂 Зависимость от регистра букв, простота шаблонов поиска и т.п… Но у нас же Postgres! С такой-то современной СУБД можно и горы свернуть:

*, REGEXP_MATCH(ES) и т.д.

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

Хорошо, с параметрическим поиском понятно. А как быть, если мы хотим по всей базе поискать что-то вроде «школы и детские сады» или «автобус трамвай поезд» (то есть так, как мы обычно «гуглим» в сети)? Для этого есть полнотекстовый поиск.

Полнотекстовый поиск

Как говорится в справочной документации, обычный поиск по шаблону не имеет возможности определять словоформы (т.е. не найдет строку со словом «трамваев» при поиске по слову «трамвай»), а также не позволяет упорядочить результаты поиска по релевантности (как это делают сетевые поисковые системы) и потенциально выполняется медленнее из-за отсутствия индексации.

Я не буду здесь вдаваться в подробности и терминологию полнотекстового поиска в Postgres — можете углубиться в эту тему самостоятельно, если вы с ней не очень хорошо знакомы. Мы же сразу перейдем к практике.

Итак, для реализации полнотекстового поиска по базе (наподобие того, что делает Google, Yandex, Bing и иже с ними) во все таблицы, имеющие текстовые поля, добавлено поле search, содержащее поисковые индексированные данные для поиска. Тип данных этого поля — tsvector. Также для всех таких таблиц созданы соответствующие индексы в БД (в Postgres есть два вида поисковых индексов, я использую GIN как наиболее оптимальный). Например, создание индекса для таблицы agencies выглядит так:

Чтобы индексы постоянно обновлялись при обновлении данных в таблицах, используются триггерные функции для соответствующих таблиц, вызываемые при обновлении / добавлении данных. Например, для таблицы datasets определена функция datasets_update_insert:

Обратите внимание на этот пример: поле search обновляется из двух объединенных векторов (индексов) — название датасета и описание методологии, причем первый из них (название) имеет более высокий приоритет поиска (ему присваивается вес «A»). Таким образом, релевантность результатов поиска будет выше для совпадений в поле name, чем для совпадений в поле description. Также обратите внимание на явное указание локали «russian» для функции векторизации (Postgres и так бы справился, применив системную локаль, но так более наглядно и надежно). Внутренние механизмы морфологического парсера действуют исходя из заданной локали (языка), именно поэтому в БД с русскими текстами движок будет «понимать», что «трамвай» и «трамваями» имеют одну основу. А в английском языке таким же образом будут объединены, например, слова «John» и «John’s» или «read» и «reading».

Для упрощения полнотекстовых запросов я реализовал также 4 вспомогательные функции-утилиты:

1. Ищем «школы и детские сады» в датасетах (любые совпадения слов «школа» и словосочетания «детский сад»)

2. Ищем «уголовное дело» и «Верховный Суд» в наблюдениях за 2018 год (показатели за год)

В каждом примере показаны оба варианта: «веб-поиск» (search_*_web) и поиск с ручным форматированием ключевых слов (search_*). Результаты поиска в обоих вариантах будут идентичными.

С точки зрения вывода результатов все эти функции работают также одинаково: к возвращаемым результатам добавляется столбец ranking, который отражает ранг (релевантность) каждого результата в виде числа от 0 до 1 (чем выше, тем более релевантен результат). Результаты возвращаются по умолчанию отсортированными по этому столбцу (по убыванию), так что наиболее релевантные будут сверху.

Конечно, можно обойтись и без этих самописных функций-утилит, выполняя запросы вручную. Это может пригодиться, если требуется дополнительные степени свободы, например, указать конкретно что и как должно быть найдено в определенных таблицах и как объединять и сортировать результаты. Например, выведем наблюдения, для которых в соответствующих датасетах содержится слово «стоимость» (естественно, со всеми возможными словоформами), причем только для Российской Федерации в целом (исключая фразы типа «столица Российской Федерации») и только за весь год:

Кроме перечисленных «фишек», в БД еще есть несколько служебных серверных функций, на которых здесь не будем останавливаться. Во всем остальном это — стандартная реляционная БД Postgres. Конечно, ее можно и дальше оптимизировать: создавать пользовательские домены (т.е. типы данных), внедрять дополнительные функции проверки данных и вешать их на триггеры, но все это уже дело будущего. А пока посмотрим на клиентскую часть.

Клиентская часть

Как я уже говорил, клиент написан на Python (Python 3 или, если быть точнее, Python 3.9). Исходный код (включающий, кстати, и актуальный бэкап БД) доступен на Github.

Фронтэнд

Сразу оговорюсь, что работа над клиентом в части фронтэнда еще ведется. Окончательный вариант пользовательского интерфейса как таковой отсутствует на данный момент. Я пытался реализовать веб-приложение на Flask, но пока мои потуги уперлись в отсутствие опыта веб-разработки 🙂 Тем не менее, наработки доступны в ветке webapp, к которой, мне кажется, я еще вернусь. В идеале я планировал опубликовать полноценное веб-приложение на Heroku или Google App Engine, чтобы люди могли пользоваться без необходимости локального приложения и установки PostgreSQL. Как говорится, мне надо еще поучить «матчасть». Возможно, кто-то из вас сможет предложить какую-то другую идею или самостоятельно форкнуть проект и допилить интерфейс — смотрите сами!

Пока я не собрался силами вернуться к веб-приложению, я решил, что все-таки нужен какой-то минимальный интерфейс для работы с базой. Здесь у меня две основные опции: GUI (графическое приложение на каком-нибудь Qt или даже Tk) и REPL (чистая консоль). Возиться с GUI не не захотелось (памятуя трудоемкость других моих проектов, в частности, генератора кроссвордов на базе Qt5)… Поэтому выбор решился в пользу REPL.

В текущей реализации REPL основан на библиотеке Python Prompt Toolkit, которая поддерживает цветовые схемы консоли (на базе CSS и не только), отображение прогресс-баров, всплывающие диалоги, подсказки в нижней и правой панели консоли и 100500 разных других «плюшек», нужных и не очень. На сегодняшний день REPL работает довольно топорно: логика работы программы основана на иерархическом меню с односимвольными командами, которые заносятся в стек и выполняются на основе гигантского if… elif… else. Пример работы текущей версии консольного интерфейса показан ниже (терминал — ConEmu-Maximus 5 для Windows 64-bit).

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое
Ввод пароля БД при старте приложения

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое
Ввод команд и панель подсказок внизу окна

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое
Последовательный вывод результатов поиска с форматированием

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое
Отображение рубрик датасетов в иерархическом порядке

REPL пока также не завершен и еще допиливается (пока нет импорта / экспорта данных, реализации SQL-запросов и много еще чего), но концепция должна быть понятна.

Бэкэнд

Бэкэнд состоит из 3 модулей:

Модуль rsengine

В модуле rsengine определен единственный класс — Russtat, в задачи которого входит загрузка исходных датасетов и их реестра в формате XML с сайта ЕМИСС, обновление локального реестра датасетов в формате JSON, парсинг и конвертация данных в JSON с опциональным сохранением их в директории проекта (для последующего переноса в БД или иных целей).

Множественные операции (такие как скачивание и процессирование датасетов) выполняются параллельно в нескольких процессах при помощи multiprocessing.Pool, что значительно ускоряет работу. Детали реализации смотрите в исходниках, которые, кстати, я постарался сразу подробно документировать с созданием «человеческой» справки на Doxygen (см. в директории doc). Справка пока, правда, только на английском, но вас же это не смущает? 🙂

Модуль psdb

В модуле psdb определены два класса: класс Psdb, отвечающий за «низкоуровневую» работу с БД PostgreSQL, и унаследованный от него класс Russtatdb, который более конкретно заточен на работу с нашей локальной БД с учетом ее специфики, в частности, определенных в ней серверных функций.

В качестве движка для PostgreSQL используется psycopg2 (де-факто стандартный Python клиент для этой СУБД). В качестве альтернативы я пробовал также подход на основе ORM (PonyORM), но уперся в определенные трудности, связанные с отсутствием поддержки типа tsvector (напомню, это для полнотекстового поиска) в ORM. Любопытные могут посмотреть на мои «старания» в ветке ponyorm. Вообще же я для себя понял, что ORM — это не мое 🙂 Достаточно знания SQL и стандартного питоновского подхода к управлению БД (см. PEP 249, он же DB-API).

В классе Psdb определены, в частности, методы sqlquery и fetch, которые я постарался сделать достаточно мощными для любых запросов и возврата результатов в виде итератора («сырого» курсора БД), списка, словаря или датафрейма pandas.

В классе Russtatdb определены, в основном, методы поиска (по датасетам и наблюдениям), форматированного вывода результатов (в т.ч. для нужд REPL), а также импорта данных в БД (метод add_data). Этот последний метод, по сути, является оберткой вокруг серверной функции с тем же названием, о который мы уже говорили выше. Точно такими же обертками являются методы findin_datasets и findin_data, которые вызывают соответствующие функции поиска по шаблону в БД.

Модуль russtat

В модуле russtat, который содержит точку входа в клиентское приложение (вернее, одну из точек входа, так как другой является repl.py), основной функцией является update_db. Как следует из ее названия, она обновляет данные в БД: сначала при необходимости обновляется реестр датасетов с сайта ЕМИСС, затем скачиваются сами датасеты (можно указать диапазон и возможность пропуска уже существующих датасетов) и импортируются в БД при помощи метода add_data. Это делается, как я уже говорил, в мультипроцессовом режиме, с выводом промежуточных и финального логов (в консоль или указанный файл).

Таким образом, если у вас чистая (только что созданная) БД, то начать необходимо с вызова russtat.py (в аргументы командной строки можно передавать параметры обновления БД, но для чистой БД лучше все оставить по умолчанию, т.е. не передавать параметры).

— название статьи нельзя ругать за чистый кликбейт 🙂

Напоследок еще раз добавлю, что в исходниках присутствует полный бэкап БД со всеми данными (dbbackup.backup), а также SQL-код для создания чистой БД (dbcreate.sql). Вы можете воспользоваться любой из этих опций через стандартный админский интерфейс Postgres (pgAdmin), либо в другом любимом клиенте. В pgAdmin надо создать новую БД (с любым именем), затем вызвать на новой БД контекстное меню и выбрать Restore… Далее указать dbbackup.backup для БД с данными или dbcreate.sql для чистой БД (в этом случае во вкладке Restore Options надо установить флажок «Only schema», т.е. не копировать данные):

Емисс что это такое. Смотреть фото Емисс что это такое. Смотреть картинку Емисс что это такое. Картинка про Емисс что это такое. Фото Емисс что это такое

Внимание: блокировки!

Апдейт
Поскольку Росстат мой IP заблокировал после обнаружения активности «бота» (хотя нигде на сайте ЕМИСС положений о таком ограничении нет), предупреждение всем, кто хочет использовать этот или иной подобный скрипт. Используйте соответствующие методы обхода IP блокировки.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *