title

text

Джошуа Дрейк
Джошуа Дрейк Command Prompt, Inc. Pioneer
14:00 05 февраля
45 мин

Сила логической репликации

Одной из наиболее приятных фич после выхода релиза Postgres v10 стала логическая репликация. В ходе доклада мы рассмотрим, что из себя представляет логическая репликация, как она соотносится с потоковой репликацией, как она работает, конфигурируется, какими ограничениями обладает, с какими подводными камнями можно столкнуться, как решаются вопросы безопасности и управления. Мы также обсудим возможные для развертывания архитектуры с логической и потоковой репликацией и некоторые черты базовой технологии.

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

Видео

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

  • Степан Данилов
    Степан Данилов РТ Лабс Разработчик
    22 мин

    Оптимизация оптимизированного и не очень

    Хочу поделиться опытом оптимизации запросов PostgreSQL для Региональной Медицинской Информационной Системы (РМИС). Опыт работы с PostgreSQL и с этой системой - более 6 лет.

  • Борис Ещенко
    Борис Ещенко Commvault Технический консультант
    22 мин

    Управление и защита PostgreSQL c помощью Commvault

    Надежное резервное копирование и восстановление данных уровня предприятия для среды PostgreSQL. Больше никаких традиционных резервных копий. Технология CBT (Change Block Tracking) - это следующее поколение инкрементного резервного копирования. Быстрее, чем моментальные снимки, CBT создает резервные копии только блоков, которые изменяются, а не всех ваших данных, уменьшая нагрузку на сервер и сетевой трафик и устраняя необходимость в традиционных резервных копиях. Преимущества: • Защита данных в режиме близком к Real-Time • Обновление с легкостью

  • Алексей Фадеев
    Алексей Фадеев Sibedge Старший разработчик .NET, евангелист Postgres.
    45 мин

    ORM: как писать запросы и не сводить с ума СУБД

    Многие специалисты, обслуживающие СУБД не любят эти три буквы - ORM, потому что не раз видели сгенерированные многоэтажные запросы для простейших операций. Однако, практика показывает, что источник проблемы - не ORM, а разработчики, не умеющие ими пользоваться. В этом докладе я расскажу основные принципы, как писать код для ORM, генерирующий «хорошие» запросы, а также покажу «плохие» примеры кода, и что из них получается на выходе. Основные идеи – при написании кода мыслить в SQL, научиться заранее видеть, какой запрос будет сгенерирован. Но даже обретя такой навык нужно всегда проверять выходной SQL для сложных запросов. Приведу конкретный пример, когда незначительное изменение в ORM-логике меняет объём выходного SQL в десятки(!) раз. Расскажу о дополнительных инструментах и хитростях. А именно – отключение трекинга, конструкция Include, разный синтаксис для JOIN, как получить больше данных за меньшее число запросов, как эффективно писать запросы с группировкой, и зачем нужны проекции. Не обойду стороной и случаи, когда эффективно решить задачу средствами ORM не получается (например, запросы с рекурсией). Кроме SELECT-запросов немного расскажу о средствах Batch-Update/Delete, позволяющих обновлять и удалять данные средствами ORM без загрузки на клиент. Несколько слов будет и о вставке – как заставить ORM быстро вставлять большие объёмы данных через Multi-Insert и COPY. Будет упомянуто и о поддержке в ORM специфичных для PostgreSQL типов данных – массивов, hstore и jsonb. Может возникнуть вопрос – а есть ли вообще смысл использовать ORM, раз нужно столькому научиться. Преимущества их использования есть, и об этом тоже будет сказано. Все примеры будут на технологии Entity Framework для платформ .Net Core и .Net Framework на языке C#. Для Hibernate/NHibernate могут быть отличия в некоторых тонкостях, но основные принципы те же, поэтому доклад будет полезен разработчикам, использующим различные технологии.

  • Петр Ярмуз
    Петр Ярмуз Allegro sp. z.o.o Senior Database Engineer
    45 мин

    Хакинг с Postgres 11 - pg_threads

    Мое выступление будет посвящено написанию расширений для Postgres. Я создал модуль pg_threads, который реализует упрощенную версию API POSIX потоков внутри базы данных Postgres. Он дает разработчикам баз данных новый мощный инструмент для параллельного написания кода и использования преимуществ многоядерной CPU. Существует дополнительное API для транзакционных и нетранзакционных IPC между потоками. Я покажу пример приложения, в котором реализовано преимущество нового API - линейное масштабирование равномерно на два узла. Презентация сопровождается живой демонстрацией на vagrant с двумя виртуальными машинами на Ubuntu и двуми базами данных Postgres.