Хабрахабр

[Из песочницы] Как было устроено хранилище DWH в TELE2

Здравствуйте, дорогие друзья.

А в следующих статьях рассказать, как внедрялись ETL-инструменты, EDW и BI решения в Tele2. Сегодня хочу поделиться историей из жизни, как было устроено хранилище DWH в Tele2 до внедрения КХД (EDW).

На тот момент в компании уже было создано хранилище DWH, на котором уже крутилось много процессов по предоставлению отчетности и не только. Поступил я в ИТ подразделение Tele2 в 2012 в отдел по системам отчетности.

Для хранилища использовалась Оракловая база объемом 60-100 Тб сервер T4-4 c оперативой под 1 Тб. Немного по поводу технического стека, который там использовался на тот момент. Но основными из них были 4 оракловые биллинговые базы, которые были по сути платформой тарификации. Туда загружались данные из различных источников. Разделение этих баз было по макрорегионам. И был отдел ЕРЦ (Единый расчетный центр), который занимался поддержкой этих баз и предоставлением сервисов. Т.е если абонент звонит, скажем, из Московской сим-карты то и расчет стоимости звонка производится в соответствующем биллинге. Причина: слишком большие объемы.

Обычно для DWH всегда доставался сервер немного слабее. Самое топовое железо всегда доставалась биллинговым базам, а на остальные системы выделялось ресурсов по остаточному принципу. у биллинга стоит железка Т5-4, то у DWH — Т4-4 в наследство. Т.е.

Данные из биллинга загружались по DB-link-ам. Но этих ресурсов всегда хватало на покрытие текущих задач и сворачивание отчетности. ETL был 2-х видов: полная загрузка для небольших объемов и инкрементальная для больших таблиц таких как например, звонковая детализация, начисления, платежи и т.д. Были настроены классические ETL-процессы, когда ежедневно проходила ночная загрузка данных с небольшими преобразованиями (например, добавление суррогатных ключей). Данные загружаются в виде текстовых файлов с помощью загрузчиков oracle sql loader. Также еще был такой большой источник, как cdr-файлы которая загружает звонковую информацию и интернет-трафик из коммутаторов и базовых станций. Не было ни дня без зависших либо долгоиграющих сессий, в которых нужно было лезть в план запроса. Приращение к базе обычно составляло 10-20 Гб в день.
Партиционирование таблиц, индексы, оптимизация планов запросов, хинты в DWH использовать приходилось постоянно.

image
Структура хранилища DWH в Tele2 до внедрения EDW.

Она считалась на сервере DWH целых 4 дня из-за больших объемов. Также одним из основных задач DWH было формирование ежемесячной финансовой отчетности (ЕФО). строк кода на PL/SQL со сложной витиеватой логикой и все это сворачивается в динамике. Для представления что это такое, скажу что это пакет Oracle в 5 тыс. И все это без использования коробочных решений. А потом отчет выгружается на FTP либо на сетевую шару в виде CSV файлов. руками написанный, годами оптимизированный и автоматизированный функционал. Т.е.

Например, на нем крутился процесс предоставления детализации абонентам из личного кабинета на сайте Tele2. Но база DWH использовалась не только для предоставления регулярной отчетности но и как операционное хранилище. Или передача личных данных в системы СОРМ для служб безопасности.

APEX — это среда для быстрой разработки WEB-интерфейсов, либо для предоставления отчетности либо для того, чтобы настроить какой-либо бизнес-процесс. Также стоит отдельно рассказать про систему Oracle Application Express (APEX) которое имеет особое место для предоставления отчетности. Т.е. На нем было создан, руками написанный функционал "Запрос данных", где пользователи могли сами себе создать отчет. А внутри DWH написано огромное количество PL/SQL процедур и функций которые было по сути встроенным скриптогенератором для отчетов. человек заходит, выбирает набор полей для своего отчета, при желании может притянуть первоисточник в виде excel файла, и потом ему приходит отчет на почту в виде заархивированного csv файла. При этом этот инструмент был настолько популярен внутри компании, что за 8 лет на нем было сформировано более полу миллиона отчетов с разной степенью важности.

Например, руками написанный функционал для документооборота (DOCOUT) и система Campaign Management (автоматизация маркетинга). Также в APEX было разработано еще много чего интересного. А в Campaingn Management отдел CBM проводил различные мероприятия для клиентов. В DOCOUT бухгалтера и директора визироавали документы. И все это проходило через DWH и была интеграция с смс-каналом. Например, выполнял массовую смс-рассылку абонентам о новых тарифах и услугах.

Плюс пара систем для предоставления отчетности таких как Crystal Reports и IBM Lotus RS-отчеты подключались к DWH через RPT-файлы.

На приложенной схеме выше можно посмотреть старую структуру хранилища DWH и движение потоков данных.

Все это более ли менее успешно работало до того момента, пока бизнес не понял что предоставление отчетности уже недостаточно и приняли решение внедрять КХД, BI-системы и BigData.

Пожалуй, остановлюсь на этом. В общем было много всего интересного. А в следующих постах подробно расскажу о том, как внедрялось EDW в Tele2.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть