Технология проведения миграции данных в крупных проектах
В статье систематизируется проектный опыт проведения миграции данных в крупных проектах, связанных с переходом Заказчиков на работу в конфигурациях «1С:Предприятие 8».
- Описание
- Подробнее
Описание
Введение
В данной статье мы хотели бы систематизировать наш опыт проведения миграции данных в крупных корпоративных проектах, связанных с переходом Заказчиков на работу в конфигурациях «1С:Предприятие 8».
При этом основной акцент в статье будет сделан, прежде всего, на технологическую составляющую процесса миграции. Организационная составляющая также затронута, но в меньшей степени.
Термины и определения
Под миграцией данных принято понимать конечную последовательность работ, проект, направленный на разовое массовое перемещение данных из систем-источников (исторические системы) в систему-приёмник. При этом эксплуатация этих данных в системах-источниках прекращается.
Следует отличать миграцию данных от интеграции данных. Интеграция, в отличие от миграции – это постоянная часть архитектуры IT, и ответственна за потоки данных между различными системами и хранилищами данных – и является процессом, а не деятельностью по осуществлению проекта[1].
Схема миграции в общем случае выглядит следующим образом:

Рис. 1
Исторические системы – базы данных компании Заказчика, которые планируется полностью или частично заменить при внедрении новой системы.
Система-приёмник – целевая система, произвольная конфигурация «1С:Предприятие 8».
Исходные данные – данные, выгруженные из исторических систем в произвольный формат xls-файлов. В данном случае формат xlsпредставляется, как один из самых удобных, поскольку возможность выгрузки в xls-файл присутствует во многих учетных системах «предыдущих поколений».
Как современную альтернативу в качестве транспорта возможно рассматривать формат xml-файлов.
Также существуют варианты использования промежуточной базы данных.
Трансформация, конвертация – процесс преобразования исходных данных в данные для загрузки. Трансформация данных происходит в соответствии с шаблонами для загрузки. Результатом трансформации являются данные для загрузки.
Данные для загрузки – данные, предназначенные для загрузки в систему-приёмник. В данной статье, так же как и исходные данные, рассматривается xls-формат.
Шаблоны данных для загрузки – описание таблиц данных для загрузки в целевую систему.
Этапы миграции
Рассмотрим поэтапно процесс подготовки и проведения миграции.
К организационным этапам миграции можно отнести следующие пункты:
· Определение стратегии миграции. На данном этапе Исполнитель и Заказчик договариваются о технологии проведения миграционных работ;
· Определение состава рабочей группы по миграции. В рабочую группу должны входить специалисты и Исполнителя и Заказчика, знакомые в достаточной степени с работой исторических систем (со стороны Заказчика) и целевой системы (со стороны Исполнителя);
· Предварительный план миграции. План миграции по ходу проекта будет неоднократно корректироваться;
· Периоды дат выгрузки данных из исторических систем, объемы данных. Периоды среза данных для миграций, даты тестовых и итоговой миграций. Данную информацию можно отнести к плану миграции;
· Состав данных, подлежащих миграции. Справочные данные, классификаторы, транзакционные данные, остатки, обороты и пр.;
· Вопросы проверки качества, корректности и целостности данных в процессе миграции и по итогам;
· Вопросы отката к предыдущему состоянию в случае сбоев.
Остановимся подробнее на технологических этапах миграции.

Рис. 2
1. Подготовка шаблонов загрузки данных
Шаблон загрузки данных содержит технические описания таблиц данных для загрузки, алгоритмы и правила загрузки для текущего шаблона.
Каждый шаблон в общем случае предназначен для одной или нескольких связанных таблиц в целевой системе-приёмнике.
В шаблоне указывается:
· Описание всех полей xls-файла данных для загрузки, включая:
o Имя поля
o Признак обязательности заполнения поля
o Пример заполнения поля
o Примечание
· Описание правил загрузки таблицы целевой системы на основании данных для загрузки (очередность в случае нескольких связанных таблиц, алгоритмы поиска по ключевым полям и т.п.)
· Описание заполнения непосредственно полей таблиц целевой системы в случае, если предусматривается что-либо отличное от переноса данных «один в один» из файла данных для загрузки. Актуально для ссылочных полей, например.
В процессе работ по данному этапу Исполнитель также должен подготовить загрузчик файлов данных для загрузки. В случае работы с файлами xlsданная задача не представляет особой сложности.
2. Выявление источников данных
Данный этап может начинаться вместе с предыдущим этапом «1. Подготовка шаблонов загрузки данных».
В рамках данного этапа специалисты Заказчика определяют из каких систем и какие данные могут быть выгружены. Также следует определить какие данные возможно могут понадобиться.
Как правило, в больших проектах миграции выявление полного исчерпывающего списка источников данных может занимать достаточно продолжительное время и происходит по мере работ на последующих этапах.
Нередки ситуации, когда для обеспечения в дальнейшем целостности информации некоторые данные приходится переносить с печатных источников (оцифровывать) или даже заносить в таблицы со слов ключевых сотрудников Заказчика.
Тем не менее, на данном этапе нужно постараться выявить как можно больше необходимых данных.
3. Выгрузка исходных данных
Процесс выгрузки данных из исторических систем может занять достаточное количество времени, особенно, если систем много, они разные и за них ответственны разные подразделения Заказчика. Необходимо учитывать данный момент при тестовых и итоговой миграциях.
Наиболее удобным вариантом представляется выгрузка в xlsфайлы. Многие старые IT-системы поддерживают такой вариант.
Также могут быть варианты выгрузки в csvформат, dbf, xml форматы и прочие.
Стоит отметить, что по тем или иным причинам (вопросы безопасности, например) Заказчик не всегда может предоставить выгрузки данных в полном объеме на этом этапе! Только структура данных и несколько тестовых позиций. Таким образом, может сложиться такая ситуация, что при тестовых и итоговой загрузках будут обнаруживаться некачественные данные в исходных таблицах, что будет приводить к незапланированным ошибкам.
Для минимизации данной проблемы следует оговорить заранее объемы тестовых выгрузок из исторических систем.
4. Мэппинг данных
Мэппинг (data mapping) – в общем случае процесс сопоставления данных исторических систем и системы-приемника. То есть, исходных данных и данных для загрузки.
Этап мэппинга — наиболее трудоёмкий этап и может занимать более 50% всех работ по задаче миграции.
На данном этапе в полной мере задействуется вся рабочая группа проекта по миграции.
В процессе мэппинга данных необходимо выделить подэтапы мэппинга таблиц и мэппинга полей.
· Мэппинг таблиц, или мэппинг шаблонов – сопоставление таблиц исходных данных и шаблонов данных для загрузки. Соответствие может быть как 1:1, так и N:N. В результате данной работы составляется и поддерживается реестр мэппинга таблиц. Данный подэтап необходим для следующего подэтапа мэппинга полей и для отслеживания общего состояния дел по мэппингу.
Примерное содержание реестра мэппинга таблиц может быть следующее:
Группа шаблонов 1С | Наименование шаблона 1С | Наименование файла- источника | Правила формирования файла-источника | Ответственный | Статус | Примечание |
НСИ | Шаблон_ Номенклатура | Номенк латура.xls | • В системе N установить отбор | Иванов И.И. | в работе |
|

