title

text

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

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

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

Слайды

Видео

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

  • Александр Крижановский
    Александр Крижановский ООО "Лаборатория НатСис" Генеральный директор
    45 мин

    Linux VMM для разрабочиков СУБД

    В докладе будет рассказано о том, как Linux работает с виртуальной памятью. Будут освещены следующие вопросы:

    • устройство таблицы страниц в x86-64, переключение контекста, page fault;
    • устройство системы управления виртуальной памятью (VMM) в Linux;
    • методы вытеснение странц в Linux, page cache и анонимные страницы;
    • huge и gigantic pages, transparent huge pages;
    • как работает mmap(2) и что дают madvise(2), msync(2) и пр.;
    • почему большие СУБД не используют mmap(2), а реализуют свой пул страниц;
    • и, конечно, как потюнить VMM в Linux с помощью sysctl.

  • Петр Грибанов
    Петр Грибанов Технологический евангелист
    22 мин

    "1С:Предприятие": самая популярная в России/СНГ платформа разработки с поддержкой PostgreSQL

    Более 300.000 разработчиков используют в качестве основного средства разработки технологическую платформу "1С:Предприятие". Я расскажу об особенностях идеологии и архитектуры платформы "1С:Предприятия", которые позволили ей стать одним из самых массовых средств разработки в России и СНГ, и о том, почему СУБД PostrgreSQL становится все популярнее среди пользователей технологий 1С.

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

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

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

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

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

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

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

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

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

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

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

  • Ronan Dunklau
    Ronan Dunklau Dalibo DBA
    45 мин

    Multicorn: разработка Foreign Data Wrapper'ов на языке Python

    Multicorn - это обобщенный Foreign Data Wrapper (FDW, интерфейс для подключения внешних источников данных, устоявшегося русского названия пока нет), предоставляющий возможность разработки конкретных FDW на языке Python, что упрощает их разработку.

    Мы узнаем:

    • Что такое FDW, как работает Multicorn, и какие готовые FDW поставляются вместе с ним.
    • Как написать свой FDW на python, включая новый интерфейс IMPORT FOREIGN SCHEMA, появившийся в версии 9.5.
    • Внутренности Multicorn: что он делает и что не делает внутри.

    После общего рассмотрения FDW и Multicorn, мы детальнее рассмотрим некоторые FDW, поставляемые с ним.

    Затем проведем полный тур по API Multicorn, чтобы научить вас создавать FDW на Python, включая следующие детали:

    • испольование определений таблиц
    • пробрасывание WHERE
    • ограничения колонок
    • как влиять на планировщик
    • как писать во внешнюю таблицу
    • как работать с импортом внешней схемы
    • пробрасывание ORDER BY
    • управление транзакциями

    Все это будет объяснено наглядно, с примерами кода, позволяющими слушателям с нуля создать свой FDW на Python.