Всем привет от команды ЮMoney 👋 В конце апреля мы провели очередной онлайн-митап High SQL, который посвятили работе с данными в DWH на Microsoft SQL Server. Было три докладчика: два эксперта из ЮMoney и один — из компании Monopoly Online. Полтора часа полезной информации для разработчиков, тестировщиков и дата-инженеров прошли незаметно, обязательно повторим в следующем году. А сегодня делимся видеозаписями и главными мыслями митапа. Если не смотрели его 27 апреля, можно сделать это сейчас. Кому советуем посмотреть: Тем, кто планирует перебраться с Microsoft SQL в PostgreSQL, но всё ещё сомневается. Тем, кто выбирает между ANTLR и DacFx и хочет научиться решать проблемы во время ревью TSQL-кода. И тем, кто хочет узнать, зачем тестировать OLAP-кубы, что может пойти не так и какой результат дают автотесты силами разработчиков и тестировщиков. О чём были доклады: Станислав Флусов из Monopoly Online поделился опытом, который получила их компания за три года миграции приложений из MS SQL в PostgreSQL. Артём Коршунов из департамента аналитических решений ЮMoney рассказал об инструментах BI, сравнил два парсера TSQL (ANTLR и DacFx) и показал, как написать простейший валидатор. А Лена Сухих из того же департамента рассказала, как её команда тестировала OLAP-кубы и что из этого получилось. В своём докладе делюсь опытом, который мы получили за три года миграции наших приложений из MS SQL в PostgreSQL. После того, как мы прошли этот путь на примере трёх больших приложений, все новые мы пишем только на PostgreSQL. Мы смогли выработать стратегию разработки и поддержки, которая по удобству, в случае PostgreSQL, ничуть не отличается от MS SQL. Таймкоды: 01:28 Стоимость владения и масштабирования коммерческих проприетарных решений. Когда софт в разы дороже железа 06:17 Инструменты для работы с PostgreSQL: Azure Data Studio и DBeaver Community 09:14 Инструменты мониторинга. PGWatch — next-generation PostgreSQL monitoring tool 13:39 Разница в типах данных между PostgreSQL и MS SQL 22:26 Разница в синтаксисе запросов 27:57 Инструменты для миграции схемы и запросов: AWS Babelfish и AWS SCT (Schema Conversion Tool) 34:23 Миграция средствами efCore 41:37 Инструменты для репликации данных 45:44 Оптимизация запросов и результаты нагрузочного тестирования 47:22 Топ-3 совета по миграции на PostgreSQL Когда в команде много разработчиков и они пишут много кода, встроенных валидаций для проверки этого кода может быть недостаточно. Из-за этого во время ревью могут возникать проблемы, например при описании таблицы, с порядком сортировки строк или при переключении раскладки клавиатуры, когда русские буквы используются вместо английских и наоборот. В моём докладе подробно разберём эти проблемы и выберем парсер транзакции TSQL-кода, чтобы автоматизировать валидацию и инструменты. Таймкоды: 01:36 Инструменты BI 08:58 Что не проверить встроенным валидатором и какие проблемы встречаются при ревью кода 15:26 Как мы исправляли эти проблемы и выбирали парсер TSQL: ANTLR vs DacFx 18:01 Разрабатываем анализатор 26:08 Что такое объектная модель 29:13 Итоги и возможные пути развития 30:50 Вывод: использовать DacFx или нет Представьте себе солнечный день. За большим столом собрались топ-менеджеры, чтобы провести стратегическое планирование по результатам прошлых периодов. Чтобы показать прогресс, докладчик на большом экране открывает куб, а данных нет... Примерно так началась история тестирования OLAP-кубов в ЮMoney. И хорошо, что началась, ведь вот к чему мы пришли: Стало на 47% меньше ошибок при выкладке релизов. На 26% увеличилось соблюдение SLA по OLAP-кубам. На 38% уменьшилось количество обращений к админам по проблемам с OLAP-кубами. Таймкоды 01:11 Немного обо мне и моём опыте 02:41 Проверяем, насколько редко команды тестируют OLAP-кубы — общение со зрителями в чате 04:00 Как ЮMoney пришли к необходимости тестировать OLAP-кубы и что может пойти не так 05:51 С чем мы подошли к началу тестирования OLAP-кубов и что уже было реализовано 08:56 Что нам нужно было реализовать к началу тестирования OLAP-кубов 09:42 Проблемы и решения 16:38 Автотесты на бизнес-логику силами разработчика 17:21 Автотесты на бизнес-логику силами QA 18:39 Как выглядит текущая схема тестирования OLAP-кубов 20:08 Результаты внедрения тестирования OLAP-кубов 21:22 Выводы Чтобы не пропустить следующие митапы ЮMoney, следите за нашими новостями в телеграм-канале ЮMoney Tech.    Редактор