![Александр Павлов Александр Павлов](/media/2018/11/26/photo_2018-11-26_10-01-26.jpg.180x180.jpg)
Как получить нагрузку в БД на пустом месте?
Мы - обычные разработчики, которые думали о том, как разработать систему, способную выдерживать неплохие нагрузки, и это даже получилось.
На уровне архитектуры всё было OK, но объём данных возрастал, и начали вылезать не самые приятные моменты, о которых ранее никто не думал и не понимал. Иногда это приводило нас к самым потрясающим запросам, которые мы не понимали, как можно было написать. Мой небольшой рассказ будет о том, как получить нагрузку в БД на пустом месте и как потом от неё избавиться.
Слайды
Видео
Другие доклады
-
Иван Панченко Postgres Professional рзаместитель генерального директора
NoSQL/PL: Программирование на не SQL-образных процедурных языках
Мастер-класс по Server-Side разработке на процедурных языках PL/Perl ,PL/Python, PL/v8 в PostgreSQL и PostgresPro. Вы узнаете не только, для чего они нужны, но и как ими правильно пользоваться, и каких результатов можно достичь благодаря им.
-
Джигнеш Шах Amazon Web Services Manager, RDS PostgreSQL
Секреты работы со службой Amazon RDS для PostgreSQL
Услуги управляемых служб баз данных набирают популярность. В ходе доклада мы посмотрим, как наилучшим образом сконфигурировать службу Amazon RDS для PostgreSQL, и разберем наиболее частые команды RDS. Мы также заглянем за пределы привычных пользовательских операций и рассмотрим несколько вариантов оптимизации, связанных с обновлением, логической репликацией, повышением производительности и сокращением времени простоя PostgreSQL.
-
Александр Кузьменков Postgres Professional Программист
Новые планы выполнения запросов в PostgreSQL 11 и будущих версиях
Одна из важных задач СУБД -- по декларативному SQL-запросу построить эффективный план его выполнения, используя разные алгоритмы сканирования и объединения таблиц. Над улучшением планирования запросов идёт непрерывная работа. Какие методы применяет PostgreSQL, чтобы получить эффективный план, что нового в этой области в версии 11, и что сейчас находится в разработке? Например, при планировании запроса можно удалять ненужные соединения, или сводить внешние и полусоединения к внутренним. Есть патчи, позволяющие выполнять merge join по пересечению интервалов, или улучшающие оценку селективности соединения с помощью многоколоночной статистики. Если говорить о сканировании отдельных таблиц, покрывающие индексы позволяют чаще использовать index-only scan. Инкрементальная сортировка и более точная оценка стоимости сортировки улучшают планы, где нужен сортированный вывод, например, для GROUP BY и ORDER BY или merge join. Мы обсудим эти и другие подобные оптимизации, которые уже реализованы или находятся в разработке.
-
ММарат Сурмашев Health Samurai ПрограммистНиколай Рыжиков Health Samurai CTO
Эксплуатация JSONB
JSONB в PostgreSQL обладает рядом интересных свойств, которые могут пригодиться при проектировании и разработке бизнес-систем с тяжелой предметной областью, помогая бороться со сложностью и вариабельностью. На мастер-классе мы обсудим преимущества и недостатки использования JSONB. На примере открытой медицинской базы данных - fhirbase - мы с вами:
- загрузим синтетические медицинские данные в PostgreSQL
- научимся искать и индексировать эти данные (gin, jsquery, json-knife)
- посмотрим, как использовать JSON агрегацию для постороения сложных запросов (GraphQL)
- покажем, как эти данные можно модифицировать и валидировать
- поговорим об архитектурных последствиях использования JSONB
Технические требования:
- docker
- docker-compose