title

text

Олег Иванов
Олег Иванов Postgres Professional Разработчик
15:00 05 февраля
22 мин

Применение методов машинного обучения для улучшения планировщика

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

Слайды

Видео

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

  • Kevin  Grittner
    Kevin Grittner EnterpriseDB

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

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

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

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

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

  • Камиль Исламов
    Камиль Исламов Stickeroid Ai CTO
    22 мин

    Оптимизация обработки данных аналитических отчётов

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

  • Владимир Ситников
    Владимир Ситников Pgjdbc, JMeter committer Инженер по производительности
    22 мин

    PostgreSQL и JDBC: выжимаем все соки

    Все говорят, что для максимальной производительности работы из Java с базой данных нужно использовать PreparedStatements и Batch DML. Практика показывает, что нельзя слепо идти на поводу у прописных истин. Нужно понимать особенности конкретной базы и характера передаваемых данных. В докладе мы рассмотрим то, как эффективное использование протокола PostgreSQL позволяет добиться высокой производительности при выборке и сохранении данных. На примерах увидим как простые изменения в коде приложения и JDBC драйвера на порядок ускоряют запросы. Мы увидим как задействовать механизм server prepared statements из клиенсткого кода и узнаем его узкие места. Обсудим средства эффективной передачи данных в базу. Многие обсуждаемые доработки недавно вошли в состав официального JDBC драйвера. Доклад будет полезен не только Java программистам, т.к. многие подводные грабли вытекают из самого протокола общения PostgreSQL с внешним миром.