title

text

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

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

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

Слайды

Видео

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

  • Will Leinweber
    Will Leinweber Heroku Engineer

    Heroku Postgres: архитектура облачного сервиса баз данных

    Помимо предоставления универсальной веб-платформы, Heroku предлагает крупномасштабные и поддерживаемые сервисы Postgres. За годы мы многое узнали о том, как использовать Postgres в большом масштабе.
    На этом докладе мы расскажем:

    • почему Postgres привлекателен для запуска в облачном сервисе
    • как подготовить, управлять и контролировать инфраструктуру Postgres
    • чем придётся пожертвовать, чтобы Postgres работал в такой среде
    • об автоматическом восстановлении после сбоя
    • и о многом другом

  • Сергей Бурладян
    Сергей Бурладян Avito Архитектор баз данных
    45 мин

    Администрирование PostgreSQL в Avito

    Мой доклад будет посвящён особенностям использования и администрирования PostgreSQL в Debian GNU/Linux в Avito. В частности, таким проблемам как:

    - bash скрипты
    - утилиты pg_* debian
    - отладка postgres: perf, gdb
    - COPY без разрывов: psql, pipe
    - pgbouncer: один, два, ... больше?
    - cron
    - мониторинг
    - очередь на advisory lock
    - файловый кеш
    - DDL на нагруженной базе
    - и т.д.
    

  • Дмитрий Долгов
    Дмитрий Долгов Zalando SE Senior Software Engineer
    45 мин

    Jsonb в PostgreSQL и NoSQL тренд: сравнение функциональности и производительности

    Использование слабоструктурированных данных определенно является трендом современности, и это верно не только для NoSQL, но и для традиционных RDBMS. Многие реляционные базы данные (например, PostgreSQL, Oracle, db2, Mysql) позволяют хранить данные в json формате, и, очевидно, реализуют это по-разному.

    Доклад содержит две части:

    • Сравнение поддержки json в PostgreSQL и других реляционных базах данных, а именно Mysql, Oracle, db2, MSSql в контексте реализованных возможностей, функций и т.д.
    • Сравнение производительности для баз с наиболее полной поддержкой json (PostgreSQL и Mysql) а также MongoDB на различных видах нагрузок и конфигураций.

  • Дмитрий Бойков
    Дмитрий Бойков АО БАРС Груп Руководитель отдела разработки
    Марат Фаттахов
    Марат Фаттахов АО "БАРС Груп" Технический директор
    22 мин

    Портирование облачного решения с Oracle на PostgreSQL: опыт компании "БАРС Груп"

    Изначально компания «БАРС Груп» была ориентирована на задействование в своих проектах СУБД Oracle, но появление PostgreSQL игнорировать не могла. На конференции мы расскажем, как пришли к использованию PostgreSQL и поделимся опытом перевода на эту СУБД большой медицинской информационной системы.

    1. Опыт использования СУБД PostgreSQL и Oracle в проектах компании. Предпосылки и мотивация использования СУБД PostgreSQL.
    2. Ход и результаты эксперимента миграции медицинской информационной системы:

      • разработка утилиты конвертации кода PL/SQL в PgSQL;
      • проблемы переноса сложных пакетов;
      • патчи к PostgreSQL как варианты решения этих проблем.