Построение промышленной DWH без вендского ПО Миф или...

24
Построение промышленной DWH без вендского ПО- Миф или реальность? Орлов Олег- Главный Архитектор Компания Неофлекс

Transcript of Построение промышленной DWH без вендского ПО Миф или...

Page 1: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

Построение промышленной DWH без

вендского ПО- Миф или реальность?

Орлов Олег- Главный

Архитектор

Компания Неофлекс

Page 2: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

КЛАССИЧЕСКОЕ ХРАНИЛИЩЕ ДАННЫХ

IT s

yste

ms

DWH

Sta

ge

DD

S

DM

A

Rep

ort

s, D

as

hb

oa

rds

(B

I)

ETL ETL/SQL ETL/SQL

2-4 часа

2-8 часов

T+1, T+2

Page 3: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

СОВРЕМЕННАЯ АРХИТЕКТУРА

3

Source systems

Data

Marts

Self-service ETL

Regular ETL/DQ Active Archive

1-2 days to change by Business users

1-2 weeks to change by IT

Spark

Agile BI

Rep

ort

s, D

as

hb

oa

rds

(B

I)

Analytical Sandbox

Spark

RT Processing Streaming

Page 4: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

ТЕХНОЛОГИЧЕСКИЙ СТЕК

4

Agile BI & Machine Learning

Data processing

Resource Mgmt. & Store

Datagram

Использование промышленных BigData

платформ

• Hortonworks HDP, Cloudera CDH

Apache Hadoop

• YARN – управление распределенными

вычислениями

• HDFS – распределенное хранение

большого объема разнородных данных

Batch & Stream Data Processing

• Neoflex Datagram – Rapid Application

Development Platfrm

• Apache Spark & Spark Streaming

• Apache Kafka – message backbone

• Akka Streams – stream processing

Agile BI & Machine Learning

• Zeppelin – agile BI & Data scientists notebook

• KYLO – Self-service ETL

• Spark Mlib – machine learning lib

Analytical DB

• Impala/Hive/Druid

Key-value DB

• Kudu/Hbase/Cassandra

In-memory Platform

• Ignite/SnappyData

Page 5: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

5

ПРОЕКТЫ

27M Операций ежедневно

80+ Форм отчетности

1H Технологическое окно после

закрытия дня

Цель проекта:

Построение витрин с информацией

по клиентам и операциям банка и

формирование обязательной

отчетности

Клиент:

Банк ТОP-10

Page 6: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

6

АРХИТЕКТУРНЫЙ ОБЗОР

Hadoop Cluster

ODS Data

Marts

Data

Ma

rts

Rep

ort

s, D

as

hb

oa

rds

Neoflex

Datagram

Data lake

Data marts

Active achieve

Neoflex

Datagram

Bank IT

systems

Особенности

• Комбинация

подходов

• Высокая скорость

обработки

информации

• Экономия средств за

счет использования

BIG DATA

Page 7: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

7

СТОИМОСТЬ РЕШЕНИЯ

56 760

25 800 25 800

4 080

9 780 11 100

86 486

65 604

38 808

10 886

3 662

18 782

-

20 000

40 000

60 000

80 000

100 000

120 000

140 000

160 000

CLASSIC BIG DATA OWN ORACLE BDA

Software Hardware Support SW Support HW

Стоимость SW и HW Oracle – по данным Oracle

Иное – данные открытых источников

Расчет TCO по модели НКЦ

Все цены без НДС

Page 8: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

8

ПРОЕКТЫ

Цель проекта:

Загрузка данных в DWH для

формирования обязательной

отчетности

~80 Интерфейсных таблиц

27 Форм обязательной отчетности

Результаты:

Page 9: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

9

ПРИМЕНЕНИЕ КАК ETL

Data

Ma

rts

Rep

ort

s, D

as

hb

oa

rds

Neoflex

Datagram

Bank IT

systems

Особенности

