PostgreSQL и Java: мастер-класс
Java – один из наиболее популярных языков программирования для СУБД PostgreSQL. На этом мастер-классе вы узнаете основные способы соединения с postgres и лучшие методики программирования по стандарту JDBC, а также познакомитесь с jOOQ – менеджером памяти, позволяющим использовать все возможности SQL и postgres для построения сложных запросов, не используя при этом шаблонный код.
Мастер-класс будет носить практический характер: большую часть времени мы посвятим разбору примеров кода. Мы рассмотрим следующие темы:
- Введение в Java и PostgreSQL.
- Варианты соединения с PostgreSQL из Java-приложения (и не только с помощью JDBC!)
- Введение в JDBC. Типы JDBC. PostgreSQL JDBC
- Демонстрация кода: JDBC и PostgreSQL. От Java 1.4 к Java 8, лучшие практики и примеры кода.
- Демонстрация кода: jOOQ, менеджер памяти для PostgreSQL.
- Java в PostgreSQL.
- Будущее Java и PostgreSQL.
Слайды
Другие доклады
-
Андрей Фефелов Mastery.pro Технический директор
Postgres как основа BI платформы, особенности, практический опыт
В докладе я расскажу почему Postgres отлично подходит как BI платформа для решения классических OLAP-задач.
Будет дан краткий обзор доступных open source BI решений. Расскажу об архитектуре нашего решения (snowflake scheme), как мы делаем Extract Load Transform, настройках Postgres для специфических профилей нагрузки. Также упомяну о том, как мы пытались использовать Postgres в виде колоночной базы данных (cstore_fdw от Citus) и что из этого вышло. В конце доклада кратко расскажу про минусы и проблемы нашего подхода.
ВИДЕО
-
Дмитрий Вагин Avito Lead Engineer
Мониторинг PostgreSQL в Авито, с примерами
Небольшой доклад о том как Avito собирает и мониторит нагрузку на базы данных. Отправка метрик из хранимых процедур в Graphite. Сбор метрик pg_stat* и отображение их в Grafana. Примеры из жизни.
ВИДЕО
-
Дмитрий Иванов Postgres Professional DeveloperИльдар Мусин Postgres Professional Разработчик
Секционирование с pg_pathman
Секционирование в PostgreSQL - давно ожидаемый функционал. И хотя в Postgres возможно реализовать секционирование через наследование, такой подход имеет ряд недостатков, таких как необходимость вручную создавать секции и поддерживать триггеры, значительные накладные расходы на планирование и отсутствие оптимизаций времени выполнения. В докладе мы расскажем про расширение pg_pathman, над которым мы работаем. pg_pathman поддерживает HASH и RANGE секционирование и выполняет оптимизации на этапах планирования и исполнения, поддерживает быструю вставку за счет отказа от триггеров в пользу Custom Node, содержит функции для управления секциями (add, split, merge и др.), поддерживает FDW, неблокирующую миграцию данных и другие возможности. Мы также расскажем об интеграции pg_pathman в PostgresPro Enterprise Edition и поддержку Oracle-подобного синтаксиса для секционирования. В завершение мы расскажем о новых возможностях секционирования в PostgreSQL 10, что реализовано и пути дальнейшего развития.
ВИДЕО
-
Radoslav Glinsky Skype (Microsoft) Software developer - PostgreSQL tooling
Тестовая среда по требованию
Вы тестируете свои релизы PostgreSQL в специально настроенной тестовой среде, прежде чем залить их в продакшен? Вы уверены, что ваша тестовая среда соответствует требованиям продуктовой среды и находится в актуальном состоянии?
В компании Skype мы сталкиваемся c разнообразными проблемами, связанными с тестированием баз данных: - Обобщение и отражение в тестовой среде всего многообразия вариантов продуктовой среды для тысяч реализаций PostgreSQL, связанных с удаленным вызовом процедур (RPC) и репликациями, серверной инфраструктурой, а также внешними скриптами БД. - Постоянно растущие требования к поддержке новых аппаратных средств, недостаточная очистка тестовых данных. - Различия между тестовой и продуктовой средой со временем накапливались.