title

text

Константин Евтеев
Константин Евтеев X5 FoodTech Главный архитектор
15:00 03 марта
45 мин

Формирование отчетов и аналитики в реальном времени с PostgreSQL.

В современном мире операционная отчетность и аналитика в реальном времени становятся базовой потребностью. Существует огромное количество инструментов, практик и подходов, которые в свою очередь требуют различной экспертизы и ресурсов. В рамках данного выступления расскажу, как может происходить развитие с помощью PostgreSQL. Подводные камни при использовании различных схем. Поговорим про вопросы качества данных и производительности. Доклад будет интересен как тем, кто находится на начальном этапе, так и для практиков с многолетним опытом (буду рад горячим обсуждениям и вопросам после доклада) План доклада: 1. Эволюция построения отчетности - миграция с OLTP на OLAP. 2. Вызовы организации доставки данных в DWH. 3. Масштабирование архитектуры с ростом данных. 4. Вопросы качества данных. 5. Сохранение стабильности при большом кол-ве изменений. 6. Различные подходы по организации работ команды DWH. 7. И конечно же успешно решенные нами вызовы (pgAgent, PGWatch, работа с фс, новое прочтение postgresql.conf).

Видео

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

  • Henrietta Dombrovskaya
    Henrietta Dombrovskaya Braviant Holdings Зам.директора по СУБД
    45 мин

    NORM - фреймворк без ORM

    Хорошо известно, что, хотя производительность базы данных велика и каждый запрос выполняется за миллисекунды, общее время отклика приложения может быть медленным, поэтому пользователи могут долго ждать ответа. Мы знаем, что проблема не в базе данных, а в том, как разработчики приложений с ней общаются. В частности, речь идет об ORM - Object-Relational Mappers. Разработчики баз данных ненавидят их, но разработчики приложений любят их, потому что они позволяют разрабатывать приложения без каких-либо знаний о внутреннем устройстве СУБД. В результате производительность системы часто оказывается неприемлемо низкой.

    Единственный способ изменить это - предоставить разработчикам приложений такой же простой в использовании инструмент, как ORM, но позволяющий избежать распространенных ошибок ORM. Вот почему мы разработали NORM - No-ORM Framework. Во время этой презентации мы рассмотрим примеры кода из репозитория https://github.com/hettie-d/NORM и узнаем, как создавать «транспортные объекты» для эффективной передачи данных между приложениями и базами данных.

  • Арсений Шер
    Арсений Шер Postgres Professional Разработчик
    45 мин

    Консенсус, Postgres, Мультимастер

    Postgres Pro Multimaster - это расширение Postgres (и набор патчей для ядра), обеспечивающее высокую доступность (HA) со строгой согласованностью и масштабируемостью чтения. Он образует симметричный кластер без общего доступа, синхронно реплицирующий данные и автоматически выполняющий аварийное восстановление. В течение последнего года мы приложили значительные усилия, чтобы убедиться и доказать, что согласованность сохраняется во всех сценариях. Новая версия, которая будет выпущена как часть Postgres Pro Enterprise 13, использует алгоритм Paxos для определения результата транзакции и оригинальный протокол, управляющий процессом восстановления; мы использовали TLA+ и TLC model checker для проверки его правильности. Я расскажу, как все это работает и почему в некоторых случаях multimaster может быть привлекательной альтернативой традиционным HA решениям на основе потоковой репликации.

    Multimaster теперь имеет открытый исходный код и доступен по адресу: https://github.com/postgrespro/mmts

    Чтобы сделать доклад менее узкоспециализированным и более привлекательным для широкой аудитории, в первой части я расскажу о том, как в целом современные СУБД (в основном так называемые NewSQL СУБД) обеспечивают отказоустойчивость. В частности, я остановлюсь на следующих моментах:

    что такое строго согласованная СУБД и какие накладные расходы с этим связаны; что такое распределённый консенсус, Paxos, Raft; как они здесь помогают?

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

  • Олег Бартунов
    Олег Бартунов Postgres Professional генеральный директор
    Никита Глухов
    Никита Глухов Postgres Professional Разработчик
    45 мин

    JSONB изнутри

    JSONB - популярнейший тип данных в постгресе, но нам часто говорят, что его производительность нуждается в улучшении. Часто в одном поле типа JSONB одновременно находятся и короткие, и большие значения, например блоб и его метаданные. Сейчас это весьма неэффективно. Но мы придумали несколько подходов, дающих, как показывают эксперименты, весьма сильное ускорение.

  • Daniele Varrazzo
    Daniele Varrazzo Codice Lieve Директор
    45 мин

    psycopg3: как Питон полюбил Постгрес

    На сегодняшний день Python является одним из наиболее часто используемых языков программирования в мире. Он прост в изучении и использовании и легко совместим с любыми известными сервисами и протоколами. psycopg2 - наиболее часто используемый драйвер PostgreSQL для Python: он обеспечивает хорошую производительность и делает взаимодействие между ЯП и СУБД максимально удобным.

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

    psycopg3 - это новое поколение наиболее часто используемой библиотеки-адаптера Python-PostgreSQL: она предлагает знакомый интерфейс и удобный процесс обновления, кроме того, она спроектирована для получения максимальной производительности от базы данных и ЯП: она поддерживает асинхронное программирование, связываемые переменные (prepared statements), двоичные параметры.

    psycopg3 также экспериментирует с инновационной поддержкой JSONB и конвейерной обработкой запросов! Приходите и узнайте, что нового происходит на стыке вашего любимого языка программирования и базы данных!