Как стать автором
Обновить
68.57
Холдинг Т1
Многопрофильный ИТ-холдинг

Не Oracle единым: как мы обучили сотрудников PostgreSQL и сократили миграции БД на полгода

Время на прочтение7 мин
Количество просмотров9K

Привет, Хабр! На связи Т1 Цифровая Академия из Холдинга Т1. Сегодня хотим рассказать, как мы добились того, что 233 специалиста перешли с Oracle на PostgreSQL всего за 10 месяцев.

Почему часто лучше обучить, чем нанять

В начале 2022 года внешние условия резко поменяли картину мира и ИТ-отрасль. Во-первых, иностранные поставщики решений — Microsoft, IBM, Cisco, Adobe и не только — ушли с российского рынка, и ИТ-специалисты остались один на один с отечественными разработками и альтернативными ИТ-решениями, которые приходилось изучать по ходу работы. Во-вторых, в среднем отрасли не хватает около 1 млн ИТ-специалистов, особенно уровня middle и senior. На поиск кандидатов с опытом от 6 лет может уходить до полугода. Такое положение дел заставляет бизнес искать альтернативы найму новых сотрудников с нужными знаниями.

Как представители одного из лидеров ИТ-отрасли мы понимаем, что сейчас постоянный апгрейд знаний в ИТ — основа основ. Компаниям выгодней взрастить текущие кадры, раскрыть их сильные стороны и улучшить навыки, чем потратить от 3-х месяцев на поиск идеального кандидата в условиях нехватки кадров.

Почему переход с одной СУБД на другую — это вызов

Одна российская компания обратилась к нам за помощью — ей требовалось импортозаместить Oracle на PostgreSQL за 1 год. По оценкам команд это заняло бы минимум 1,5 года из-за отсутствия специалистов по PostgreSQL, затяжной миграции и низкой мотивации специалистов. 

Такой длительный переход мог существенно затормозить бизнес-процессы: если в процессе перехода лицензия закончится, то купить новую уже не получится; при отсутствии технической поддержки со стороны Oracle нельзя будет устранить технические ошибки, из-за которых можно остаться без функционирующих БД как у всей компании, так и у заказчиков. Сбои в работе ПО, которые работают на основе БД, могли бы повлечь и более серьезные проблемы. А потеря данных была бы вовсе критической.

Так что компании-заказчику был необходим такой инструмент, который бы ускорил миграцию баз данных и не повлек за собой экономические риски.

Oracle и PostgreSQL: в чем суть?

Oracle — это реляционная система управления базами данных (СУБД) с  широким набором инструментов и функций для хранения, управления и обработки данных. Она разработана компанией Oracle Corporation и является коммерческим продуктом. Еще в 2019 году, по данным опроса TAdviser, 81% российских компаний использовали СУБД Oracle и только 51% — PostgreSQL. 

Так как Oracle — одна из самых популярных в мире, легче найти ИТ-специалиста, который умеет с ней работать. Высокотехнологичность и управляемость системы делает ее гибкой для настройки и изучения.

Среди основных преимуществ Oracle:

  1. Масштабируемость: Oracle способен обрабатывать большие объемы данных и поддерживать высокую производительность даже при большом количестве одновременных пользователей.

  2. Надежность: Oracle обеспечивает высокую степень отказоустойчивости и защиты данных.

  3. Богатый набор функций: Oracle предлагает множество расширенных функций, таких как поддержка транзакций, резервное копирование и восстановление данных, шифрование и другие.

  4. Качественная техническая поддержка, к которой можно обратиться при возникновении проблем.

Что насчет PostgreSQL? Это тоже реляционная система управления базами данных, но с открытым исходным кодом. Она разрабатывается международным сообществом разработчиков PostgreSQL Global Development Group.

Характеристики PostgreSQL включают:

  1. Масштабируемость: PostgreSQL умеет работать с большими объемами данных, поддерживать сложные запросы, объединять десятки таблиц. Подключаться к БД можно одновременно с многих устройств благодаря MVCC.

  2. Поддержка JSON: PostgreSQL имеет встроенную поддержку для работы с данными в формате JSON, что делает его удобным для работы с современными веб-приложениями.

  3. Надежность: PostgreSQL поддерживает ACID и предоставляет различные методы репликации данных, что позволяет создавать отказоустойчивые и масштабируемые системы.

  4. Расширяемость — важная особенность PostgreSQL. В инструменте есть возможность включать и создавать extension — микропрограммы, расширяющие функционал СУБД. Можно писать функции на нескольких языках программирования, добавлять свои типы данных и новые типы индексации, разрабатывать хранимые процедуры и функции на языках PL/PgSQL и PL/SQL.

PostgreSQL стала наиболее привлекательной альтернативой Oracle и вполне может заменить эту СУБД. По словам экспертов, инструмент обладает высокой производительностью и выдерживает сервисы с большими нагрузками. Его используют такие крупные компании, как Alibaba, Sony, TripAdvisor и другие.

Открытый доступ инструмента делают его независимым от внешних условий — его не могут отключить или заблокировать. Так как PostgreSQL некоммерческий продукт, компаниям не нужно платить за лицензирование и зависеть от технической поддержки, которую не смогут оказать в России.

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

Чтобы учесть все эти особенности, ИТ-специалистам нужно проходить дополнительное обучение — PostgreSQL требует настройки, изучения функций и понимания нюансов, чтобы исключить ошибки при переносе данных и последующей поддержки перенесенных проектов.

