Федор Хилькевич Александр Бусыгин - sas...
TRANSCRIPT
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI Framework
Федор Хилькевич
Александр Бусыгин
Практический опыт и решения SAS консалтинг
Россия для задач интеграции и обработки
данных
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. ЗАДАЧА
ДОПУСТИМ ВЫ КУПИЛИ ПЕРВУЮ МАШИНУ
Вы прошли курсы вождения, сдали на права
Вы уже выучили все кнопки, рычаги и
педали
Машина стоит у Вас под окном
Автомобиль исправен и заправлен
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. ЗАДАЧА
…И У ВАС ВОЗНИКАЮТ ВОПРОСЫ:
Какой маршрут выбрать от дома до
работы?
Что-то звенит/трещит/гремит – так и
должно быть?
Я думал что умею водить, но меня
постоянно подрезают и я теряюсь
На какой заправке заправлять? Какой
бензин заливать?
Что еще мне нужно купить? Трос?
Бейсбольную биту?
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. ЗАДАЧА
ДОПУСТИМ, ВЫ ОПЫТНЫЙ ВОДИТЕЛЬ
У вас уже было несколько машин, ваш стаж
больше 10 лет без аварий
Вы знаете основные неисправности
Вы знаете Москву и перестраиваетесь через
пять полос отвечая на комментарий в
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. ЗАДАЧА
НО ВСЕ РАВНО, ВОПРОСЫ ВОЗНИКАЮТ
Как мне сэкономить время и деньги на
регламентном ТО?
Как снизить расход топлива?
Как запомнить все правила и не попадаться
ДПС?
Как убедится, что не обманывают в
сервисе?
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. ЗАДАЧА
ВСЕГДА БУДУТ ВОПРОСЫ:
• … правильно?
• … эффективней?
• … выгодней?
• … быстрее?КАК?
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. ЗАДАЧА
И ТАК, У ВАС ЕСТЬ SAS DATA MANAGEMENT SERVER И….
Вы не работали с SAS
• Как сделать загрузку детального слоя? Нужен ли Stage?
• Как сделать мониторинг загрузки?
• Как обеспечить параллельность потоков загрузки?
• Где делать проверку качества данных?
• Как структурировать и облегчить разработку?
Вы давно работаете с SAS
• Оптимален ли мой процесс разработки, все ли ему следуют?
• Нужны общие правила создания ETL для всех подрядчиков
• Как минимизировать ошибки при обновлении PROD?
• Как снизить трудоемкость поддержки?
• Как снизить трудоемкость внесения изменений?
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. ЗАДАЧА
ВСЕГДА БУДУТ ВОПРОСЫ:
• … правильно?
• … эффективней?
• … выгодней?
• … быстрее?КАК?
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK – КНИГА РЕЦЕПТОВ
Данные Процесс
Инструмент Исполнители
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. ЧТО ЭТО?
Методология
• Подход к построению ETL и ХД
• Методология внедрения
• Модель данных
Технология
• Регламенты
• Среда разработки
• Инструкции для разработчиков
• Единая архитектура
Инструментарий
• Макросы
• Трансформации DIS
• Справочники
• Стандарты разработки
• Метаданные
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ТИПОВЫЕ ETL ЗАДАЧИ
ЗАДАЧА 1. СОЗДАТЬ ЕДИНУЮ СРЕДУ РАЗРАБОТКИ НА БАЗЕ SAS DI
Задача
•Нужна общая среда для разработки ETL и единые правила для всех исполнителей
Решение
•Готовая структура метаданных
•Готовая структура проекта
•Стандарты именования и кодирования
•Шаблоны процессов
Эффект
•Снижение трудозатрат за счет внедрении готовой единой среды
•Минимизации ошибок
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ТИПОВЫЕ ETL ЗАДАЧИ
ЗАДАЧА 2. КОНТРОЛЬ ФИЗИЧЕСКОЙ И ЛОГИЧЕСКОЙ ЦЕЛОСТНОСТИ ДАННЫХ
Задача
•ETL-процессы должны содержать проверки и обработки ошибок связанных с целостностью данных
Решение
•Готовые трансформации, справочники и методология контроля
Эффект
•Проверки целостности внедряются с начала проекта
•Минимизация ошибок, экономия трудозатрат на внедрении
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ТИПОВЫЕ ETL ЗАДАЧИ
ЗАДАЧА 3. УПРАВЛЯТЬ РЕГЛАМЕНТОМ И СТАТУСОМ ЗАГРУЗКИ
Задача
• Создать систему флагов и семафоров для мониторинга ошибок и статусов шагов ETL
• Анализ состояния источников
Решение
• Готовые трансформации, макросы и справочники
• Руководство по применению для разработчиков
Эффект
• Минимизация издержек на разработку функционала
• Минимизация ошибок и нештатных ситуаций при загрузке
• Снижение трудоемкости поддержки ETL
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ТИПОВЫЕ ETL ЗАДАЧИ
ЗАДАЧА 4. АСИНХРОННОСТЬ И ПАРАЛЛЕЛЬНОСТЬ ВЫПОЛНЕНИЯ ПРОЦЕССОВ
Задача
•Построить систему загрузки состоящую из независимых другу от друга шагов
•Обеспечить возможность перезапуска любого шага при регламентной загрузке
Решение
•Готовая методология
•Встроенная поддержка асинхронности в трансформации, макросы, шаблоны и т.п.
Эффект
•Оптимальная организация ETL
•Минимизация затрат на администрирование
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ТИПОВЫЕ ETL ЗАДАЧИ
ЗАДАЧА 5. ОБЕСПЕЧИТЬ ПАРАЛЛЕЛЬНОСТЬ РЕЛИЗОВ
Задача
•Автоматизировать перенос релизов на PROD при параллельной разработке несколькими исполнителями
Решение
•Готовая методология
•Набор трансформаций и правил
Эффект
•Сокращение времени переноса в PROD
•Минимизация издержек на поддержку параллельной разработки
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ТИПОВЫЕ ETL ЗАДАЧИ
ЗАДАЧА 6. ЖУРНАЛИРОВАНИЕ, ИСТОРИЧНОСТЬ, ВЕРСИОННОСТЬ
Задача
•Ведение журналов загрузки данных
•Обеспечение историчности данных
•Обеспечить версионирование на уровне данных
Решение
•Набор трансформаций, макросов и шаблонов процессов
•Регламент применения для разработчиков
Эффект
•Сокращение трудозатрат внедрения функционала
•Минимизация трудозатрат на модификацию и администрирование
•Минимизация риска человеческого фактора при разработке
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. ЭФФЕКТ
Экономия на типовых задачах при
внедрении
• Время
• Деньги
Экономия на построении среды
разработки
• Время
• Деньги
Наличие готового функционала /
инструментария
• Время
• Деньги
• Качество данных
Минимизация ошибок при разработке и
поддержке
• Время
• Деньги
• Качество данных
Экономия на поддержке системы
• Время
• Деньги
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. НУЖНО ЛИ МНЕ?
КОГДА ЦЕЛЕСООБРАЗНО ВНЕДРЯТЬ SAS DI FRAMEWORK
• Подготовка данных – существенная по трудоемкости часть проекта
• Подсистема ETL будет развиваться и после окончания внедрения решения
• Несколько подрядчиков в области подготовки данных
• Есть несколько источников /потребителей данных, которые могут
изменятся со временем
• Планируется реализовывать различные задачи на единой платформе
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. КАК ПОЛУЧИТЬ?
SAS DI FRAMEWORK – ПРОЕКТНОЕ РЕШЕНИЕ
• В рамках внедрения решения SAS, как часть проекта
• Отдельный проект по внедрению SAS DI Framework
• Поддержка и внедрение – SAS Consulting
• Сопровождение:
• Cамостоятельно
• Premium Support от SAS
• Партнеры SAS
Это дорого?
• Внедрение DI Framework не увеличивает трудоемкость проекта
• И экономит 20-30% трудозатрат после внедрения основного
функционала
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
• Load Sharing Facility (Platform LSF)
• CRON
• Windows Task Manager
• СУБД:
• Oracle
• DB2
• MS SQL*
• SAS Grid Manager
• to be continued…
АРХИТЕКТУРА
ПРОТЕСТИРОВАНО С:
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
SAS DI FRAMEWORK. КЛИЕНТЫ
Коммерческий банк
(Top-10)
Задача: Автоматизация расчета
взвешенных по риску активов
• Данные для решения
подготовливаются с помощью
SAS DI Framework
• СУБД: DB2
… следующие 15 мин
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ЧТО БЫЛО ДО ВНЕДРЕНИЯ DWH ?
зоопарк 2 хранилища данных (одно под
клиентов ФЛ, второе под ЮЛ)
Боже, помоги сделать отчет данные в
хранилищах хранятся в техническом виде (нет
модели). Сложно строить отчеты
информация в хранилищах почти правильная
информация в хранилищах частично
пересекается, дублируется
отчет по дате первой проводки формируетcя
всего 23 часа проблемы с производительностью
Sources
…
DWH’es Reporting
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ХРОНОЛОГИЯ ПРОЕКТА ПО
ВНЕДРЕНИЮ DWH В UCB
Что делали ?
Собраны бизнес
требования на
пилот DWH
Внедрен пилот DWH. По
результатам внедрения SAS DI
Framework оптимизирован
ETL DWH мигрирован на платформу
SAS GRID.
SAS DI Framework оптимизирован под
SAS GRID
DWH интегрирован с новой АБС и
8 новыми продуктовыми
системами.
Разработаны
функциональные
спецификации и
требования к SAS DI
Framework
Завершена загрузка основных
бизнес-сущностей в модель DWH.
Разработан ряд витрин для CRM,
AML, отчетности
В рамках программы по замене АБС,
DWH дорабатывается параллельно
в рамках 10 проектов
12.2011
06.2012
09.2012
10.2013
09.2014
11.2014
05.2016
Кто делал ?
Команда DWH
Банка,
подрядчик
Команда DWH Банка, SAS Inst и 3 подрядчика Команда DWH Банка, SAS Inst
Команда
DWH Банка,
SAS Inst
Команда DWH Банка,
2 подрядчика
Команда DWH Банка
Команда SAS Institute
Другие подрядчики
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ЧТО ТАКОЕ SAS DI FRAMEWORK В UCB ?
архитектурные принципы и методология
развития DWH
стандарты развития моделей данных DWH
и ETL
библиотека типовых ETL преобразований
методология переноса изменений
между средами
набор программных компонент по
управлению загрузкой DWH
набор программных компонент для
реализации ETL процедур
и управления метаданными
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ТЕКУЩАЯ АРХИТЕКТУРА DWH В UCB
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
КАК SAS DI FRAMEWORK
ПОМОГАЕТ РАЗВИВАТЬ DWH
КАЧЕСТВЕННО?
Формализация бизнес
требований
Арх. ревьюбизнес-
требований, доработка
модели DDS и/или витрин
Системный анализ, разработка ТЗ
Разработка ETL процедур
ТестированиеУстановка в production
Эксплуатация
- набор арх. правил на модель данных
- методология развития
- шаблон ТЗ, mapping
- методология развития
- стандарт разработки ETL
- библиотека ETL преобразований
- набор компонент по управлению загрузкой
- стандарт разработки ETL
- шаблон ТЗ, mapping
- методология переноса между средами
- набор компонент по управлению загрузкой
- типовые ETL процедуры
- набор компонент по управлению загрузкой
Что делаем ?
Кто делает ?
Как делает ?
Архитектор DWH Аналитик DWH Разработчик DWH Тестировщик DWH Админ. DWH Админ. DWHБизнес аналитик
SAS DI Framework
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
КАК ОРГАНИЗОВАНЫ РАБОТЫ ?
Добавление нового атрибута в
DWH занимает ~0.25 m.D. И не
более 3-ех дней до выхода в prod
с момента получения бизнес-
требований*
В настоящий момент DWH
параллельно дорабатывается 10-
ю проектами
SAS DI Framework поддержит
любую организацию работ
* При организации разработки по agile
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
ПОЗВОЛЯЕТ ДОРАБАТЫВАТЬ DWH ПАРАЛЛЕЛЬНО
РАЗЛИЧНЫМИ КОМАНДАМИ БЕЗ ПОТЕРИ В КАЧЕСТВЕ
ПОЗВОЛЯЕТ ТИПИЗИРОВАТЬ ЗАДАЧИ НА ЗАГРУЗКУ
НОВОЙ ИНФОРМАЦИИ В DWH ЗА СЧЕТ МОДУЛЬНОСТИ
ETL И БИБЛИОТЕКИ ТИПОВЫХ ТРАНСФОРМАЦИЙ
ЗА СЧЕТ СТАНДАРТИЗАЦИИ РАЗРАБОТКИ
ЗНАЧИТЕЛЬНО СНИЖАЕТ ТРУДОЗАТРАТЫ НА
ДОРАБОТКУ И ТЕСТИРОВАНИЕ
ЗА СЧЕТ ПРИНЦИПОВ АСИНХРОННОЙ ЗАГРУЗКИ
МОДЕЛИ DWH ОБЕСПЕЧИВАЕТСЯ РАННЕЕ ВРЕМЯ
ГОТОВНОСТИ ДАННЫХ «ЗА ВЧЕРА» В РАЗРЕЗЕ
СУЩНОСТЕЙ И ИСТОЧНИКОВ
ЗА СЧЕТ СТАНДАРТИЗАЦИИ РАЗРАБОТКИ
ЗНАЧИТЕЛЬНО СНИЖАЕТ ТРУДОЗАТРАТЫ НА
ПОДДЕРЖКУ DWH
КОРОТКО О ГЛАВНОМ…
НИЧЕГО НЕ ГОВОРИТ О НЕОБХОДИМОСТИ ВЕСТИ
ГЛОССАРИЙ DWH И КАК ЭТО ПРАВИЛЬНО
ДЕЛАТЬ
НАКЛАДЫВАЕТ ТЕХНИЧЕСКИЕ ОГРАНИЧЕНИЯ В
ОПТИМИЗАЦИИ ETL
НЕ СОДЕРЖИТ ТИПОВЫХ МЕТРИК МОНИТОРИНГА
ПРОЦЕССОВ ЗАГРУЗКИ DWH
ТРЕБУЕТ КВАЛИФИКАЦИИ IT КОМАНДЫ DWH
«СРЕДНЯЯ+»
SAS DI FRAMEWORK
Copyr i g ht © 2016, SAS Ins t i tu t e Inc . A l l r ights reser ve d .
НЕМНОГО ЦИФР
ЗАГРУЗКА DWH РЕАЛИЗОВАНА ~5000 ДЖОБАМИ, КОТОРЫЕ СОГЛАСНО SAS DI
FRAMEWORK ТИПИЗИРОВАНЫ ПО ~10 КАТЕГОРИЯМ
ОСНОВНЫЕ БИЗНЕС СУЩНОСТИ DWH “ЗА ВЧЕРА” ЗАГРУЖАЮТСЯ В ДЕТАЛЬНЫЙ СЛОЙ
К ~05-30, ОСНОВНЫЕ ВИТРИНЫ ФОРМИРУЮТСЯ К ~06-30
ТЕКУЩИЙ ОБЪЕМ ДАННЫХ DWH ~10 ТБ, ХРАНИЛИЩЕ ДОСТАТОЧНО КОМПАКТНОЕ ЗА
СЧЕТ ПРИНЦИПА ИНТЕРВАЛЬНОГО ХРАНЕНИЯ ДАННЫХ В МОДЕЛИ
В РАМКАХ ОДНОГО ЦИКЛА ЗАГРУЗКИ DWH ОБРАБАТЫВАЕТСЯ ~300 GB ВХОДНЫХ
ДАННЫХ, ПАРАЛЛЕЛЬНО ГРУЗИТСЯ ДО 20 ИСТОЧНИКОВ ДАННЫХ
В НАСТОЯЩИЙ МОМЕНТ У DWH ~45 ОСНОВНЫХ ИСТОЧНИКОВ ДАННЫХ
ДЕТАЛЬНЫЙ СЛОЙ DWH В НАСТОЯЩИЙ МОМЕНТ СОСТОИТ ИЗ ~250 ТАБЛИЦ
ЗА ВСЕ ВРЕМЯ РАЗВИТИЯ, DWH ДОРАБАТЫВАЛО ~150 ЧЕЛОВЕК
НА 2-ОЙ ЛИНИИ, DWH ПОДДЕРЖИВАЕТ 1 ЧЕЛОВЕК. ИНОГДА ОН СПИТ
Спасибо
SAS® FORUM RUSSIA 2016