Fuzzing-исследование PostgreSQL. Как мы искали и что мы нашли
Фаззинг-исследование, это когда мы подаем в программу (или ее часть) случайные входные данные (на самом деле случайность весьма условна) и смотрим что из этого получится. И так много раз на многих процессорах.
Фаззинг исследование большого монолитного программного комплекса всегда не простая задача требующая неординарных решений. В этом докладе я расскажу что и как мы искали при помощи фаззинга и к каким результатам оно привело.
Исследование функций парсинга типов данных (input-функции): для разогрева;
Исследование функций реализующих операции между типами (op-функции): тут лучше учитывать структуру;
Фаззинг сетевой подсистемы: давайте притворимся, что мы POSIX-вызовы, так дешевле;
Восстановление дискового контекста: нужен день сурка.
Слайды
Слайды доступны участникам мероприятия, выполнившим вход в личный кабинет.
Видео
Видео доступно участникам мероприятия, выполнившим вход в личный кабинет
Другие доклады
-
Сергей Новиков ЕДИНЫЙ ЦУПИС Lead DBA
Оптимизация OLTP-нагрузки
В докладе представлен обобщённый опыт компании ЕДИНЫЙ ЦУПИС в вопросах оптимизации OLTP-запросов: • Как идентифицировать причины перегрузки сервера. • Какие настройки помогают улучшать планы и ускорять запросы, которые и так работают быстро. • Как лучше подготовить индексы и сами запросы. Также будут рассмотрены различные примеры деградации производительности из практики.
-
Антон Дорошкевич ИнфоСофт Руководитель проектов
BiHА и 1С
Совсем недавно в релиз вышел встроенный отказоустойчивый кластер BiHА. 1С тоже имеет свою систему отказоустойчивого кластера. В докладе расскажу можно ли их поженить и как настроить так чтобы отработка отказа требовала минимального участия человека, а возможно не требовала его вообще.
-
Илья Сазонов Всегда Да Руководитель разработкиФёдор Сазонов Сбер Руководитель направления
pg укротитель
У разработчиков постоянно возникают проблемы при работе с базами данных. Они вызваны тем, что разработчики считают СУБД чёрным ящиком, который "просто работает" и даже не подозревают, что важно и нужно понимать не только стандарт SQL, но и подробности устройства конкретной СУБД.
Проекты разные, разработчики разные, но вот проблемы как правило одни и те же. Мы хотим продемонстрировать как разработчики пользуются базой данных и рассказать хорошо бы знать об устройстве СУБД, для того, чтобы писать код, который не разваливается как только компания из бодрого стартапа превращается в зрелый бизнес с планомерно растущими продажами и, соответственно, нагрузками.
Практически в любом успешном проекте можно встретить практически одинаковые проблемы. Они появились потому что бизнес хотел побыстрее получить готовый продукт и это в своё время помогло компании встать на ноги. В небольших проектах эти проблемы совершенно незаметны.
-
Владлен Пополитов Postgres Professional разработчик программного обеспечения
Зачем мне векторная база данных, если уже есть PostgreSQL?
В 2023 году было анонсировано рекордное количество новых векторных баз данных. Mы расскажем о феномене векторных баз данных, раскроем суть этого явления и продемонстрируем, как векторные СУБД решают проблему производительности операций с векторами больших размерностей, и что препятствует реляционным базам данных конкурировать с ними в настоящее время. Несмотря на общий интерес к векторным базам данных, есть мнение о том, что существующие реляционные СУБД скоро смогут эффективно поддерживать операции с многомерными векторами, сохраняя традиционно богатый функциональный набор, что особенно важно для корпоративных пользователей. Например, для PostgreSQL уже созданы несколько расширений для работы с многомерными векторами, таких как pgvector, diskann, а также несколько коммерческих вендоров PostgreSQL объявили о поддержке работы с векторами. Мы рассмотрим используемые в этих расширениях алгоритмы, остановимся на недостатках и покажем возможные пути их улучшения.