title

text

Сергей Бурладян
Сергей Бурладян Avito Архитектор баз данных
16:00 05 февраля
45 мин

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

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

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

Слайды

Видео

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

  • Tatsuo  Ishii
    Tatsuo Ishii

    О построении кластеров на основе потоковой репликации и PgPool II

    Речь пойдет о кластерных решениях для PostgreSQL на основе потоковой репликации и pgpool-II, которые очень популярны в Японии. Также рассматриваются новые возможности следующей версии pgpool-II, которая будет выпущена этой зимой.

  • Д
    Дмитрий Мельник ИСП РАН разработчик
    22 мин

    Ускорение исполнения запросов в PostgreSQL с использованием JIT-компилятора LLVM

    В настоящее время в PostgreSQL для исполнения SQL-запросов используется интерпретатор. Это приводит к накладным расходам, связанным с неявными вызовами функций-обработчиков и проверок, которых можно было бы избежать при создании исполняемого кода "на лету" (JIT-компиляции) под конкретный SQL-запрос: в этом случае во время выполнения уже известна структура используемых таблиц и типы данных. Особенно это актуально для сложных запросов, где производительность процессора является основным ограничением. В настоящий момент существует два известных проекта, реализующих JIT-компиляцию в PostgreSQL: коммерческое решение Vitesse DB и open-source проект PGStorm. В первом проекте за счет использования LLVM JIT авторам удается получить ускорение до 8 раз на тестах из набора TPC-H. Второй проект реализует JIT-компиляцию запроса с использованием CUDA для исполнения его на GPU, что позволяет ускорить выполнение некоторых типов запросов на порядок.

    Наша работа посвящена добавлению поддержки JIT-компиляции SQL-запросов в PostgreSQL с использованием компиляторной инфраструктуры LLVM. В докладе будет подробно рассмотрено, как JIT-компиляция может быть использована для ускорения различных этапов исполнения SQL-запросов, а также особенности трансляции SQL-запросов в LLVM-биткод для получения эффективного исполняемого кода. Также будут представлены предварительные результаты тестирования JIT-компилятора на наборе тестов TPC-H.

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

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

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

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

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

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

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

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

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

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

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

  • Юрий Соболев
    Юрий Соболев ООО "МедиаТех" Генеральный Директор

    PostgreSQL как ядро биржи интернет-рекламы Adsterra.com

    Общая информация об adsterra.com

    • adsterra.com - биржа интернет рекламы
    • В данный момент имеет порядка 150 млн показов баннеров в сутки.120 положение в alexa.com на 30.11.2015. Записывает в postgresql до 10000(и больше) событий в секунду. Читает до 5000
    • 20 отдельных серверов под БД с различными ролями
    • Активно использует логику внутри БД. Много PL/pgsql и SQL функций.

    Причины выбора Postgresql

    • История создания adsterra.com.
    • Сжатые сроки отведенные на разработку определили выбор в пользу готовых систем хранения данных.
    • Postgresql привлек своей бесплатностью и рядом фишек, которых не было у конкурентов. Некоторые в итоге оказались полезными, некоторые не очень.

    Описание архитектуры проекта

    • Общая схема взаимодействия
    • Роли групп серверов
    • Использование различных методов для взаимодействия серверов: Потоковая репликация, Londiste, postgres_fdw. Плюсы и минусы каждого.
    • Шардинг
    • Использование SQL под OLTP

    Проблемы возникшие в ходе разработки/использования и варианты решения:

    • Материализованные представления. Проблемы с обновлением и поддержкой. Что сделали в итоге.
    • Londiste. Какие проблемы были решены в ходе разработки, а какие так и не были.
    • Проблемы потоковой репликации.
    • Автовакум и вакум.
    • Странности планировщика.
    • Конкурентный доступ.

    Крутые штуки Postgresql, которые сильно помогли

    • Массивы, intarray и GIN индексы. Но не все гладко.
    • Партиционирование. Но не все есть, что хочется.
    • PL/pgsql. Но не всегда следует его использовать.
    • unlogged таблицы. Но с умом.

    Текущие разработки и нерешенные проблемы

    • Реализация колоночной аналитики штатными средствами.
    • Проблемы странных планов запросов.
    • Логическая репликация мечты
    • Мультимастер...