33.43M
Категория: ИнформатикаИнформатика

Получение денормализованных таблиц из нормализованных. Урок 3

1.

Получение
денормализованных
таблиц из
нормализованных .
Урок 3

2.

Теперь ваша очередь!
Ответьте на несколько вопросов
сообщением в чат
Из какого вы города?
Сколько вам лет?
Кем вы работаете сейчас?
Как долго?

3.

План курса (вертикальный)
1
Модели данных и нормализация таблиц. Схема "звезда".
5
Прошедший урок
2
3
4
Введение в подготовку данных для аналитиков. Таблицы фактов
и таблицы измерений.
Прошедший урок
Получение денормализованных таблиц из нормализованных.
Сегодняшний урок
Партицирование данных по дате. Динамическое партицирование.
Будущий урок
Обзор возможностей Airflow, установка и
настройка.
Будущий урок
Операторы в Airflow и их применение для ETL.
6
Будущий урок
7
Построение пайплайнов и визуализация потоков
данных в Airflow.
Будущий урок
8
Специфика применения ETL в различных
предметных сферах
Будущий урок

4.

Что будет на уроке сегодня
Что такое денормализация и зачем
Когда полезно использовать денормализацию
Как определить что денормализация оправдана
Как грамотно реализовать денормализацию

5.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Викторина

6.

Для чего чаще всего применяется денормализация?
1.
2.
3.
Ускорение операций чтения
Уменьшение количества логических ошибок
Минимизирует избыточность данных

7.

Для чего чаще всего применяется денормализация?
1.
2.
3.
Ускорение операций чтения
Уменьшение количества логических ошибок
Минимизирует избыточность данных

8.

Когда стоит задуматься о денормализации?
1.
2.
3.
4.
Необходимо сохранять исторические данные
Повышение производительности запросов
Предварительные вычисления часто запрашиваемых значений
Все варианты верны

9.

Когда стоит задуматься о денормализации?
1.
2.
3.
4.
Необходимо сохранять исторические данные
Повышение производительности запросов
Предварительные вычисления часто запрашиваемых значений
Все варианты верны

10.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Необходима ли денормализация если мы часто обращаемся к таблице
содержащей длинное поле?
1.
2.
3.
Обязательно, это сильно ускорит выполнение запросов
Необязательно, сильного прироста производительности ожидать не следует
Нет не нужно

11.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Необходима ли денормализация если мы часто обращаемся к таблице
содержащей длинное поле?
1.
2.
3.
Обязательно, это сильно ускорит выполнение запросов
Необязательно, сильного прироста производительности ожидать не следует
Нет не нужно

12.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Два основных метода денормализации данных?
1.
2.
3.
4.
Дублирование и репликация
Предварительная подготовка и очистка
Дублирование и предварительная подготовка
Предварительная подготовка и репликация

13.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Два основных метода денормализации данных?
1.
2.
3.
4.
Дублирование и репликация
Предварительная подготовка и очистка
Дублирование и предварительная подготовка
Предварительная подготовка и репликация

14.

15.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Практика

16.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Денормализация данных
Денормализация (англ. denormalization) —
намеренное приведение структуры базы данных в
состояние, не соответствующее критериям
нормализации, обычно проводимое с целью
ускорения операций чтения из базы за счет
добавления избыточных данных.

17.

Задание 0
Заказчик попросил разработать таблицу для BI отчета, благодаря которой можно посчитать длительность статуса и время на
группы и понять к какой группе относится тот или иной статус, построить статусную-временную модель в PBI.
Нужно:
Привести таблицу протокола из этого вида в этот вид.
Для этого напиши ETL на spark, который перенесет данные из s3.xlsx в mysql и создаст запросом еще одну таблицу в
требуемом виде.

18.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Задание 1
Ниже представлена схема базы данных приложения в котором клиент может размещать заказы и открывать тикеты для службы
поддержки по своим заказам. Посмотрите схему базы данных, опишите структуру и дату которая хранится в этих таблицах.
15 минут

