SlideShare a Scribd company logo
Создаём ПРОБКИ.
        ТЮНИНГ PostgreSQL
       для расчетных задач.




Скоморохов Евгений
Обо мне


         Скоморохов Евгений Юрьевич
      разработчик сервиса Пробки 2ГИС

Ранее
● разработка ПО по работе с БД PostgreSQL в
   "КиберТехнология"
● разработка WorkFlow в "АБП"
Cоздаем пробки или тюнинг postgresql для расчетных задач
2gis Mobile
Геометрии
Исходные данные




POINT(82.870156074 54.995442578);157;13
Процесс


                CPP                      CPP




                                                    Nginx
                                                            Png
        Nginx




                                                            http
Точки
                MongoDb   PostgreSQL   PostgreSQL
 http
                                                            Mobile
                                                            http
Бизнес логика


PostgreSQL + PostGIS
Генерализация




  ЗЕБРА



МАКРОРЕБРО
Полосы движения
Обрезаем
Удлинняем
Пробки
Притяжка точек
Расчёт пробок




Аггрегация
Фильтрация
Показатели




Притяжка 1000 точек/секунду
Подготовка графа 20 минут
Поговорить
PostgreSQL




Хранение
PL/pgSQL




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




 ЗАДАЧА
Система

                             i-net




                      н ые
                  Д ан




Запас прочности
Деградация




Ограничение объемов данных

        Autovacuum

    pgTune + pgFouine
Фича

Данные для обработки вырастут в N раз
Партицирование




2 таблицы лучше чем одна
Декомпозиция




Вычисление на лету
Много строк




Как уменьшить индекс?
Redis vs PostgreSQL




  Число записей: 60.000.000
Отдача пробок 95 % персентиль

         Redis 40 мс
      PostgreSQL 55 мс
Заключение




       Расчеты в БД -
быстро, качественно, надежно
Вопросы




Скоморохов Е.Ю. | icq:282708810 | e.skomorokhov@2gis.ru

More Related Content

PDF
Не SQL'ем единым
PDF
Технологии больших веб проектов завтра и послезавтра
PPT
Пути увеличения эффективности реализации алгоритмов машинного обучения
PDF
Л9: Взаимодействие веб-приложений
PDF
Хранение данных на виниле / Константин Осипов (tarantool.org)
PPTX
ПКС-контроллеры сегодня: мифы и реальность
PDF
2015.02.06 PostgreSQL в Яндексе: история успеха №2
ODP
Highload Begun Pankov
Не SQL'ем единым
Технологии больших веб проектов завтра и послезавтра
Пути увеличения эффективности реализации алгоритмов машинного обучения
Л9: Взаимодействие веб-приложений
Хранение данных на виниле / Константин Осипов (tarantool.org)
ПКС-контроллеры сегодня: мифы и реальность
2015.02.06 PostgreSQL в Яндексе: история успеха №2
Highload Begun Pankov

What's hot (20)

