title

text

Алексей Фадеев
Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
: декабря
40 мин

PostGIS + k-NN: как найти ближайший бар, и правда ли, что Земля не плоская

В обзорных докладах по Postgres можно встретить упоминание алгоритма k-NN для поиска в пространстве. В данном докладе тема будет рассмотрена более глубоко, описан механизм индексирования поиска в пространстве в картинках. Так же я покажу, как с помощью популярного бесплатного расширения PostGIS применить алгоритм k-NN к географическим координатам точек на земном шаре, которые не являются прямоугольными. Для всех примеров будет показана реализация в ORM.

Слайды

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

Видео

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

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

  • Дмитрий Руденко
    Дмитрий Руденко Тинькофф Центр Разработки Ведущий инженер баз данных
    20 мин

    Что в черном ящике? Или как помочь разработчику понять, что требует оптимизации в БД

    Всем нам хочется быть немножко Шерлоками и расследовать интересные и запутанные дела. Жизнь, однако, вносит свои коррективы и большинство задач на выходе имеют банальные решения вроде - добавьте индекс по такому-то полю. Обилие баз и команд приводит к постоянному фону таких задач. Ситуацию усложняет повсеместное использование всякого рода ORM. И сами разработчики и ORM, зачастую не особенно беспокоятся вопросами эффективного доступа к данным (построение запросов, наличие и оптимальность состава индексов итд). В докладе рассматривается инструмент мониторинга и анализа состояния баз данных Postgres созданный на основе Grafana. Особенно подробно рассмотрены части, которые помогают разработчикам самостоятельно понять, где и каким образом образуются слабые места в его взаимодействии с базой.

  • Александр Никитин
    Александр Никитин PGMechanix Администратор баз данных
    40 мин

    Миграция int-> bigint

    Довольно часто встречается ситуация, когда система начинает расти. И то, что раньше работало через какое-то время перестаёт работать. Именно так обстоит дело и с переполнением типов данных. Если в начале проекта хватало int4, то через какое-то время он может полностью исчерпаться и нужно переходить на bigint. В своём докладе я опишу то, с чем сталкивается ДБА, опишу путь решения подобной задачи и познакомлю с утилитой, которая значительно упростит выполнение подобного рода задач.

  • Андрей Черняков
    Андрей Черняков UIS, CoMagic Разработчик баз данных, техлид
    40 мин

    pg_migration - система работы с кодом, как не дать программистам все сломать

    Мы долгое время катили релизы на базы данных руками. Но когда их количество стало больше 50, выкладывать релизы руками стало больно, даже при наличии скриптов. Стало понятно, что нужен какой-то инструмент. Так как готовые инструменты нам не подошли, мы решили написать свою систему на основе пайплайнов ci/cd в gitlab.

    В результате получилась удобная система работы с кодом: - автоматические проверки практически не дают сделать что-то не правильно (plpgsql_check, авто-тесты и т.д.) - исключается возможность расхождения кода в живой БД и в репозитории - включает в себя несколько утилит (написанных на python), которые можно использовать как в пайплайнах, так и непосредственно из консоли - поддерживаются два режима раскатки релизов: по кнопке из gitlab и полностью автоматический (по ключевому слову auto_deploy в сообщении к коммиту)

  • Андрей Зубков
    Андрей Зубков Postgres Professional Руководитель группы систем мониторинга
    40 мин

    pg_profile: Отслеживание состояний сессий

    Утилита анализа производительности pg_profile получила возможность отслеживания истории аномальных состояний сессий. Для этого был реализован новый механизм промежуточных снимков. В докладе я расскажу о возможностях нового механизма и перспективах его дальнейшего развития.