Обновлённый ЕМИСС: веб-приложение от непрограммиста (часть 2)
Привет, Хабр! Позвольте мне представиться: я Александр, единственный разработчик и человек в команде поддержки StatKit. Год назад я опубликовал первую часть статьи о своём веб-приложении с базами данных российской статистики. Тогда проект был сыроват, но сейчас я наконец решился выложить его в открытый доступ.
Почему? Потому что, возможно, он окажется полезным не только мне.
Чем Stat Kit лучше (и хуже) ЕМИСС?
ЕМИСС – мощный инструмент, но у него есть две большие проблемы:
ЕМИСС скоро исчезнет. Как верно заметили в комментариях к прошлой статье, систему планируют закрыть. Судя по приказу Минцифры и Росстата, её заменит ГИС ЦАП к концу 2025 года. Но пока что новую систему нельзя протестировать – регистрация закрыта, по крайне мере – я не смог этого сделать.
ЕМИСС неудобен для работы с группами данных. Например, если нужно собрать статистику, несколько показателей по регионам за несколько лет, приходится вручную «склеивать» десятки таблиц. На сайте я смог объединить 2 000 кодов ОКАТО, чтобы можно было построить панельные данные, например.
Моё приложение решает часть этих проблем:
Автоматизированная обработка данных – больше не нужно мучительно склеивать таблицы вручную.
Гибкая работа с временными рядами – можно сравнивать статистику по годам, что удобно для регрессий и корреляций.
Быстрый поиск – благодаря индексации всех атрибутов (год, регион, пол, возраст и т. д.) приложение работает куда быстрее.
Но есть и ограничения:
Нет автоматической загрузки данных – я добавляю показатели вручную, так как не хочу получить блокировку от ЕМИСС из-за автоматизированной выгрузки датасетов (пишите на почту с прямой ссылкой на показатель в ЕМИСС, и я постараюсь его добавить).
Еще хотелось бы, конечно, склеить и другие справочники, которые пока не сделаны, например, ОКВЭД и ОКТМО (а там десятки тысяч записей!).
В ЕМИСС все еще удобнее кликать и выбирать атрибуты, если нам нужен просто один показатель:

Как я ускорил приложение?
Когда данные в ЕМИСС занимают гигабайты, а пользователь хочет мгновенно получить выборку, встаёт вопрос: как оптимизировать запросы?
Моё решение – предварительная индексация. При загрузке данных я сразу разбиваю их по атрибутам и храню в отдельных таблицах. Да, это увеличивает объём базы, зато скорость работы выросла в разы.
Попробуйте сами!
Сайт доступен по адресу: http://statkit.ru/.
Если нужен какой-то конкретный показатель — пишите на почту (указана на сайте), и я добавлю его вручную.