
Улучшая Buffer Manager
Менеджер буферов Postgresql разработан достаточно давно и его возраст даёт о себе знать в некоторых аспектах. Мы обсудим, как он работает сейчас, каковы его недостатки, и что делается сейчас, чтобы их исправить.
- Поиск в кеше обходится дорого
- Таблица сопоставлений буфера организована в виде хеш-таблицы, что затрудняет эффективную реализацию предвыборки, совмещение операция записи и очистки содержимого кеша
- Расширение отношений плохо масштабируется
- Вытеснение из кеша неэффективно
- При вытеснении из кеша замещаются неправильные буферы
Слайды
Видео
Другие доклады
-
Дмитрий Воронин ОАО "НПО РусБИТех" Инженер-программист
Расширенные возможности аудита в СУБД PostgreSQL в дистрибутиве ОС "Astra Linux Special Edition"
Базовая версия СУБД PostgreSQL предоставляет возможность регистрации событий:
- входа и выхода пользователей; - отказа в доступе к защищаемому ресурсу;с указанием даты, времени и имени пользователя.
Требования руководящих документов к подсистеме регистрации событий намного шире возможностей базовой версии СУБД PostgreSQL.
ОАО «НПО РусБИТех» проводит необходимые доработки СУБД PostgreSQL для расширения ее функциональных возможностей.
В результате доработок подсистема регистрации событий СУБД PostgreSQL в составе ОС «AstraLinux Special Edition» дополнительно обеспечивает возможность регистрации:
- создания и уничтожения объектов баз данных; - изменения правил разграничения доступа; - как отказов, так и успешных попыток доступа к объектам баз данных; - изменений полномочий субъектов доступа и статуса объектов доступа.
Для всех событий указываются:
- дата и время; - пользователь, осуществляющий регистрируемое действие; - объект, над которым проводится действие; - тип события; - результат операции.
Подсистема регистрации событий доработанного PostgreSQL интегрирована в централизованную систему аудита ОС «Astra Linux Special Edition». Обеспечена настройка правил регистрации событий без останова (перезапуска) СУБД.
-
Николай Шаплов Postgres Professional Fuzzing Engeener
«Что у него внутри» - хранение данных на низком уровне
Знание внутреннего устройства СУБД на уровне хранения данных позволяет ускорить её работу и уложить данные более компактно. На данном мастер-классе будет представлен инструмент pageinspect, одним из разработчиков которого недавно стал московский программист Николай Шаплов. На практике этот инструмент будет использован для изучения того, как в БД лежат данные и как их можно разложить оптимально. Будут и задачи для самостоятельного исследования.
-
Дмитрий Юхтимовский Gilev.ru технический лидер
Опыт использования больших баз 1С на PostgreSQL
Доклад для тех, кто уже использует постгрес для 1С, а также для тех, кто только раздумывает - использовать ли. Расскажем о том, почему в компании Gilev.ru выбрали PostgreSQL для своих больших баз онлайн-сервисов, как его используют. Как с использованием этих сервисов помогают решать проблемы производительности баз на 1С, с которыми сталкиваются или могут столкнуться клиенты.
-
Ronan Dunklau Dalibo DBA
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.