Легко и быстро освоить основные этапы миграции больших данных – вот ключевые шаги, которые мы предлагаем вам изучить в этой статье. Как делать массовый перенос стран и городов легким и удобным процессом? Как можно улучшить процедуры обработки данных, делая их более простыми и эффективными?
В предыдущей статье мы разбирали основы обработки данных, а теперь приглашаем вас в увлекательный мир миграции объемных данных. Секреты, простые советы, ценные лайфхаки – все это вас ждет в нашем рассмотрении этапов миграции.
Наша предыдущая статья:
Где можно найти лучшие решения для создания Entity и стандартизации данных? Как построить эффективный mapping контактов и кейсов? Как использовать интенсивное взаимодействие с заказчиком для улучшения процесса? Приготовьтесь решить эти вопросы и многие другие, следуя нашим советам на каждом этапе миграции.
А узнать больше про импорт больших данных можно в нашем видео:
Подготовка платформы: Шаги и План Действий
На первом этапе миграции мы сосредоточились на удобной подготовке платформы, после того как тщательно определили цели и внимательно взаимодействовали с заказчиком. Этот основной этап включал в себя ценные шаги, которые помогли улучшить и ускорить переход к новой системе.
1. Создание Entity, Полей, Форм и Option Set
Мы быстро и эффективно решили первоочередную задачу по созданию необходимых entity, полей, форм и option set, учитывая требования предыдущей системы нашего заказчика. Наш секрет успешной работы заключался в том, как мы использовали удобные инструменты для детального конфигурирования платформы. Это позволило нам настроить систему так, чтобы она идеально соответствовала особенностям бизнес-процессов заказчика, предлагая лучшие решения для их потребностей.
2. Определение Порядка Миграции и Плана Действий
3. Завершение и Планы на Будущее
На данный момент два последних этапа – тестирование и коррекция, а также обновление новых записей – находятся в процессе завершения. Запланированная дата миграции клиента на новую систему ожидается с наступлением нового года. Этот план строго соответствует заранее утверждённым срокам и обеспечивает безупречный переход заказчика на обновлённую платформу.
Этапы Миграции
1. Создание Entity и Стандартизация данных
Мы столкнулись с важной задачей: как можно эффективно перенести информацию о городах и странах в процессе миграции объемных данных. Наш первый шаг был простой и удобный – использование исходного файла с перечнями стран и городов. Основной трудностью для нас стало не само перемещение данных, а проверка их достоверности и сопоставление с актуальной информацией, а также с контактными данными. Находим ценный секрет в том, чтобы улучшить этот процесс, решая, где и как применять автоматизированные инструменты для верификации данных.
На этапе стандартизации данных наша тестировщица провела значительную работу. Она провалидировала данные, уделяя внимание деталям файлов, которые мы получили: один с перечнем стран, другой – с городами. Она выявила и отметила необходимые шаги для дальнейшей обработки данных, например, внесение изменений в альтернативные названия городов или корректировку названий городов в исходном файле контактов, чтобы обеспечить их соответствие стандартам.
Одной из заметных проблем было то, что один и тот же город мог быть записан по-разному в различных контактах. Мы обнаружили альтернативные названия городов, но для обеспечения единообразия и стандартизации данных приняли решение скорректировать исходный файл. Этот подход позволил нам упростить процесс миграции и обеспечить более высокое качество переносимых данных.
2. Создание таблицы профессий
В процессе миграции данных в CRM, мы столкнулись с интересным вызовом: как построить таблицу профессий, улучшить её и сделать более удобной, учитывая, что данные в обеих колонках дублировались. Этот шаг оказался основным для нас. Мы использовали простой, но ценный секрет: где можно, устраняли дублирование, делая нашу таблицу лучшей и более эффективной.
Для начала мы взяли полный список контактов и выделили из него колонку с профессиями. Затем мы сосредоточились на уникальных значениях профессий, исключая повторения. Этот список уникальных профессий был импортирован в CRM систему.
Однако работа здесь не закончилась. После импорта, вручную была выполнена дополнительная работа по обновлению (доапдейт) этой таблицы. В результате, мы добавили примерно 20 новых профессий. Эти профессии не использовались активно, но поскольку они были частью CRM системы заказчика, мы посчитали важным их включить. Таким образом, создание таблицы профессий не только обеспечило нам необходимую структурированность данных, но и позволило адаптировать CRM под конкретные нужды заказчика, учитывая их уникальные требования к данным.
3. Mapping Контактов и Кейсов
В процессе миграции данных мы обнаружили один ценный этап: маппинг контактов и кейсов. Этот шаг оказался ключевым во всей нашей работе. На совещаниях мы решили, как построить маппинг, исходя из наших уникальных потребностей и требований к данным, чтобы сделать его максимально удобным и эффективным.
Использовался определенный source-файл для контактов. Мы работали таким образом: информация из каждой колонки этого файла переносилась в соответствующую строку. Этот процесс включал также адаптацию данных под формат нашей CRM-системы, куда предстояло осуществить миграцию.
Особое внимание уделялось валидации данных. Мы отмечали валидные данные зеленым цветом, что означало их обязательный перенос. Если данные оказывались корректными, весь блок выделялся зеленым и переходил к следующему этапу. Данные, которые не предполагалось переносить, помечались красным и перемещались в конец файла, чтобы не мешать процессу.
Случаи с неоднозначными или непонятными данными требовали отдельного внимания. Мы выделяли такие случаи оранжевым цветом, что указывало на необходимость дополнительной валидации. В этих случаях мы либо отмечали конкретные невалидные идентификаторы, либо, если таких было много, создавали отдельную вкладку с ссылкой для более удобного доступа к этой информации.
Подобная систематизация и внимание к деталям обеспечивали эффективность и точность в процессе миграции.
4. Работа с Заказчиком
На данном этапе мы, как команда, представили нашему заказчику собранную информацию. Однако он не проявил интерес к деталям и решил не углубляться в суть. В результате, мы приняли основное решение о переносе данных "как есть". Это означало, что нам предстояло провести полный анализ и очистку данных - процессы, которые заказчик решил игнорировать. С этого момента мы приступили к прямой работе с данными.
Особое внимание мы уделили этапу формирования источника данных и анализу их извлечения. В процессе обработки мы столкнулись с технической сложностью: данные, состоящие из одной колонки с разделителем, имели проблемы при обработке в Excel. В записях, содержащих пару символов "точка с запятой" и кавычек, Excel ошибочно распознавал новую колонку. Это потребовало от нас дополнительной работы по коррекции и правильному форматированию данных перед их внедрением в систему.
5. Валидация данных
В процессе миграции данных в CRM, мы обнаружили, как важно тщательно обрабатывать и проверять различные типы информации. Основной фокус был на колонке "notes", которая содержит текстовую информацию. Чтобы улучшить порядок и чистоту данных, мы решили переносить эту колонку в конце процесса. Этот простой, но ценный секрет позволил нам сначала склеить и перенести другие ключевые данные, например, "description", а затем аккуратно интегрировать "notes". Такой подход обеспечил удобный и эффективный перенос данных, сохраняя их структурированность и чистоту.
С учетом масштабируемости и правильности функционирования системы, некоторые поля были заменены на более подходящие типы. Например, поля для электронных почт, дат и других ключевых данных были приведены в соответствие с форматами, оптимальными для нашей CRM системы. Таким образом, обеспечивался перенос только валидных и актуальных данных заказчика.
Кроме того, для сохранения исторической ценности данных, некоторые поля были дублированы как текстовые типы данных. В эти поля мы перенесли первоначальные, неизмененные записи. Это позволило нам сохранить целостность и историю информации, что было особенно важно для нашего заказчика. Такой подход к валидации данных позволил нам обеспечить точность и надежность миграции данных в CRM систему.
6. Перенос данных
После того, как мы завершили этап мэппинга, где в наших таблицах остались лишь строки красного и зеленого цветов, мы приступили к важному процессу переноса данных. В начале, мы решили использовать подход, где переносились небольшие объемы данных, добавляя по десять колонок за один раз. Это позволяло нам наблюдать, как реагирует система на изменения. Для улучшения эффективности и поддержания чистоты нашей таблицы контактов после каждого этапа, мы использовали удобный и простой метод очистки. На представленном слайде видно, сколько раз мы проводили этот процесс очистки перед окончательным переносом данных.
Затем мы столкнулись с проблемой: некоторые колонки не отображались, особенно multi-choice колонки. Например, колонка диагнозов была невидима в процессе импорта. Мы пытались решить эту проблему разными способами, включая использование административного центра для импорта, но безуспешно.
В итоге, коллега посоветовал использовать старый интерфейс для импорта. Мы перешли в настройки, выбрали Data Management и Import, что позволило нам работать в старом интерфейсе. Здесь нужно было создать специальную таблицу в Excel через новое view, сохранить её и использовать для импорта данных. Создание кастомного view через Advanced Find было неудобно, поэтому мы использовали стандартное view для всех пользователей.
После успешного переноса данных в новую таблицу, мы заметили её преимущество: она подсвечивала ошибочные поля. Это позволило нам легко идентифицировать и исправить ошибки в данных.
Мы также включили обводку полей с ошибками для более наглядного отображения. Хотя и были некоторые задержки при скроллинге таблицы, обводка полей помогала быстро и эффективно проверять данные.
7. Дополнительные Валидации
В процессе миграции мы столкнулись с непростой задачей улучшения работы с огромными массивами данных. Основной проблемой была валидация полей multi-choice, в частности, таких важных, как диагнозы. Как делать этот процесс более эффективным? Решение оказалось удивительно простым и удобным. Мы решили использовать секрет разделения большой колонки на несколько меньших. Так, каждый пользователь получал несколько колонок, в каждой из которых был только один выбор. Этот подход значительно упростил процесс, сделав его более наглядным. Как можно ускорить работу ещё больше? Ценным решением стала фильтрация через шапку таблицы – лучший способ для ускорения миграции данных.
Что касается GUID, мы использовали специальную формулу для вставки. Создавались две дополнительные колонки, в одну из них вписывалась формула, использующая функцию ИНДЕКС для указания массива данных. Например, после импорта данных контактов нам требовалось вставить GUID в таблицу кейсов. Мы экспортировали данные контактов, получая файл с номерами контактов и соответствующими им GUID, сгенерированными в Dataverse. Формула включала указание массива данных и критерии для сопоставления, с последующим копированием результатов в отдельную колонку как значения, чтобы избежать замедления системы при работе с большим объемом данных. Это позволяло нам смело удалять временную колонку и продолжать работу с новыми данными и GUID.
Эти дополнительные шаги валидации позволили нам значительно повысить точность и надежность процесса миграции, минимизировав вероятность ошибок и пропусков в обрабатываемых данных.
8. Доапдейт и Тестирование Новых Записей
После нашего первого опыта переноса данных, мы столкнулись с проблемами. Например, система обнаружила ошибку в Option Set, где данные не соответствовали установленным значениям. Мы решили продолжить обновление, несмотря на эту ошибку, чтобы понять, как она повлияет на процесс импорта. В итоге, мы нашли 26 записей с ошибками валидации из-за неправильного маппинга Option Set. В случаях, когда подобных ошибок много, система предлагает сделать мануальный маппинг через всплывающее окно. Этот опыт оказался ценным для нас, поскольку показал, как важно тщательно проверять данные перед переносом и как можно улучшить процесс, используя инструменты системы.
Одним из примеров сложности было маппинг с диагнозами, где, несмотря на корректные поля для маппинга, происходили ошибки в переносе данных. Также мы столкнулись с ограничением максимального размера файла для импорта в 30 мегабайт. Это потребовало разбиения таблицы кейсов, содержащей 330 000+ записей, на несколько файлов.
В процессе тестирования выявились различные баги. Например, колонка с количеством детей требовала доапдейта для исправления несоответствия между цифровыми значениями и требованием системы к формату данных. Аналогичная ситуация возникла с Intake number у контактов, где начальный ноль терялся из-за формата поля. Это требовало пересоздания поля и последующего доапдейта через фильтрацию данных.
Также столкнулись с проблемой непереноса части кейсов из-за ограничений CRM заказчика. Пришлось проводить выгрузку данных по календарным годам, но из-за ошибок в процессе, некоторые записи потерялись и требовали повторной выгрузки и валидации.
В "notes" контактов и кейсов возникла проблема с изменением перевода строки на /A, что также потребовало доапдейта. Из-за ограничения флоу в 100 000 записей, пришлось использовать фильтрацию по дате изменения для обработки всего объема данных.
После валидации и изменений в изначально замеппленных полях, потребовалось привести в соответствие все формы, а также добавить исторические поля по требованию заказчика.
Однако, на момент завершения проекта оставалась нерешенная проблема с временем кейса. Изменение формата времени с AM/PM на 24-часовой приводило к неправильной интерпретации времени при импорте. В данный момент ожидаем от заказчика дополнительные данные для коррекции этой ошибки.
9. Перенос Новых Записей
После того как мы успешно завершили основные этапы миграции данных, перед нами встала новая задача: как перенести недавно созданные и изменённые записи. За два месяца нашей работы, с момента первоначального импорта, мы столкнулись с необходимостью обработать значительное количество данных. Речь идёт о 2000 изменённых контактах и приблизительно 20 000 новых кейсов. Наша цель - найти лучший и удобный способ решить эту задачу, используя самые ценные и эффективные методы.
Это представляло собой немалый вызов, так как валидация и перенос этих записей требовались сделать в кратчайшие сроки. Важно было обеспечить, чтобы к началу следующей рабочей недели, заказчик мог беспрепятственно перейти на использование обновленной CRM-системы. Таким образом, мы планировали провести эту операцию в выходные, чтобы минимизировать потенциальные проблемы и избежать необходимости повторного переноса данных в будущем.
Для решения этой задачи мы разработали стратегию, которая включала в себя следующие ключевые шаги:
Тщательная Предварительная Подготовка: Прежде всего, мы уделили особое внимание подготовке данных, убедившись, что все изменения и новые записи были должным образом зафиксированы и готовы к переносу.
Интенсивная Валидация: Учитывая критическое значение точности данных, мы провели дополнительные этапы валидации, чтобы гарантировать, что все новые и измененные записи соответствуют установленным стандартам и правилам системы.
Эффективный Трансфер: После валидации мы оперативно осуществили перенос данных, обеспечивая их точность и целостность.
Тестирование и Подтверждение Стороны Заказчика: После переноса данных, мы предоставили заказчику возможность провести тестирование и подтвердить правильность переноса, чтобы убедиться в их полной удовлетворенности перед переводом системы в режим live.
Этот этап был критически важен для обеспечения бесперебойного перехода к новой системе и минимизации возможных проблем при ее использовании.
10. Перевод в Live
Мы считаем завершающий этап перехода нашей системы в режим live ценным и удобным. Это не просто переход к использованию новой CRM системы, но и кульминация всех наших предшествующих усилий. Наш секрет эффективности заключается в том, как мы организуем этот процесс. Мы улучшаем его, используя серию ключевых действий, чтобы обеспечить плавный и лучший переход. Это позволяет нам решить основные задачи и оптимизировать работу системы, где можно добиться наилучших результатов.
Финальная Проверка и Утверждение: Перед переводом в live решающее значение имеет финальная проверка всех процессов и данных. Важно убедиться, что все данные корректно мигрировали и система полностью готова к эксплуатации. Утверждение от заказчика, как правило, необходимо для подтверждения готовности системы к запуску.
Планирование Перехода: Время перевода в live должно быть тщательно спланировано. Желательно выбирать время с наименьшей загруженностью бизнес-процессов, чтобы минимизировать возможные неудобства для пользователей и клиентов.
Обучение Пользователей: Обучение конечных пользователей – критически важный аспект. Оно должно включать инструктаж по новым функциям и изменениям в интерфейсе, чтобы пользователи могли эффективно работать с обновленной системой.
Мониторинг и Поддержка После Запуска: Немедленно после перевода системы в live необходимо организовать мониторинг работы системы для быстрого обнаружения и устранения любых возникающих проблем. Оказание поддержки пользователям в первые дни после запуска также играет ключевую роль в обеспечении плавного перехода и минимизации сбоев в работе.
Сбор Обратной Связи: Важно собирать обратную связь от пользователей и клиентов по поводу работы новой системы. Это поможет выявить неочевидные недостатки или потребности в дополнительных улучшениях.
Финальная Оценка Проекта: После успешного перевода в live целесообразно провести финальную оценку проекта, включая анализ достигнутых результатов, эффективность реализации и уроки, полученные в ходе проекта. Это позволит совершенствовать подходы и стратегии для будущих проектов миграции данных.
Заключение
В заключении нашей работы мы пришли к нескольким важным выводам, которые могут быть полезными при подобных проектах. Одним из основных принципов, который мы выявили, является необходимость максимальной валидации данных. Мы убедились, что лучше потратить дополнительное время на просмотр данных в 10 раз больше, чем сталкиваться с проблемами и решать их в процессе каждого трансфера, начиная все заново. Этот простой, но важный совет помогает избежать множества проблем.
Еще одним ключевым аспектом является необходимость проведения максимально полного трансфера за один прогон. Мы рекомендуем анализировать максимальное количество колонок, чтобы они полностью попадали в процесс трансфера. Оставлять какие-то колонки на флоу требует больше времени, чем провести их валидацию и импорт в одном проходе.
Важно отметить, что новый интерфейс админ-центра, хоть и пришелся по душе, не оказался панацеей. Заказчик, как и ожидалось, не проявил интереса к разбору вопросов в удобочитаемом формате, несмотря на все наши усилия. Это подчеркивает необходимость постоянного улучшения взаимопонимания с заказчиком.
Наш опыт показал, что сложные процессы валидации требуют коллективного участия и обмена мнениями. Мы активно применяли мозговой штурм, обсуждая каждое поле и находя оптимальное решение. Важность командной работы в таких ситуациях не может быть переоценена.
И, наконец, отметим, что сам процесс импорта данных осуществлялся ночью, разбиваясь на несколько партий. Это дополнительное удобство, которое позволяло оптимизировать время и эффективность процесса. Таким образом, наш опыт подчеркивает не только важность тщательной подготовки данных, но и грамотного управления процессом и взаимодействия с заказчиком для достижения наилучших результатов.
Рекомендации
Планирование и анализ: Перед началом миграции необходимо провести тщательное планирование и анализ текущей системы данных. Оцените объем информации, выделите ключевые параметры, и определите стратегию миграции.
Прозрачность и вовлеченность: Обеспечьте прозрачность и вовлеченность заказчика на каждом этапе миграции. Регулярные обновления, консультации и демонстрации помогут предотвратить недопонимания и улучшат качество конечного результата.
Тестирование в реальном времени: Внедряйте тестирование в реальном времени в каждом этапе. Это позволит оперативно выявлять и устранять возможные проблемы, минимизируя риски и сбои в процессе миграции.
Обучение персонала: Предоставьте достаточное обучение персоналу, который будет работать с новой системой. Это повысит эффективность использования новых инструментов и снизит вероятность ошибок.
Резервное копирование и восстановление: Разработайте стратегию резервного копирования и восстановления данных. Наличие надежного механизма для восстановления информации в случае нештатных ситуаций обеспечит безопасность процесса миграции.
Контроль качества и отслеживание: Установите систему контроля качества и механизм отслеживания результатов миграции. Это позволит оперативно реагировать на изменения и обеспечивать стабильность работы системы.
Регулярные оценки и обратная связь: Проводите регулярные оценки процесса миграции и собирайте обратную связь от пользователей. Это поможет выявить потенциальные улучшения и дополнения к системе в реальном времени.
Максимальная валидация данных: Опыт миграции подчеркивает, что тщательная валидация данных играет критическую роль в успешной миграции. Рекомендуется уделить дополнительное время на просмотр данных перед трансфером, чтобы избежать потенциальных проблем в процессе.
Полный трансфер за один прогон: Рекомендуем проводить максимально полный трансфер данных за один прогон. Анализ максимального числа колонок включает их полностью в процесс трансфера, что уменьшает затраты времени и обеспечивает более эффективный процесс.
Постоянное улучшение взаимопонимания с заказчиком: Опыт подчеркивает важность постоянного улучшения взаимопонимания с заказчиком. Несмотря на новый интерфейс админ-центра, активное взаимодействие и поиск оптимальных решений для вопросов заказчика остаются ключевыми аспектами успешной миграции.
Коллективное участие и обмен мнениями: Сложные процессы валидации требуют коллективного участия и обмена мнениями. Рекомендуется активно применять мозговой штурм, обсуждать каждое поле данных и находить оптимальные решения в команде.
Оптимизация времени и эффективность: Разбиение процесса импорта данных на несколько партий, осуществляемое ночью, представляет собой дополнительное удобство. Рекомендуется оптимизировать время и эффективность процесса, принимая во внимание возможность разделения миграции на этапы.
Эти рекомендации основаны на нашем опыте и направлены на обеспечение более гладкой и успешной миграции данных. Внедрение данных рекомендаций в практику может существенно улучшить процесс перехода к новой системе и снизить риски возможных проблем.
Comments