title

text

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

pg укротитель

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

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

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

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

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

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

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

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

  • Василий Бернштейн
    Василий Бернштейн Postgres Professional Старший технический менеджер продукта
    20 мин

    Подход по ограничению прав доступа суперпользователя к чувствительным данным в реализации компании Postgres Pro

    Требования к безопасности данных постоянно растут, и многие пользователи сегодня ищут способ ограничить доступ администраторов СУБД к конфиденциальным данным. Стандартным подходом в форках PostgreSQL является наложение дополнительных ограничений на postgres/superuser. Мы в Postgres Pro использовали принципиально другой подход.

  • Алексей Семихатов
    Алексей Семихатов
    60 мин

    Открытие Вселенной силой мысли

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

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

    pgpro_rp - Приоритизация ресурсов

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