• Сочетание классических технологий и

BIG DATA

• Высокая скорость обработки

информации

• Экономия за счет замены ETL

зарубежного производства (IBM

DataStage) In

terf

ac

e T

ab

les

Bank IT systems

Page 10: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

ПРИМЕРЫ ПРОЕКТОВ: СИТУАЦИОННЫЙ ЦЕНТР

ЗАДАЧИ

On-line-мониторинг и

детектирование

подозрительных инцидентов

Передача инцидентов в

ситуационный центр

«Машинное» выявление

закономерностей

Аналитическая отчетность

10

Крупный агрохолдинг:

65 000 га посевных

площадей

~ 600 единиц уборочной

техники

~ 1000 единиц машин для

транспортировки

~ 300 сообщений в

секунду

КЛИЕНТ

Page 11: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

СИТУАЦИОННЫЙ ЦЕНТР

11

Message Backbone Geolocation Data

Anomaly detected

Задача: Выявление аномалий на потоке

данных

• Геолокация

• Данные с пунктов взвешивания

BigData & OnLine Analytics

• Применение методов Machine Learning на

потоке данных

− K-Means, ARIMA…

• Высокая масштабируемость

− N x 100 000 транзакция в секунду

• Немедленная реакция

− Оповещение ответсвенных

− Разбор ситуации ответственным

сотрудником

Analytical Sandbox

• Разработка моделей выявления

аномалий

• Экспорт модели в PMML формате для

онлайн обработки событий

Analytical Sandbox

PMML Model Event Stream

Page 12: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

12

ПРОЕКТ: ЦЕНТР УПРАВЛЕНИЯ ПЕРЕВОЗКАМИ

Крупная логистическая

компания:

Зона обслуживания - 100 000

городов

120 филиалов

1,5 млн клиентов ежегодно

Задачи:

Снижение нагрузки складов

Снижение времени доставки

грузов

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

объемов груза

Планирования ПРР

рейсов

Контроль статусов

рейсов

Управление ПРР

рейсов

Учет ПРР рейсов

Планирование и учет

графика работы

персонала

Учет и анализ выработки

и производительности

Остатки, рейсы, oбъем

груза, маршрутизация

Логист Склад План ПРР

Статус ППР

Ресурсы

склада

Page 13: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

АРХИТЕКТУРА

ERP

Geo данные IB

M

In

teg

rati

on

Bu

s

TCP/IP

MQ

Power BI, Zeppelin

JDBC

IBM BPM

RESTFul

Dashboards Работа с инцидентами

Логист

Kibana, Zabbix

Консоль администратора

13

AK

KA

Ap

ac

he

Ka

fka

Spark SnappyData

HDFS

PostgreSQL

Page 14: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

14

ПРОЕКТЫ: ОЦЕНКА КРЕДИТНОГО РИСКА

Цель проекта:

Построение аналитической “песочницы”

для оценки заемщиков и отчета по

факторам кредитного риска

27МЛН

Счетов

Клиент Банк ТОР-5

Page 15: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

BIGDATA ANALYTICS & SELF-SERVICE BI

15

DDS

Bank IT systems DWH

Analytical Sandbox

Active Archive Agile BI

Self-service ETL

Особенности

• Требуются данные из систем Банка

• И из внешних систем партнеров (БКИ,

информация о банкротствах, налоговая

отчетность клиентов)

• Минимальная зависимость от IT

department

Self-service ETL для построения витрин

Notebook Apache Zeppelin - Self-service BI

• Machine Learning для построения

моделей оценки заемщиков

Построение Datamarts для отчетов

Spago BI – средство построения отчётов

Partners

interne

t

Data Marts

Page 16: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

16

ПРОБЛЕМЫ ИСПОЛЬЗОВАНИЯ OPEN STACK

Большое количество разнородных технологий

Неоднородный , сложный в сопровождении код

Низкая скорость разработки

