Top Banner
Создаём ПРОБКИ. ТЮНИНГ PostgreSQL для расчетных задач. Скоморохов Евгений
29

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

Jun 14, 2015

Download

Documents

DevDay
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cоздаем пробки или тюнинг postgresql для расчетных задач

Создаём ПРОБКИ.

ТЮНИНГ PostgreSQL

для расчетных задач.

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

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

Обо мне

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

Ранее ● разработка ПО по работе с БД PostgreSQL в

"КиберТехнология"● разработка WorkFlow в "АБП"

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

2gis Mobile

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

Геометрии

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

Исходные данные

POINT(82.870156074 54.995442578);157;13

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

Точкиhttp PostgreSQLMongoDb PostgreSQL

Pnghttp

Mobilehttp

CPPCPP

Процесс

Ngi

nx Ngi

nx

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

Бизнес логика

PostgreSQL + PostGIS

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

ЗЕБРА

МАКРОРЕБРО

Генерализация

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

Полосы движения

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

Обрезаем

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

Удлинняем

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

Пробки

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

Притяжка точек

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

АггрегацияФильтрация

Расчёт пробок

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

Показатели

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

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

Поговорить

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

PostgreSQL

Хранение

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

PL/pgSQL

Структуры данных

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

Как разрабатывать

ЗАДАЧА

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

Система

Данные

i-net

Запас прочности

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

Деградация

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

Autovacuum

pgTune + pgFouine

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

Фича

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

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

Партицирование

2 таблицы лучше чем одна

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

Декомпозиция

Вычисление на лету

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

Много строк

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

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

Redis vs PostgreSQL

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

Redis 40 мсPostgreSQL 55 мс

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

Заключение

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

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

Вопросы

Скоморохов Е.Ю. | icq:282708810 | [email protected]