19.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Задание 1
<<15:00->>
Посмотрите схему базы данных, опишите структуру и дату которая хранится в этих таблицах

20.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Задание 2
Предположим что у нас появилось две новых бизнес-задачи.
Во-первых, каждому представителю службы поддержки нужен
быстрый доступ к некоторым показателям клиента. Для новой
функциональности в приложении требуется информационная панель
о клиенте с общим объемом продаж, количеством отправленных
билетов и количеством обращений в службу поддержки клиентов.
Во-вторых, представителям службы поддержки нужна панель
управления тиектами со списком тикетов и их соответствующими
данными. Это нужно им для выбора тикета по адресу в зависимости
от приоритета.
Создайте таблицу customer_statistics которая будет содержать
информацию о покупательских привычках каждого клиента.
Сделайте схему таблицы используя app.diagrams.net и поделитесь
картинкой в чате
15 минут

21.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Задание 2
Предположим что у нас появилось две новых бизнес-задачи.
<<15:00->>
Во-первых, каждому представителю службы поддержки нужен
быстрый доступ к некоторым показателям клиента. Для новой
функциональности в приложении требуется информационная панель
о клиенте с общим объемом продаж, количеством отправленных
билетов и количеством обращений в службу поддержки клиентов.
Во-вторых, представителям службы поддержки нужна панель
управления тикетами со списком тикетов и их соответствующими
данными. Это нужно им для выбора тикета по адресу в зависимости
от приоритета.
Создайте таблицу customer_statistics которая будет содержать
информацию о покупательских привычках каждого клиента.
Сделайте схему таблицы используя app.diagrams.net и поделитесь
картинкой в чате

22.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Перерыв
<<5:00->>

23.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Задание 3
Измените таблицу tickets таким образом чтобы она соответствовала
требованиям из предыдущего задания.
Представителям службы поддержки нужна панель управления
тикетами со списком тикетов и их соответствующими данными. Это
нужно им для выбора тикетоа по адресу в зависимости от
приоритета.
Сделайте схему таблицы используя app.diagrams.net и поделитесь
картинкой в чате
15 минут

24.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Задание 3
<<15:00->>
Измените таблицу tickets таким образом чтобы она соответствовала
требованиям из предыдущего задания.
Представителям службы поддержки нужна панель управления
тикетами со списком тикетов и их соответствующими данными. Это
нужно им для выбора тикетов по адресу в зависимости от
приоритета.
Сделайте схему таблицы используя app.diagrams.net и поделитесь
картинкой в чате

25.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Задание 4
Представитель службы поддержки заметил, что сумма,
уплаченная за продукт, не соответствует цене, указанной в
дашборде. Это произошло потому что с момента оплаты
клиентом товара цена изменилась.
Подумайте что нужно изменить в исходной схеме (не создавая
новых таблиц) чтобы решить описанную выше проблему.
Нарисуйте схему измененных таблиц используя
app.diagrams.net и поделитесь картинкой в чате.
15 минут

26.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Задание 4
Представитель службы поддержки заметил, что сумма,
уплаченная за продукт, не соответствует цене, указанной в
дашборде. Это произошло потому что с момента оплаты
клиентом товара цена изменилась.
<<15:00->>
Подумайте что нужно изменить в исходной схеме (не создавая
новых таблиц) чтобы решить описанную выше проблему.
Нарисуйте схему измененных таблиц используя
app.diagrams.net и поделитесь картинкой в чате.

27.

28.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Домашнее задание

29.

Семинар 1. Веб-технологии: вчера, сегодня, завтра
Домашнее задание
На основе сайта yandex.ru:
Определите, на каком протоколе работает сайт.
Проанализируйте структуру страницы сайта
Внесите не менее 10 изменений на страницу с помощью инструмента разработчика и представьте скриншоты
было/стало.
Создайте прототип низкой детализации (дополнительное задание, если на семинаре дошли до задания №8)

30.

Спасибо за внимание
English     Русский Правила