Ошибки стыковки технологий

Высокая стоимость и дефицит

квалифицированных специалистов на рынке

Page 17: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

NEOFLEX DATAGRAM

Разработка

• Описание внешних источников

• Дизайн трансформаций и

последовательностей заданий

• Генерация и компиляция Scala/Spark кода

Развертывание приложений в среде

исполнения

Планирование запуска приложений

Мониторинг и управление

17

Neoflex Datagram

Фреймворк разработки приложений для (потоковой)

обработки больших данных

Page 18: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

ОБЗОР АРХИТЕКТУРЫ

18

Metadata Server

Run,monitor

Deploy, Schedule, monitor

Read,write

PostgreSQL

Runtime Environment

Livy

Oozie

HDFS

Spark/

Yarn

File System

execute

execute

Readwrite

persistImportexport

External

Consumer

REST

External Systems

JDBC

SVN

Checkincheckout

Web UI

Page 19: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

ДИЗАЙНЕР ТРАНСФОРМАЦИЙ

19

Валидация трансформаций на

предмет типичных ошибок

Использование метаданных

для описания источников

данных

Просмотр/преобразование/исп

олнение исходного кода

Частичное исполнение

трансформаций и просмотр

результатов

Визуальное

проектирование

маппингов и потоков

данных

Поиск элементов в

сложных

трансформациях

Валидация отдельных

элементов

Трассировка

преобразований

отдельных полей

Page 20: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

ДИЗАЙНЕР ПРОЦЕССОВ

Визуальное проектирование

последовательностей задач

Последовательное и параллельное

выполнение задач

Использование правил

Обеспечение вложенности

Запуск произвольных shell и java процедур

Среда исполнения - Apache Oozie

20

Page 21: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

МОНИТОРИНГ

On-line мониторинг сред исполнения - Apache

Oozie/Livy

Просмотр статусов задач и подзадач, параметров

запуска, логов исполнения и ошибок баз данных

Старт, остановка и повторный запуск выполнения

заданий

Просмотр истории запуска заданий

Просмотр отклонённых записей (rejects)

21

Page 22: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

КЛЮЧЕВЫЕ ОСОБЕННОСТИ NEOFLEX DATAGRAM Sources/Targets

• RDBMS sources/targets via JDBC (including stored procedures)

• Text/structural/HDFS specific sources/targets: CSV, xml, avro, json, ORC, PARQUET, Spark Streaming support

• Apache Hive, Apache Kafka

Типы трансформации • join, sort, aggregation, union, selection, projections, pivot, explode arrays, sequence generation

• Spark specific: Spark SQL – perform arbitrary SQL query over data streams (with Spark Catalyst support)

• Model Based Analysis using Spark MLLib (decision trees, SVM, logistic regression etc.)

• JBoss Rules (Drools) - Business Rule Management System

Versioning and teamwork (opt. locking, svn, projects)

Multi-Environment support (dev->test->prod, Import/Export metadata, rewrite ursl)

Security (ldap/Kerberos/passwords encryption/role model)

Supplement tools (hdfs/livy/oozie consoles, Object Explorer)

22

Page 23: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

КАК ЭТО РАБОТАЕТ

23

• Фреймворк разработан в архитектуре, управляемой моделями (MDA).

• Для управления моделями используется Eclipse Modelling Framework (EMF).

• Для хранения моделей используется PostgreSQL/Hibernate/Teneo.

• Для валидации моделей, преобразований модель-в-модель (M2M) и модель-в-текст (M2T) используется язык Eclipse Epsilon.

• Фреймворк использует следующие логические пакеты объектов: Authentication, Relational, ETL, Runtime, DWH, UI, Metadata.

Page 24: Построение промышленной DWH без вендского ПО Миф или ... · • Apache Hive, Apache Kafka Типы трансформации • join, sort,

CONTACTS

Орлов Олег

Главный архитектор

www.en.neoflex.ru