title

text

Владимир Сердюк
Владимир Сердюк Общество с ограниченной ответственностью «Кластерные технологии Софтпоинт» Ген. директор
: декабря
40 мин

Распределение транзакционной нагрузки в кластере серверов СУБД

Данный доклад представляет собой описание концепции и прототипа кластера СУБД, работающего по принципу Master-Master. Проблема синхронизации данных в таких системах ни в одном тиражном решении до сих пор не решена, поэтому масштабирование для OLTP-систем, где транзакционная нагрузка сильно превалирует над аналитической, решается до сих пор только усилением аппаратной части – добавить ядер/процессоров, добавить памяти, что зачастую бывает не самым рациональным решением. Напомню, что задача распределения аналитической нагрузки решается относительно просто с помощью создания дополнительных реплик и перенаправления запросов на чтение вне транзакций на другие реплики. В случае же транзакционной нагрузки, если применять аналогичный подход, возникают коллизии, например, типа «писатель-писатель», которые, если их не учитывать, могут привести к неверным данным в транзакциях. Концепция кластера распределённых вычислений на первый взгляд звучит просто: «Все запросы на изменение данных выполняются мгновенно на всех нодах (серверах кластера), а чтение выполняется локально». Специальный прокси-агент распарсивает запросы, и выполняет запросы на чтение локально, а запросы на изменение перенаправляются параллельно и асинхронно на все остальные ноды кластера. Все изменения выполняются в системе зеркальных распределённых транзакций , которыми управляет координатор распределённых транзакций. Несмотря на простоту концепции и формулировки, возникает множество технических проблем, которые нигде ранее не были решены. В случае высокого параллелизма и конкуренции ресурсов порядок запросов на разных серверах может изменяться, что, в свою очередь, может приводить к изменению состава данных и к распределенным взаимоблокировкам. Также возникают сложности с падением линейной скорости примитивных операций. И, не решив проблемы оптимизации, данное решение сразу не подойдет для большинства систем. Одними из целевых показателей промышленного решения будет являться подключение до 20-и серверов в кластер с линейной просадкой времени операций не более чем на 10 % .

В докладе будут рассмотрены эти и другие проблемы распределено-вычислительного кластера. В том числе, представлены примеры системы, для которых это будет максимально эффективным решением, а также описание архитектуры и демонстрация прототипа.

Слайды

Слайды доступны участникам мероприятия, выполнившим вход в личный кабинет.

Видео

Видео доступно участникам мероприятия, выполнившим вход в личный кабинет

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

  • Антон Дорошкевич
    Антон Дорошкевич ИнфоСофт Руководитель проектов
    40 мин

    BiHА и 1С

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

  • Артём Галонский
    Артём Галонский Postgres Professional Руководитель продуктового направления
    20 мин

    Pooler, load balancer, proxy. Что их объединяет?

    Сейчас у нас есть задачи разных классов, которые решают разные продукты, но, если "копнуть" глубже, эти продукты одного класса и решают много однотипных задач. После того, как мы представили на рынок встроенную отказоустойчивость (BiHA),мы решили продолжить модернизацию наших кластреных возможностей, которые работают "из коробки".

    В данном докладе сделаем краткий обзор базовых технических требований к новой функциональности PostgresPro Enterprise, которая появится в 17 версии.

  • Александр Попов
    Александр Попов Postgres Professional Инженер
    20 мин

    pgpro_redefinition - расширение для онлайн манипуляций с большими таблицами

    Рассказ про расширение для перестройки больших таблиц без блокировок (почти)

    pgpro_redefinition - новое расширение, которое позволяет перестраивать таблицы без остановки приложения. Например секционировать большую таблицу, добавить колонку с default значением, разбить таблицу на 2 таблицы и даже создать копию таблицы на другом сервере СУБД.

  • Виктор Васильев
    Виктор Васильев Postgres Professional Архитектор решений
    20 мин

    Snapshot Standby с BTRFS в работе с PostgreSQL

    В докладе будет рассмотрена функциональность файловой системы BTRFS позволяющая реализовать Snapshot Standby в работе с PostgreSQL. В первой части доклада будет поверхностно рассказано про BTRFS, а во второй части доклада будут рассмотрено несколько кейсов использования Snapshot Standby на примерах.