Как происходит миграция данных из Oracle в PostgreSQL?

Миграция данных из одной СУБД в другую может нести разные трудности. В основном это связано с несовместимостью различных параметров систем:

  • Архитектур в целом

  • Форматов кластеризации/репликации/бэкапов

  • Форматов данных

  • Форматов процедурных языков

  • Функционала

  • Поддержкой софтом новой СУБД

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

При миграции данных из Oracle в PostgreSQL может быть выполнен следующий алгоритм:

  1. Воспользоваться автоматизированными утилитами для миграции, например, для Oracle — это ora2pg.  

  2. Найти все несовместимости и устранить их, переписать необходимые функции и процедуры.

  3. Уделить много времени тестированию и профилированию запросов

  4. Разработать функциональное и нагрузочное тестирование.

  5. Не торопиться отключать исходную систему после миграции.

Чтобы провести миграции максимально эффективно, требуется понимание, как работает новый инструмент. Специалистам, которые хотят перенести данные с Oracle на PostgreSQL, нужно изучать особенности и учитывать их при миграциях. Целесообразно доверить этот процесс тем, кто в дальнейшем будет оказывать техпомощь проекту.

Как мы решали проблему импортозамещения и обучения специалистов

Наш заказчик столкнулся не только с тем, что у сотрудников не было опыта работы с PostgreSQL, но и с низкой мотивацией: только 26% сотрудников хотели перейти на новый инструмент. При этом все специалисты, которые участвуют в разработке и поддержке ПО, должны уметь работать с реляционными системами. Среди них разработчики, аналитики, тестировщики, поддержка, сопровождение, ci/cd инженеры, DE, DS. В первую очередь им нужно знать основы реляционных БД, основы операционных систем Linux, уметь работать в консоли. По данным исследования Работа.ру и Heaad, знание SQL находится в топ-3 навыках для аналитиков и разработчиков.

Поиск специалистов, которые бы умели работать в PostgreSQL, потратил бы много ресурсов клиента — рынок испытывает дефицит в аналитиках (10,4% от всех размещенных вакансий в ИТ), специалистах технической поддержки (9,7%), тестировщиках (7,7%). Так что, переобучить специалистов по Oracle было логичным и естественным решением. И мы как поставщик образовательных решений приступили к комплексной работе.

Чтобы понять уровень знаний специалистов компании-заказчика, мы провели исследование: сделали аудит текущих рабочих задач и процессов и оценили навыки сотрудников. При тестировании мы смотрели на:

  • Знание реляционных БД

  • Опыт работы в Linux

  • Опыт внедрения баз данных

  • Опыт миграции данных

  • Опыт администрирования БД

  • Опыт внедрения изменений

  • Лидерские качества

  • Опыт публичных выступлений

По итогам аудита, из 233 инженеров мы отобрали 31 специалиста с навыками, подходящими под выполнение первых самых сложных миграций. Им предстояло пройти индивидуальное обучение в течение 2 месяцев: первые команды детально разбирали проблемы на проектах и решали их при поддержке экспертов Т1. 

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

Первое обучение инженеров стало основой для составления миграционных шаблонов, примеров скриптов и списка самых распространенных ошибок, с которыми можно столкнуться при миграции в этой компании. Эксперты Т1 и лидеры изменений решали, как лучше масштабировать полученные знания на их команды, они вместе пилотировали и улучшали программу для будущих потоков. Это помогло повысить компетенции сотрудников по многим направлениям сразу:

  • Базовый инструментарий

  • Архитектура

  • Организация данных

  • Управление доступом

  • Резервное копирование и репликации

  • Выполнение запросов

  • Доступы, роли, атрибуты, привилегии

  • Статистика – границы распределения данных в таблице

  • Профилирование

  • Приемы оптимизации

  • Работа через Hibernate

  • Миграция данных

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

Чтобы внедрить обучение в жизнь компании, мы вместе с HR и лидерскими командами провели внутреннюю кампанию, в которой использовали интегрированный подход к коммуникациям: доносили информацию до сотрудников через разные каналы, например, корпоративный портал, сообщества и чаты, раскручивали сарафанное радио или лично направляли инженеров с навыками миграции данных пройти первое обучение.

Еще мы создали систему оперативного консультирования: от инженеров -> к лидерским командам компании -> до экспертов Т1. Сотрудники могли ознакомиться с FAQ или задать собственный вопрос в чатах, проекте в Jira или на регулярных встречах. Мы также создали экспертный совет по автоматизации миграции и разработке шаблонов, результаты работы которого упростили рабочие процессы многим командам. В общем, у сотрудников были все ресурсы, чтобы быстро найти ответы на свои вопросы и обучиться новому инструменту.

Что в итоге?

  • После обучения 93% сотрудников успешно справились с практическими заданиями, 233 специалиста по Oracle перешло на задачи по PostgreSQL.

  • Процент желающих специалистов перейти на новый инструмент вырос с 26% до 73%.

  • Компания перешла на PostgreSQL за 10 месяцев вместо планируемых 1,5 лет.

Таким образом, компания смогла решить задачу перехода с Oracle на PostgreSQL быстрее, дешевле и эффективнее с помощью правильно проработанного содержания обучения и процесса его проведения.

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

Теги:
Хабы:
Всего голосов 7: ↑5 и ↓2+3
Комментарии7

Публикации

Информация

Сайт
t1.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия
Представитель
Холдинг Т1