title

text

Антон Нечеухин
Антон Нечеухин Miro Technical QA lead
16:30 03 февраля
90 мин

Инструмент как код: тестируем Postgres

На мастер-классе научимся проводить быстрые нагрузочные тесты баз данных Postgres: оптимизаций конфигов базы, структуры данных, индексов, настроек ОС и т. д. Для этого создадим код, из него поднимем инфраструктуру для теста и проведём сам тест. В результате получим гибкий инструмент в коде, к которому можно прикрутить любой мониторинг и за который не надо платить большие деньги, т.к стенд создаётся за 7 минут в пустой AWS учётке и убивается после проведения тестов. Для этого мастер-класса есть важная подготовка, которую нужно сделать заранее, чтобы в полной мере попробовать все, что спикер хочет предложить. Один шаг не быстрый - нужно сделать триальную учетную запись в AWS. Для этого требуется подтверждение регистрации от Amazon, которое они делают в течении 24 часов (если вы ранее работали в AWS, и у вас есть учетка - это хорошо, если нет - нужно пройти этот путь) Также, лучше заранее поставить последние версии ansible и terraform.

слайды

Видео

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

  • Александр Чирков
    Александр Чирков Барс Груп Архитектор ПО
    Александр Кварацхелия
    Александр Кварацхелия БАРС Груп Архитектор программного обеспечения
    45 мин

    Миграция с Oracle на PostgreSQL с использованием автоматического конвертера

    В докладе мы хотим рассказать об опыте миграции одной большой системы с Oracle на PostgreSQL. Сама система построена на стеке PHP + Oracle, её отличительной особенностью было то, что вся бизнес-логика была реализована в PL/SQL коде. В СУБД - это более 3000 пакетов с 4-10 функциями (процедурами) в каждом. В PHP - более 10000 форм со вставками анонимных блоков, используемых для получения данных, обработки и сохранения результатов в Oracle.

    Для решения этой крайне объемной работы мы взяли ANTLR4 (синтаксический анализатор для чтения, обработки, выполнения или перевода структурированного текста), грамматику PL/SQL и создали автоматический конвертер, который позволяет преобразовать все объекты схемы и нашей системы из Oracle в рабочий код для PostgreSQL.

  • Николай Аверин
    Николай Аверин Miro Backend engineer
    22 мин

    pg_repack и deferred constraints

    pg_repack является популярным инструментом для устранения bloat-a таблиц и индексов в постгресе. В большинстве случаев он отлично справляется с проблемой. Но как оказалось, в случае использования такой фичи постгреса как deferred ограничения, использование pg_repack либо сильно усложняется, либо становится невозможным. Я расскажу о том, как мы обнаружили эту проблему и опишу возможные способы ее решения - от встроенных средств постгреса до небольшого патча pg_repack.

  • Владимир Алешин
    Владимир Алешин Avito Инженер
    45 мин

    Хранимки as code

    В рамках доклада поговорим о хранимых процедурах и функциях и коде внутри базы данных в целом. Посмотрим на хранимки с разных сторон: глазами DBA, разработчика баз данных и разработчика серверной части. Попытаемся понять что такого особенного в хранимых процедурах, что зачастую препятствует применению сложившихся практик по работе с исходным кодом. Поговорим о том как выглядят best practice по работе с кодом в разрезе хранимых процедур.

    Доклад в большей степени ориентирован на разработчиков баз данных и серверных разработчиков, и является скорее мотивационным, чем хардкорно-техническим.

  • Heikki Linnakangas
    Heikki Linnakangas Pivotal PostgreSQL hacker
    45 мин

    Writing a User-defined datatype

    Walk-through of extending PostgreSQL with a user-defined type. The journey begins from the basics, from creating simple domain types over existing types, and continues to implementing a full-blown datatype from scratch in C.

    PostgreSQL's advanced index types, GiST, GIN, and SP-GiST, are covered in enough detail to give an understanding of what each of them is good for. Support functions for each of them are shown for the example 'color' datatype.