Простые ответы на сложные вопросы про bi · 4 Идея! У нас...

25
1 Простые ответы на сложные вопросы про BI Спикер: Кузовлев Евгений

Upload: others

Post on 19-Jun-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

1

Простые ответы на

сложные вопросы про BI

Спикер: Кузовлев Евгений

Page 2: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

Членов

команды

IT

Специалистов

Глобальных

Офисов

Лет в

бизнесе Партнёров

450+ 150+ 7 5+ 100+

Кто мы такие и почему я перед вами

2

- это про деньги

Page 3: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

3

Вступление О чем мы тут?

• Что такое BI?

• Из чего состоит?

• Что предлагает сообщество?

• Что выбрали мы?

• Какие у нас итоги и дальнейшие планы?

Page 4: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

4

Идея!

У нас есть данные, давайте их куда-нибудь собирать, в единое место,

чтобы потом их как-то анализировать

Page 5: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

5

Идея!

У нас есть данные, давайте их куда-нибудь собирать, в единое место,

чтобы потом их как-то анализировать

Идея!

Page 6: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

6

Состав Из чего состоит BI

• Собирать: ETL tool (erase, transport, load)

• Единое место: DWH (Data WareHouse)

• Анализировать: Analytics tool

Page 7: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

7

ETL Tool Варианты

• OpenSource:

• Apache NiFi

• Pentaho DataIntegration

• Talend

• Kafka *

• Commecial

• Informatica

• Sybase ETL

• SnapLogic

• Etc.

• Своя разработка еще больше: http://etltools.net

Page 8: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

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)

Page 9: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

9

Инструмент аналитики Варианты

• Визуализаторы

• Tableau

• FastReport

• BI системы

• Looker

• Sisence

• ThoughtSpot

• Scan4Fin (Findoso)

• PowerBI

Page 10: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

10

BI наши требования

• Тип действий с данными в хранилище - как создание, так и обновление

• Возможность масштабирования всего:)

• Возможность “пережевать” резкий разовый рост нагрузки

• Возможность регенерации отдельных типов данных в DWH (например принудительная

актуализация информации по транзакциям конкретного клиента)

• Обеспечение надежности хранения данных, попавших в DWH

• Обеспечение отказоустойчивости при локальных сбоях отдельных серверов.

• Обеспечение обработки информации при штатном функционировании в режиме

псевдореального времени

• XDR репликация

Page 11: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

11

ETL

Page 12: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

12

ETL Собственная разработка

Причины:

• 5 различных источников данных на старте

• Постоянно меняющийся маппинг

• Наличие возможности интегрировать модули

ETL в источники

Page 13: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

13

• Очереди

• Percona 5.7 XtraDB

• И снова очереди:)

POOL 1

workers

POOL N

workers

SOURCE 1 SOURCE N …

ETL

Page 14: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

14

• Percona 5.7 XtraDB

• Vertica 8.1

Percona direct layer Vertica direct layer Percona conv layer

workers workers workers

clients clients clients

DWH

Page 15: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

15

DWH ответы на вопросы

Почему Vertica?

• Умеет обновлять все (включая ключи шардирования)

• Бесплатная до терабайта

• Работает из коробки! Сразу и хорошо:)

• Они честно пишут о том, что не умеют: result cache, materialized view, scheduler,

triggers, stored procedures

• Бенчмарч от Яндекса: https://clickhouse.yandex/benchmark.htm

Page 16: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

16

DWH ответы на вопросы

Зачем Percona, если есть Vertica?

Нужно отображать полную информацию о единичных записях. У записи более

150 полей. (Запросы вида SELECT * FROM T WHERE id IN (…);)

Page 17: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

17

Analytics tool

Page 18: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

18

Общая архитектура отдельного кластера

POOL

Percona DL

Vertica DL

Percona CL

Worker parser

Worker vertica

Worker convolution

Data Analytics

Page 19: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

19

XDR старые песни о главном

Consistency

Availability Partition Tolerance

Page 20: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

20

• Метка первичного DC

• Ориентация на timestamp

данных

Data + T1

Data + T1+DC1

Data + T1+DC1

XDR

DC2

DC3 DC1

Page 21: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

21

• Метка первичного DC

• Ориентация на timestamp

данных

Data + T1

Data + T1+DC1

Data + T1+DC1

Data + T0

XDR

DC2

DC3 DC1

Page 22: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

DC2

22

XDR

• Метка первичного DC

• Ориентация на timestamp

данных

Data + T2+DC2

Data + T2

Data + T2+DC2

DC2

DC3 DC1

Page 23: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

23

Итоги

• Разработка – 4 разработчика за 4 месяца

• В проде с ноября 2017

• До 10000 rps в пике (и это не предел)

• К DWH подключены клиентские интерфейсы и

внутренние системы обработки данных

Page 24: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

24

Планы

• Облако скриптов

• Еще большее разделение по уровням БД

• Тестирование на RPS > 100k

Page 25: Простые ответы на сложные вопросы про BI · 4 Идея! У нас есть данные, давайте их куда-нибудь собирать,

25

Спасибо за внимание! Спикер: Кузовлев Евгений

Mail:

Phone:

Telegram:

[email protected]

+7 (905) 798-60-63

@rafik_jan