PostGIS + k-NN: как найти ближайший бар, и правда ли, что Земля не плоская
В обзорных докладах по Postgres можно встретить упоминание алгоритма k-NN для поиска в пространстве. В данном докладе тема будет рассмотрена более глубоко, описан механизм индексирования поиска в пространстве в картинках. Так же я покажу, как с помощью популярного бесплатного расширения PostGIS применить алгоритм k-NN к географическим координатам точек на земном шаре, которые не являются прямоугольными. Для всех примеров будет показана реализация в ORM.
Слайды
Слайды доступны участникам мероприятия, выполнившим вход в личный кабинет.
Видео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Дмитрий Фатов
Разгоняем вставку больших объемов данных Spring + PostgreSQL
Разработчикам часто приходится встречаться с оптимизацией различных бизнес-процессов. В этом докладе спикер покажет процесс оптимизации вставки в PostgreSQL с использованием фреймворка Spring со стороны прикладного разработчика. Также расскажет о проблемах медленной вставки данных в БД и о том, как можно ускорить этот процесс от простых настроек до использования кастомных методов PostgreSQL.
-
Артем Свяжин LLC SIMA-LAND Руководитель отдела системного инжиниринга
Слоник который смог в ZFS
Ни для кого не секрет, что объемы баз данных растут с невероятной скоростью. Мы хотим поделится опытом развертывания тестовых и dev-контуров СУБД больших размеров за несколько секунд. В докладе будут проблемы, с которыми мы столкнулись, наш тернистый путь к ZFS и разъяснение рабочей схемы, как же все-таки оно работает у нас, и как мы с этим живем. Будет интересно.
-
Владимир Сердюк Общество с ограниченной ответственностью «Кластерные технологии Софтпоинт» Ген. директор
Распределение транзакционной нагрузки в кластере серверов СУБД
Данный доклад представляет собой описание концепции и прототипа кластера СУБД, работающего по принципу Master-Master. Проблема синхронизации данных в таких системах ни в одном тиражном решении до сих пор не решена, поэтому масштабирование для OLTP-систем, где транзакционная нагрузка сильно превалирует над аналитической, решается до сих пор только усилением аппаратной части – добавить ядер/процессоров, добавить памяти, что зачастую бывает не самым рациональным решением. Напомню, что задача распределения аналитической нагрузки решается относительно просто с помощью создания дополнительных реплик и перенаправления запросов на чтение вне транзакций на другие реплики. В случае же транзакционной нагрузки, если применять аналогичный подход, возникают коллизии, например, типа «писатель-писатель», которые, если их не учитывать, могут привести к неверным данным в транзакциях. Концепция кластера распределённых вычислений на первый взгляд звучит просто: «Все запросы на изменение данных выполняются мгновенно на всех нодах (серверах кластера), а чтение выполняется локально». Специальный прокси-агент распарсивает запросы, и выполняет запросы на чтение локально, а запросы на изменение перенаправляются параллельно и асинхронно на все остальные ноды кластера. Все изменения выполняются в системе зеркальных распределённых транзакций , которыми управляет координатор распределённых транзакций. Несмотря на простоту концепции и формулировки, возникает множество технических проблем, которые нигде ранее не были решены. В случае высокого параллелизма и конкуренции ресурсов порядок запросов на разных серверах может изменяться, что, в свою очередь, может приводить к изменению состава данных и к распределенным взаимоблокировкам. Также возникают сложности с падением линейной скорости примитивных операций. И, не решив проблемы оптимизации, данное решение сразу не подойдет для большинства систем. Одними из целевых показателей промышленного решения будет являться подключение до 20-и серверов в кластер с линейной просадкой времени операций не более чем на 10 % .
В докладе будут рассмотрены эти и другие проблемы распределено-вычислительного кластера. В том числе, представлены примеры системы, для которых это будет максимально эффективным решением, а также описание архитектуры и демонстрация прототипа.
-
Андрей Бородин Яндекс.Облако Руководитель подразделения разработки РСУБД с открытым исходным кодом
Как начать контрибьютить в Postgres: моя версия
В докладе я расскажу как работает сообщество Postgres-а. Как начать разработку, как сообщить об ошибке, как вести коммуникацию и как функционирует экосистема.