title

text

Владимир Ситников
Владимир Ситников Pgjdbc, JMeter committer Инженер по производительности
: декабря
22 мин

PostgreSQL и JDBC: выжимаем все соки

Все говорят, что для максимальной производительности работы из Java с базой данных нужно использовать PreparedStatements и Batch DML. Практика показывает, что нельзя слепо идти на поводу у прописных истин. Нужно понимать особенности конкретной базы и характера передаваемых данных. В докладе мы рассмотрим то, как эффективное использование протокола PostgreSQL позволяет добиться высокой производительности при выборке и сохранении данных. На примерах увидим как простые изменения в коде приложения и JDBC драйвера на порядок ускоряют запросы. Мы увидим как задействовать механизм server prepared statements из клиенсткого кода и узнаем его узкие места. Обсудим средства эффективной передачи данных в базу. Многие обсуждаемые доработки недавно вошли в состав официального JDBC драйвера. Доклад будет полезен не только Java программистам, т.к. многие подводные грабли вытекают из самого протокола общения PostgreSQL с внешним миром.

Слайды

Видео

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

  • Дмитрий Воронин
    Дмитрий Воронин ОАО "НПО РусБИТех" Инженер-программист
    22 мин

    Расширенные возможности аудита в СУБД PostgreSQL в дистрибутиве ОС "Astra Linux Special Edition"

    Базовая версия СУБД PostgreSQL предоставляет возможность регистрации событий:

    - входа и выхода пользователей;
    - отказа в доступе к защищаемому ресурсу;с указанием даты, времени и имени пользователя.
    

    Требования руководящих документов к подсистеме регистрации событий намного шире возможностей базовой версии СУБД PostgreSQL.

    ОАО «НПО РусБИТех» проводит необходимые доработки СУБД PostgreSQL для расширения ее функциональных возможностей.

    В результате доработок подсистема регистрации событий СУБД PostgreSQL в составе ОС «AstraLinux Special Edition» дополнительно обеспечивает возможность регистрации:

    - создания и уничтожения объектов баз данных;
    
    - изменения правил разграничения доступа;
    
    - как отказов, так и успешных попыток доступа к объектам баз данных;
    
    - изменений полномочий субъектов доступа и статуса объектов доступа.
    

    Для всех событий указываются:

    - дата и время; 
    
    - пользователь, осуществляющий регистрируемое действие;
    
    - объект, над которым проводится действие;
    
    - тип события;
    
    - результат операции.
    

    Подсистема регистрации событий доработанного PostgreSQL интегрирована в централизованную систему аудита ОС «Astra Linux Special Edition». Обеспечена настройка правил регистрации событий без останова (перезапуска) СУБД.

  • Иван Фролков
    Иван Фролков Postgres Professional инженер-консультант
    90 мин

    Оптимизация запросов в PostgreSQL

    Основная задача для приложения, работающего с СУБД, кроме реализации требуемого функционала - это обеспечения минимального времени отклика либо максимальной пропускной способности. К сожалению, многие разработчики зачастую весьма смутно представляют себе, на что и как СУБД расходует ресурсы при выполнении запроса, и неспособны предугадать узкие места. Рассказу о том, какими способами может быть выполнен запрос, какие из них оптимальны, какие при этом могут быть проблемы и как их можно попробовать обойти и посвящен этот мастер-класс.

  • Николай Рыжиков
    Николай Рыжиков Health Samurai CTO
    45 мин

    PL/v8 в медицине

    Мы разрабатываем медицинскую базу данных - fhirbase, основанную на PostgreSQL и современном стандарте обмена медицинской информацией FHIR. Первая версия была написана с использованием SQL и PL/PgSQL, однако она достигла предела своей сложности и была полностью переписанна на PLv8/javascript. В докладе я расскажу про архитектуру fhirbase и то, почему мы выбрали PLv8. Про комфортную среду разработки, которая позволяет разрабатывать код и тесты в Node.JS и потом деплоить этот код в PostgreSQL. Поделюсь проблемами, с которыми мы столкнулись. Порассуждаем о переиспользовании библиотек и эко-системы javascript для разработки бизнес-логики внутри PostgreSQL. Расскажу про идеи PostgREST и no-backend приложений на PostgreSQL.

  • Andreas Scherbaum
    Andreas Scherbaum Pivotal Principal Software Engineer

    Как мы сделали Greenplum Open Source

    Greenplum — это форк PostgreSQL, оптимизированный для использования в аналитике и хранилищах данных. Компания Pivotal в начале 2015 г. анонсировала, что часть её продуктов станут продуктами Open Source, в том числе и Greenplum Database. На этом выступлении будет представлен обзор истории Greenplum, всего процесса перевода продукта в мир Open Source и препятствий, с которыми мы столкнулись. Мы также расскажем, как можно принять участие в нашем проекте.