title

text

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

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

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

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

Слайды

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

Видео

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

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

  • Владлен Пополитов
    Владлен Пополитов Postgres Professional разработчик программного обеспечения
    40 мин

    Зачем мне векторная база данных, если уже есть PostgreSQL?

    В 2023 году было анонсировано рекордное количество новых векторных баз данных. Mы расскажем о феномене векторных баз данных, раскроем суть этого явления и продемонстрируем, как векторные СУБД решают проблему производительности операций с векторами больших размерностей, и что препятствует реляционным базам данных конкурировать с ними в настоящее время. Несмотря на общий интерес к векторным базам данных, есть мнение о том, что существующие реляционные СУБД скоро смогут эффективно поддерживать операции с многомерными векторами, сохраняя традиционно богатый функциональный набор, что особенно важно для корпоративных пользователей. Например, для PostgreSQL уже созданы несколько расширений для работы с многомерными векторами, таких как pgvector, diskann, а также несколько коммерческих вендоров PostgreSQL объявили о поддержке работы с векторами. Мы рассмотрим используемые в этих расширениях алгоритмы, остановимся на недостатках и покажем возможные пути их улучшения.

  • Владимир Комаров
    Владимир Комаров АО «Сбербанк-Технологии» Архитектор
    40 мин

    Безопасность баз данных

    Что вы можете вспомнить по ключевому слову «безопасность»? Скорее всего, только ролевую модель доступа. На самом деле арсенал средств защиты современных СУБД гораздо шире. Если вам незнакомы такие аббревиатуры, как RLS, FGAC, DLP, PAM, WAF, LBAC, TDE, KMS и масса других, то этот доклад — для вас. Мы расшифруем эти иероглифы, поговорим о том, какие из них действительно важны, а главное — когда и от чего надо защищать базу данных.

  • Алексей Светличный
    Алексей Светличный Тинькофф Технический продакт менеджер
    40 мин

    Мониторинг и алертинг большой инфраструктуры

    С каждым днем объемы данных, количество инсталяций, обслуживаемых систем приумножается. Зачастую можно проследить даже геометрическую прогрессию. Вопросы инпортозамещения, требования регулятора, новые проекты - все это форсирует развитие Postgres. Такие реалии ставят перед нами амбициозные цели слежения за соблюдением SLA, качественный мониторинг, дашборды по критичным элементам производительности систем. Поделимся нашим опытом и наработками в рамках Tinkoff.

  • Илья Сазонов
    Илья Сазонов Всегда Да Руководитель разработки
    Фёдор Сазонов
    Фёдор Сазонов Сбер Руководитель направления
    40 мин

    pg укротитель

    У разработчиков постоянно возникают проблемы при работе с базами данных. Они вызваны тем, что разработчики считают СУБД чёрным ящиком, который "просто работает" и даже не подозревают, что важно и нужно понимать не только стандарт SQL, но и подробности устройства конкретной СУБД.

    Проекты разные, разработчики разные, но вот проблемы как правило одни и те же. Мы хотим продемонстрировать как разработчики пользуются базой данных и рассказать хорошо бы знать об устройстве СУБД, для того, чтобы писать код, который не разваливается как только компания из бодрого стартапа превращается в зрелый бизнес с планомерно растущими продажами и, соответственно, нагрузками.

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