Простые ответы на сложные вопросы про bi · 4 Идея! У нас...
TRANSCRIPT
1
Простые ответы на
сложные вопросы про BI
Спикер: Кузовлев Евгений
Членов
команды
IT
Специалистов
Глобальных
Офисов
Лет в
бизнесе Партнёров
450+ 150+ 7 5+ 100+
Кто мы такие и почему я перед вами
2
- это про деньги
3
Вступление О чем мы тут?
• Что такое BI?
• Из чего состоит?
• Что предлагает сообщество?
• Что выбрали мы?
• Какие у нас итоги и дальнейшие планы?
4
Идея!
У нас есть данные, давайте их куда-нибудь собирать, в единое место,
чтобы потом их как-то анализировать
5
Идея!
У нас есть данные, давайте их куда-нибудь собирать, в единое место,
чтобы потом их как-то анализировать
Идея!
6
Состав Из чего состоит BI
• Собирать: ETL tool (erase, transport, load)
• Единое место: DWH (Data WareHouse)
• Анализировать: Analytics tool
7
ETL Tool Варианты
• OpenSource:
• Apache NiFi
• Pentaho DataIntegration
• Talend
• Kafka *
• Commecial
• Informatica
• Sybase ETL
• SnapLogic
• Etc.
• Своя разработка еще больше: http://etltools.net
8
DWH База данных
DBMS Бесплатная Умеет обновлять /
удалять
Архитектура
Yandex Clickhouse Да Нет* MPP, Shared nothing
MicroFocus (ex HP)
Vertica
Да (до 1
терабайта)
Да MPP, Shared nothing
Dell (ex EMC)
GreenPlum
Да Да, с ограничениями MPP, Shared nothing
SAP (Sybase) IQ Нет Да MPP, Shared
everything
MariaDB ColumnStore Да Да MPP, Shared nothing
PostgreSQL cstore_fdw Да Нет MPP (with Citus)
9
Инструмент аналитики Варианты
• Визуализаторы
• Tableau
• FastReport
• BI системы
• Looker
• Sisence
• ThoughtSpot
• Scan4Fin (Findoso)
• PowerBI
10
BI наши требования
• Тип действий с данными в хранилище - как создание, так и обновление
• Возможность масштабирования всего:)
• Возможность “пережевать” резкий разовый рост нагрузки
• Возможность регенерации отдельных типов данных в DWH (например принудительная
актуализация информации по транзакциям конкретного клиента)
• Обеспечение надежности хранения данных, попавших в DWH
• Обеспечение отказоустойчивости при локальных сбоях отдельных серверов.
• Обеспечение обработки информации при штатном функционировании в режиме
псевдореального времени
• XDR репликация
11
ETL
12
ETL Собственная разработка
Причины:
• 5 различных источников данных на старте
• Постоянно меняющийся маппинг
• Наличие возможности интегрировать модули
ETL в источники
13
• Очереди
• Percona 5.7 XtraDB
• И снова очереди:)
POOL 1
workers
POOL N
workers
…
SOURCE 1 SOURCE N …
ETL
14
• Percona 5.7 XtraDB
• Vertica 8.1
Percona direct layer Vertica direct layer Percona conv layer
workers workers workers
clients clients clients
DWH
15
DWH ответы на вопросы
Почему Vertica?
• Умеет обновлять все (включая ключи шардирования)
• Бесплатная до терабайта
• Работает из коробки! Сразу и хорошо:)
• Они честно пишут о том, что не умеют: result cache, materialized view, scheduler,
triggers, stored procedures
• Бенчмарч от Яндекса: https://clickhouse.yandex/benchmark.htm
16
DWH ответы на вопросы
Зачем Percona, если есть Vertica?
Нужно отображать полную информацию о единичных записях. У записи более
150 полей. (Запросы вида SELECT * FROM T WHERE id IN (…);)
17
Analytics tool
18
Общая архитектура отдельного кластера
POOL
Percona DL
Vertica DL
Percona CL
Worker parser
Worker vertica
Worker convolution
Data Analytics
19
XDR старые песни о главном
Consistency
Availability Partition Tolerance
20
• Метка первичного DC
• Ориентация на timestamp
данных
Data + T1
Data + T1+DC1
Data + T1+DC1
XDR
DC2
DC3 DC1
21
• Метка первичного DC
• Ориентация на timestamp
данных
Data + T1
Data + T1+DC1
Data + T1+DC1
Data + T0
XDR
DC2
DC3 DC1
DC2
22
XDR
• Метка первичного DC
• Ориентация на timestamp
данных
Data + T2+DC2
Data + T2
Data + T2+DC2
DC2
DC3 DC1
23
Итоги
• Разработка – 4 разработчика за 4 месяца
• В проде с ноября 2017
• До 10000 rps в пике (и это не предел)
• К DWH подключены клиентские интерфейсы и
внутренние системы обработки данных
24
Планы
• Облако скриптов
• Еще большее разделение по уровням БД
• Тестирование на RPS > 100k
25
Спасибо за внимание! Спикер: Кузовлев Евгений
Mail:
Phone:
Telegram:
+7 (905) 798-60-63
@rafik_jan