title

text

Михаил Тюрин
Михаил Тюрин Avito Главный системный архитектор
16:00 04 февраля
22 мин

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

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

Слайды

Видео

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

  • Kevin  Grittner
    Kevin Grittner EnterpriseDB

    Всё об изоляции транзакций в PostgreSQL для разработчиков приложений

    Когда множество пользователей, процессов или потоков выполнения одновременно модифицируют их общие данные, это может вызывать проблемы, если каким-то образом не урегулировать условия гонки. Эти проблемы особенно остро проявляются в базах данных, реализующих семантику ACID. Набор изменений, объединённых в транзакцию базы данных, должен проявляться атомарно, и для параллельных транзакций, и для процесса восстановления после сбоя. Каждая транзакция должна переводить базу данных из одного согласованного состояния (с точки зрения бизнес-правил) в другое. Для эффективной разработки необходимо иметь возможность запрограммировать каждую транзакцию независимо от других транзакций, которые по стечению обстоятельств могут выполняться в то же самое время. В случае сбоя все изменения, внесённые транзакциями, об успешном завершении которых были уведомлены приложения, а также все изменения, ставшие видимыми для других транзакций, должны оставаться в базе после восстановления. За многие годы были выработаны различные стратегии обеспечения этих гарантий, а иногда гарантии корректировались тем или иным способом. В данном докладе будет рассказано, каким образом обеспечиваются эти гарантии или их компромиссные варианты, с упором на методику сериализуемой изоляции снимков (SSI, Serializable Snapshot Isolation), применяемую в PostgreSQL (и ни в какой другой производственной СУБД на данный момент). Хотя SSI уже работает быстрее и с большей степенью параллельности, чем любая другая методика управления условиями гонки с наиболее типичной нагрузкой, есть много путей для дальнейшего увеличения производительности, некоторые из которых требуют помощи эксперта по различным методам доступа индексов; эти вопросы и будут обсуждены в данном докладе. Кроме того, на докладе будут представлены некоторые общие идеи о том, как можно использовать методики SSI с XTM в распределённой системе. В конце мы оставили время для группового обсуждения оптимизации и возможных применений в распределённой среде.

  • Tatsuo  Ishii
    Tatsuo Ishii

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

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

  • Will Leinweber
    Will Leinweber Heroku Engineer

    Heroku Postgres: архитектура облачного сервиса баз данных

    Помимо предоставления универсальной веб-платформы, Heroku предлагает крупномасштабные и поддерживаемые сервисы Postgres. За годы мы многое узнали о том, как использовать Postgres в большом масштабе.
    На этом докладе мы расскажем:

    • почему Postgres привлекателен для запуска в облачном сервисе
    • как подготовить, управлять и контролировать инфраструктуру Postgres
    • чем придётся пожертвовать, чтобы Postgres работал в такой среде
    • об автоматическом восстановлении после сбоя
    • и о многом другом

  • Дмитрий Васильев
    Дмитрий Васильев Postgres Professional Инженер СУБД
    45 мин

    Масштабируемость PostgreSQL

    В докладе рассказывается о результатах тестирования производительности PostgreSQL на современных Hi-End серверах. Основное внимание было уделено блокировкам для доступа к разделяемым данным и связанными с этим узкими местами. Целью тестирования было проверить пределы линейного read scalability при увеличении количества ядер выделяемых для PostgreSQL. Тестирование проводилось для различных версий БД (9.4, 9.5, 9.6), чтобы проверить нововведения, призванные повысить производительность на многопроцессорных архитектурах.