title

text

Игорь Сухоруков
Игорь Сухоруков Align Technology Big Data team lead
15:00 03 апреля
22 мин

Как поместить весь мир в обычный ноутбук: PostgreSQL и OpenStreetMap

Я покажу в PostGIS, как каждый может проанализировать геоданные всей Земли и получить ответы на свои глобальные вопросы за минуты и секунды.

Когда вы пользуетесь такси в небольших городах, вызывая машину по телефону, то с высокой вероятностью вашу поездку тарифицирует программа на основе данных OSM. Для тарификации используется какой-либо из пакетов прокладки маршрута. Благодаря этому сценарию использования, сотрудники таксопарка указывают номер дома и улицу на зданиях и делают вклад не только в свой бизнес, но и в OpenStreetMap.

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

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

Ну и можно ответить на любой вопрос по географии который вам придет в голову: посчитать площади городов и построек, протяженности дорог и извлечь названия городов, областей и островов. Можете, например, стать чемпионом по игре в "Города" или основать новый сервис прокатов электро самокатов. Все ограничивается лишь вашей фантазией.

Я опубликовал https://github.com/igor-suhorukov/openstreetmap_h3 — мой проект высокопроизводительного загрузчика данных, который позволяет выполнять геоаналитику данных из OpenStreetMap в PostGIS. Он преобразует дамп OpenStreetMap всего мира или региона PBF в схему, разделенную по регионам H3. Опция столбцового хранения активирует расширение CitusDB в PostgreSQL для ускорения аналитических запросов.

Слайды

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

Другие доклады

  • Альфред Столяров
    Альфред Столяров ООО "Еваппс" (EvApps) директор
    45 мин

    Как мы перевели клиента с Oracle на PostgreSQL до того, как это стало мейнстримом

    Импортозамещение не началось в прошлом году после всем известных событий. Его старт датируется 2014 годом. Именно с этого года государственные и окологосударственные компании начали прорабатывать вопрос перехода на рекомендованное ПО. Одна из таких компаний и обратилась к нам еще в 20-м году с проектом перехода с Oracle на PostgreSQL. Данный проект был призван решить накопившиеся архитектурные проблемы (не оптимальное хранение телеметрических данных, сама СУБД работала внутри виртуальной машины), оптимизировать использование дискового пространства (освободить основное хранилище, отладить сохранение архивных данных, обеспечить корректное резервное копирование). Так как система заказчика должна работать бесперебойно 24/7, то требовался переход с одной СУБД на другую без простоев, с одновременной работой обеих для обеспечения пошагового перевода подсистем и возможности контролировать корректность данных. И, само собой, работы нужно было завершить как можно быстрее.

    В докладе расскажем, как нам удалось решить этот кейс.

  • Игорь Косенков
    Игорь Косенков Postgres Professional Инженер
    22 мин

    Кластер Corosync-Pacemaker. Работа над ошибками

    Расскажу о частых ошибках при настройке отказоустойчивого кластера Corosync-Pacemaker. Зачастую эти ошибки приводят к фатальным последствиям, и как следствие - к отказу от выбранного решения в пользу других. Хотите рецепт "правильного" кластера?

  • Андрей Бородин
    Андрей Бородин Яндекс.Облако Руководитель подразделения разработки РСУБД с открытым исходным кодом
    45 мин

    Обзор некоторых интересных исторических уязвимостей Postgres

    Я совсем не security-специалист. Но от этого будет только понятнее! Я разобрался в наиболее интересных уязвимостях старых версий Postgres и расскажу как они работали.

  • Павел Толмачев
    Павел Толмачев Postgres Professional Специалист образовательного отдела
    22 мин

    Познакомимся с GEQO за 20 минут

    ----------------------------------------QUERY PLAN--------------------------------------------
    Hash Join
      Hash Cond: (Subject = GEQO)
       -> Hash Join
            Hash Cond: (Задача оптимизатора = выбрать наилучший план выполнения запроса)
            -> Seq Scan on Количество потенциальных планов экспоненциально растет при увеличении числа таблиц в запросе
            -> Hash
                  -> Seq Scan on PostgreSQL решает эту проблему с помощью использования генетического оптимизатора (GEQO)
      -> Hash
            -> Seq Scan on Темы доклада:
                  Filter: ((Что такое GEQO) AND (Достоинства и недостатки) AND (Принцип работы))
    (10 rows)