33
Как подружить ежа с ужом или другой взгляд на DWH Дмитрий Ширшаков Алексей Спиридонов

CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Embed Size (px)

Citation preview

Page 1: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Как подружить ежа с ужомили другой взгляд на DWH

Дмитрий ШиршаковАлексей Спиридонов

Page 2: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Вместо введения -     постановка задачи

В компании установлены сервисы:• 1С• Интернет-магазин• Платежная система• Корпоративный портал• Почта• Active directory• OLAP• АТС• etc

Постановка задачи

Page 3: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Корпоративная система целиком

1. N!  связей

2. Изменение коробочных систем

3. Нет центра синхронизации

4. Возникновение конфликтов

Page 4: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Система выглядит так:

Page 5: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

А разработчик вот так:

Page 6: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Варианты

0. Оставить, как есть

1. Централизованное решение (Data Warehouse)

2. Единая шина обмена данных (MQ Server) 

Page 7: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Не надо бояться экспериментов

Page 8: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

DWH решение

• Теоретическое количество интеграций = 2*N

• Меняется DWH, а не ПО

• Централизованная синхронизация

• Данные в DWH принимаются как "действительно правильные" 

Page 9: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Варианты реализации     DWH решение

• SQL

• Integration Services

• Специальные приложенияo Загрузчикиo Парсеры

Page 10: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Примеры реализации #1 - Корпоративные системы

Page 11: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Примеры реализации #2 - AD, телефония, трафик

Page 12: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Примеры реализации #3 - Internet

Page 13: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Примеры реализации #3 - Internet

Page 14: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Примеры реализации #4 - OLAP, аналитика, отчетность

Page 15: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Примеры реализации #5 - BI, KPI, модели, прогнозы

Page 16: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

DWH - решение    все вместе

Page 17: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

DWH - решение    все вместе

Page 18: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

DWH - решение    все вместе

Page 19: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Плюсы DWH

• Поддержка интерфейсов различных систем с использованием представлений.

• Консолидация данных в одном месте.

• Использование OLAP для обработки больших объемов данных.

 

Page 20: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Проблемы DWH

• Необходимость разбираться в установленных системах на уровне баз данных.

• Низкая скорость синхронизации. 

Page 21: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Второй вариант

Единая шина передачи данных реализованная на

базе MQ Server

Page 22: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

MQ Server, один отправитель, 2 получателя

• Временное хранение сообщений• FIFO• Гарантия доставки• Маршрутизация сообщений

Page 23: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Напоминаем как приходится разработчику:

Page 24: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Система с точки зрения MQ

Простота и понятность работы компонента

Page 25: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Новая жизнь разработчика

Page 26: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Плюсы MQ  #1

Универсальный транспорт данных для систем на любых языках, технологиях и протоколах.

.NETPHPPythonC#JAVAErlang

и т.д.

RPCAMQPRESTSTOMP

WindowsLinuxMacOS 

Page 27: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Плюсы MQ  #2

Высокая скорость распространения изменений  между компонентами системы.

~ 10 ms

Page 28: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Плюсы MQ #3

Высокая изолированность компонент друг от друга.

• Стабильность работы при отказе отдельных компонент

• Устойчивость системы к всплескам нагрузки

Page 29: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Плюсы MQ #4

Низкая стоимость модификации структуры обмена данными в системе.

add  Exchange  "Billing"

add  Queue  "Shop"

add  Binding   "Billing"  to "Shop"

Теперь  интернет магазин будет получать данные из биллинга.

Page 30: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Проблемы MQ

Мнимые:

• MQ Server  становится точкой отказа.

• При потере сообщений, теряется цельность данных в системе. 

Реальные:

• Единые форматы для сообщений. 

• Вынужденная кастомизация коробочных решений. 

Page 31: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

ПО,  что использовать

MSMQ  ApacheMQ  - известный MQ от известной компании RabbitMQ  -  сверхбыстрый  

ZeroMQ  - сетевой фреймворк для создания сервисов PgQ  -  фанатам  PostgreSQL  и Skype

и много много  других ****MQ

  

Page 32: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

Что выбрать?

Page 33: CodeFest 2011. Ширшаков Д. — Как подружить ежа с ужом или другой взгляд на DWH

СПАСИБО ЗА ВНИМАНИЕ!

Дмитрий Ширшаков    [email protected]

Алексей Спиридонов    [email protected]