title

text

Евгений Тюменцев
Евгений Тюменцев ООО "Здравствуй мир! Технологии" Генеральный диреткор
09:30 05 февраля
22 мин

Об опыте применения JSONB в реальных проектах

Будут рассмотрены преимущества и недостатки решений на основе JSONB по сравнению с традиционным реляционным подходом на примере реальных проектов, в том числе: 1. Производительность 2. Версионность данных 3. Масштабируемость 4. Надежность 5. Построение отчетов

Слайды

Видео

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

  • Николай Шаплов
    Николай Шаплов Postgres Professional Fuzzing Engeener
    90 мин

    «Что у него внутри» - хранение данных на низком уровне

    Знание внутреннего устройства СУБД на уровне хранения данных позволяет ускорить её работу и уложить данные более компактно. На данном мастер-классе будет представлен инструмент pageinspect, одним из разработчиков которого недавно стал московский программист Николай Шаплов. На практике этот инструмент будет использован для изучения того, как в БД лежат данные и как их можно разложить оптимально. Будут и задачи для самостоятельного исследования.

  • Александр Коротков
    Александр Коротков Postgres Professional Руководитель разработки
    45 мин

    Расширяемость PostgreSQL: Истоки и новые горизонты

    Postgres изначально был спроектирован таким образом, чтобы индексные методы доступа были расширяемыми. Известная цитата гласит: "Совершенно необходимо, чтобы пользователь мог создавать новые методы доступа, обеспечивающие эффективный доступ к значениям нетрадиционных типов данных" Michael Stonebraker, Jeff Anton, Michael Hirohama. Extendability in POSTGRES, IEEE Data Eng. Bull. 10 (2) pp.16-23, 1987

    Изначально, heap был просто одним из методов доступа. Таким образом, подключаемые методы доступа означали также и подключаемые хранилища, если говорить современным языком. Сейчас в таблице pg_am системного каталога хранятся индексные методы доступа, интерфейс которых хорошо задокументирован. Таким образом, для того, чтобы современный PostgreSQL отвечал первоначальному замыслу необходимо реализовать две фичи:

    • Подключаемые индексные методы доступа, т.е. возможность реализовывать новые типы индексов путём добавления строк в таблицу pg_am;
    • Подключаемые хранилища, т.е. возможность реализовывать совершенно другие движки для хранения данных, не использующие традиционный heap.

    Помимо чисто механической работы, такой как реализация команды "CREATE ACCESS METHOD", подключаемые индексные методы доступа должны был защищены WAL'ом. Сейчас, сообщество не хочет, чтобы расширения могли определять свой собственный формат WAL-записей, потому что возникает риск поломать одновременно recovery и репликацию, что неприемлемо. Другим подходом к этой проблеме является обобщённый формат WAL-записей, который задаёт разницу между версиями страницы в общем виде.

    Очень немногие СУБД поддерживают сейчас подключаемые хранилища. Самая распространённая из них – MySQL. Но обращение к различным хранилищам в MySQL подобно обращению к различным СУБД. Поэтому, с нашей точки зрения, PostgreSQL не должен идти таким путём.

    Однако, сейчас пользователи PostgreSQL всё больше понимают преимущества, которые они бы получили от использования альтернативных хранилищ. Идея колоночного и in-memeory хранилищ для PostgreSQL очень популярна. Одновременно с этим, возрастают наши технические возможности их реализовать. PostgreSQL приобрёл механизмы FDW и custom nodes. Обобщённый WAL и расширяемые индексные методы доступа ожидают включения в 9.6. Очень много работы на пути к подключаемым хранилищам уже сделано, даже если эта работа преследовала совсем другие цели.

    Наступило время, когда разработчикам ядра PostgreSQL нужно всерьёз задуматься о нативной поддержке подключаемых хранилищ без костылей. В конце концов, мы должны получить команду "CREATE STORAGE ENGINE name ...", как один из механизмов расширяемости.

    В докладе будут продемонстрированы текущие результаты в области подключаемых индексных методов доступа, а также концепция подключаемых хранилищ.

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

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

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

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

  • Михаил Тюрин
    Михаил Тюрин Avito Главный системный архитектор
    22 мин

    Пять слайдов о Postgres

    За годы моей работы с PostgreSQL возникло ясное представление, о том, каковы его основные достоинства ("Киллер-фичи", "вкусняшки"), из-за которых мы выбираем и рекомендуем выбирать эту СУБД.
    1. Начало
    2. Документация
    3. Комьюнити
    4.1 Транзакционный DDL
    4.2 WAL и настоящая физическая репликация
    4.3 Транзакционный снепшот и настоящая логическая репликация и PGQ
    4.4 Потрясающая расширяемость
    5. Успех