ETL (Extract, Transform, Load)

Начиная с версии 4.9 в Staffcop Enterprise реализован новый механизм загрузки данных(ETL), который позволяет существенно снизить нагрузку на процессор и дисковую подсистему, а также ускорить работу системы.

Примечание

С версии 4.9 работает из коробки, то есть включен по умолчанию при новой установке. Если вы обновили систему с версии 4.8 и ниже, то модуль будет выключен.

Что такое ETL (извлечение, преобразование, загрузка)?

ETL подразумевают миграцию данных из одного приложения/базы данных в аналитическую базу данных. ETL выполняет три шага для передачи данных из базы данных A в базу данных B. Это:

  • Извлечение (Extract)

  • Преобразование (Transform)

  • Загрузка (Load)

Извлечение

Функция извлечения включает в себя процесс чтения данных в базе данных. Этот этап также включает сбор и извлечение данных. В зависимости от типа системы извлечение может происходить несколькими различными способами. Оно может заключаться в извлечении данных в виде плоского файла или просто получения его из API. Это зависит от риска взаимодействия с системой приложений, требований к срокам и ряда других технических ограничений.

Преобразование

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

Загрузка

Функция загрузки выполняет процесс записи преобразованных данных в новое приложение /базу данных. Это может занять несколько шагов, так как каждый этап может увеличивать данные по-разному. Стандартная настройка - иметь сырые, промежуточные и производственные базы данных. Существуют и другие конфигурации в зависимости от потребностей проекта.

Как включить ETL после обновления?

Вначале вам необходимо посмотреть системные требования для нового модуля. Новый модуль потребляет меньше процессора, но требуется больше оперативной памяти.

Внимание

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

Если ваш сервер соответствует требованиям, то запускаете команду миграции:

screen -S etl
staffcop migrate etl

Скрипт спросит про создание бэкапа. Обязательно сделайте его, иначе есть возможность потерять данные.

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

Если в ходе миграции будут обнаружены ошибки, то система напишет, что необходимо восстановить БД.