title

text

Kevin  Grittner
Kevin Grittner EnterpriseDB
15:00 05 февраля

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

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

Слайды

6_Кевин Гриттнер kevin.ppt

Видео

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

  • Andreas Scherbaum
    Andreas Scherbaum Pivotal Principal Software Engineer

    Как мы сделали Greenplum Open Source

    Greenplum — это форк PostgreSQL, оптимизированный для использования в аналитике и хранилищах данных. Компания Pivotal в начале 2015 г. анонсировала, что часть её продуктов станут продуктами Open Source, в том числе и Greenplum Database. На этом выступлении будет представлен обзор истории Greenplum, всего процесса перевода продукта в мир Open Source и препятствий, с которыми мы столкнулись. Мы также расскажем, как можно принять участие в нашем проекте.

  • Никита Волков
    Никита Волков Sannsyn AS Senior Developer and Data Scientist
    45 мин

    Декларативное программирование клиентов Postgres в Haskell с помощью Hasql

    Речь пойдёт о "hasql", высокоэффективной библиотеке для интеграции Haskell с PostgreSQL. Вы познакомитесь с удивительным языком программирования Haskell, преимуществами декларативного программирования и техническими решениями библиотеки, среди которых имплементация бинарного протокола для общения с Postgres. Эта библиотека используется проектом PostgREST, популярным универсальным REST API для баз данных Postgres.

  • Петр Грибанов
    Петр Грибанов Технологический евангелист
    22 мин

    "1С:Предприятие": самая популярная в России/СНГ платформа разработки с поддержкой PostgreSQL

    Более 300.000 разработчиков используют в качестве основного средства разработки технологическую платформу "1С:Предприятие". Я расскажу об особенностях идеологии и архитектуры платформы "1С:Предприятия", которые позволили ей стать одним из самых массовых средств разработки в России и СНГ, и о том, почему СУБД PostrgreSQL становится все популярнее среди пользователей технологий 1С.

  • Fabio Telles Rodriguez
    Fabio Telles Rodriguez Timbira Owner / Consultant
    45 мин

    Высокий уровень параллелизма в Postgres: Банк Бразилии в реальной жизни

    Проблемы и решения в системе электронного документооборота и процессинга банковских чеков в Банке Бразилии.