codefest 2011. Ширшаков Д. — Как подружить ежа с ужом или...

Post on 11-May-2015

570 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

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

1. N!  связей

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

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

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

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

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

Варианты

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

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

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

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

DWH решение

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

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

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

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

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

• SQL

• Integration Services

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

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

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

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

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

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

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

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

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

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

Плюсы DWH

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

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

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

 

Проблемы DWH

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

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

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

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

базе MQ Server

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

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

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

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

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

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

Плюсы MQ  #1

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

.NETPHPPythonC#JAVAErlang

и т.д.

RPCAMQPRESTSTOMP

WindowsLinuxMacOS 

Плюсы MQ  #2

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

~ 10 ms

Плюсы MQ #3

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

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

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

Плюсы MQ #4

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

add  Exchange  "Billing"

add  Queue  "Shop"

add  Binding   "Billing"  to "Shop"

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

Проблемы MQ

Мнимые:

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

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

Реальные:

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

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

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

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

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

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

  

Что выбрать?

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

Дмитрий Ширшаков    shirshakov@gmail.com

Алексей Спиридонов    forspall@gmail.com

top related