PDF
СХД для обработки сейсмики: сравнительный обзор
PPTX
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
PPT
Hl++2008 Gorniy Readme
PDF
Дмитрий Новиков - Tarantool в Badoo
PDF
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
PPT
Масштабируемая система голосования на базе PostgreSQL. PGQ (Сергей Нековаль)
PPT
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей Нековаль
PPTX
Организация аппаратного поиска в таблицах OpenFlow на базе ПЛИС
PDF
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
PDF
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
PPT
SAMag2007 Conference: PostgreSQL 8.3 presentation
PDF
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
PPTX
Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...
PDF
Как Python Дайджест работает с внешней статикой
PPT
Исследования программно-конфигурируемых сетей в Оренбургском государственном ...
PDF
Профилирование Node.js
PPTX
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
PDF
Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...
PDF
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
PDF
Архитектура и программирование потоковых многоядерных процессоров для научных...
СХД для обработки сейсмики: сравнительный обзор
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Hl++2008 Gorniy Readme
Дмитрий Новиков - Tarantool в Badoo
Что особенного в СУБД для данных в оперативной памяти / Константин Осипов (Ta...
Масштабируемая система голосования на базе PostgreSQL. PGQ (Сергей Нековаль)
Масштабируемая система голосования на базе PostgreSQL PgQ, Сергей Нековаль
Организация аппаратного поиска в таблицах OpenFlow на базе ПЛИС
Михаил Табунов, Аналитическая платформа на несколько миллиардов событий в месяц
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
SAMag2007 Conference: PostgreSQL 8.3 presentation
Open Source SQL-базы данных вступили в эру миллионов запросов в секунду / Фед...
Эффективное использование спотовых узлов Amazon EC2 / Дмитрий Пушкарев (Molec...
Как Python Дайджест работает с внешней статикой
Исследования программно-конфигурируемых сетей в Оренбургском государственном ...
Профилирование Node.js
Chronicle Map — key-value хранилище для трейдинга на Java / Левентов Роман (C...
Дмитрий Носов, Rambler&Co, H2O на Spark: как мы пили газировку и чуть не захл...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
Архитектура и программирование потоковых многоядерных процессоров для научных...
Ad

Viewers also liked (18)

PDF
Взаимодействие Go и C-библиотек. Go и Erlang
PDF
Манипулятор на Ti Stellaris Launchpad, Лёша Романенко
PPTX
Lua vs c++_desyatov
PDF
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
PDF
Артём Кудзев «Делайте на работе то, что мотивирует»
PDF
App store iap. short comments
PPT
Веб 3.0. Футуристический рассказ о будущем интернета и IT
PDF
«Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС
PDF
Фича готова. Что дальше?
PDF
Хочу делать игры, пусть меня научат — DevDay, 06.06.2012
PDF
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
PDF
«Я спросил у сервера...», Илья Пастушков
PDF
«Bdd и реактивщина в 2ГИС», Евгений Тютюев
PPT
Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)
PDF
Матвей Мальков «Ещё один поиск контактов на Android»
PPT
Распределенное хранилище Ceph. Обзор и практические способы использования
PDF
Рендеринг может больше: vue.js vs React, Андрей Солодовников
PDF
Тимофей Чаптыков «Верстальщик должен быть ленивый»
Взаимодействие Go и C-библиотек. Go и Erlang
Манипулятор на Ti Stellaris Launchpad, Лёша Романенко
Lua vs c++_desyatov
SQL-ник DevDay. Рубцов. Новое в Percona Server и MariaDB в сравнении с MySQL 5.5
Артём Кудзев «Делайте на работе то, что мотивирует»
App store iap. short comments
Веб 3.0. Футуристический рассказ о будущем интернета и IT
«Agile-тестирование по версии API 2ГИС» — Анастасия Огаркова, 2ГИС
Фича готова. Что дальше?
Хочу делать игры, пусть меня научат — DevDay, 06.06.2012
«Роль исследований в формировании продуктового видения компании», Лиза Алексе...
«Я спросил у сервера...», Илья Пастушков
«Bdd и реактивщина в 2ГИС», Евгений Тютюев
Инструкция по созданию самопального биллинга, Михаил Крестьянинов (Новотелеком)
Матвей Мальков «Ещё один поиск контактов на Android»
Распределенное хранилище Ceph. Обзор и практические способы использования
Рендеринг может больше: vue.js vs React, Андрей Солодовников
Тимофей Чаптыков «Верстальщик должен быть ленивый»
Ad

Similar to Cоздаем пробки или тюнинг postgresql для расчетных задач (20)

PDF
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
PDF
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
PPTX
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
PDF
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
PDF
20111002 information retrieval raskovalov_lecture3
PDF
Оптимизация high-contention write в PostgreSQL / Александр Коротков, Олег Бар...
ODP
PDF
специализированные http-демона (Сергей Боченков, Александр Панков)
PDF
Ivan Kotlyar. PostgreSQL in web applications
PDF
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
PDF
PostgreSQL в высоконагруженных проектах
PDF
Олег Бартунов и Иван Панченко
PPTX
мониторинг производительности приложения на PINBA
ODP
Новые нереляционные системы хранения данных
PDF
Работа с Big Data
PPT
Hl2008 Spy Log Architechture 169
PPTX
DUMP-2012 - Базы данных - "MongoDB" Тимофей Миронов (Timeliner)
PPTX
MongoDB. Как готовить, с чем едят?
PDF
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
PDF
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
Последние новости постгреса с PGCon / О.Бартунов, А.Коротков, Ф.Сигаев (Postg...
JS Fest 2019. Игорь Березин и Николай Крещенко. Эволюция архитектуры многогра...
Денис Колошко, Пример нагруженной системы на базе продуктов Microsoft, Amazon...
20111002 information retrieval raskovalov_lecture3
Оптимизация high-contention write в PostgreSQL / Александр Коротков, Олег Бар...
специализированные http-демона (Сергей Боченков, Александр Панков)
Ivan Kotlyar. PostgreSQL in web applications
Эксперименты с Postgres в Docker и облаках — оптимизация настроек и схемы ва...
PostgreSQL в высоконагруженных проектах
Олег Бартунов и Иван Панченко
мониторинг производительности приложения на PINBA
Новые нереляционные системы хранения данных
Работа с Big Data
Hl2008 Spy Log Architechture 169
DUMP-2012 - Базы данных - "MongoDB" Тимофей Миронов (Timeliner)
MongoDB. Как готовить, с чем едят?
Руслан Гроховецкий "Как Python стал делать погоду в Яндексе"
Простая и дешёвая бизнес-аналитика на базе Google BigQuery / Алексей Паршуков...

More from DevDay (20)

PDF
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
PDF
Фреймворк Slot, Good Parts, Александр Бирюков
PDF
Devops-практики в разработке решений для бизнеса, Максим Пашук
PDF
Inversion of Control в деталях, Дмитрий Кожевников
PDF
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
PDF
«Велогосипед», Данил Ильиных
PDF
«Процесс создания продукта», Максим Берёзкин
PDF
«Вывод продукта на новых территориях», Елизавета Алексеенко
PDF
Лабиринт на Arduino, Вадим Ипполитов
PDF
«Хоба-хоба и в продакшн», Женя Пономарёв
PDF
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
PDF
«Тестируем веб приложения», Павел Сташевский
PDF
«Открытая веб картография», Илья Таратухин
PDF
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
PDF
Олег Годовых «Страх и ненависть в Event Bus»
PDF
Распределенные приложения и Azure Service Bus
PDF
Frontend
PDF
Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»
PDF
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
PDF
Александр Щепановский «Почему каждому языку нужен свой _»
«Интеграция push-уведомлений в Яндекс.Браузер под iOS», Юрий Музюкин
Фреймворк Slot, Good Parts, Александр Бирюков
Devops-практики в разработке решений для бизнеса, Максим Пашук
Inversion of Control в деталях, Дмитрий Кожевников
«Используем неизменяемые данные и создаем качественный код», Игорь Кудрин
«Велогосипед», Данил Ильиных
«Процесс создания продукта», Максим Берёзкин
«Вывод продукта на новых территориях», Елизавета Алексеенко
Лабиринт на Arduino, Вадим Ипполитов
«Хоба-хоба и в продакшн», Женя Пономарёв
«Бегущий по лезвию. Продуктовые сценарии в дизайне», Макс Карпылев
«Тестируем веб приложения», Павел Сташевский
«Открытая веб картография», Илья Таратухин
«Изоморфные js приложения с использованием catberry.js», Денис Речкунов
Олег Годовых «Страх и ненависть в Event Bus»
Распределенные приложения и Azure Service Bus
Frontend
Илья Беда «Как Erlang сделает ваши приложения реалтаймовыми»
Роман Акинфеев «Разработка RESTful API with all bells and whistles»
Александр Щепановский «Почему каждому языку нужен свой _»

Cоздаем пробки или тюнинг postgresql для расчетных задач