30
Эволюция систем обработки данных Прохоров Роман Старший разработчик Тамтэк

HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Embed Size (px)

Citation preview

Page 1: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Эволюция систем обработки данных

Прохоров РоманСтарший разработчик

Тамтэк

Page 2: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

О себе

Прохоров Роман

Старший разработчик в Тамтэк

Более 5 лет опыта. Почти два десятка проектов.

“Работу нужно любить”2

Page 3: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

О чем хочется рассказать

1. Основные этапы эволюции систем обработки данных на примере

2. Почему происходит эволюция

3. Почему некоторые подходы не устаревают

4. Какие навыки нужны для работы с данными. С чего начать?

3

Page 4: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Лирическое отступление - Сервис исполнения желаний

4

Page 5: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

О чем это все

Мы — мелкое божество, исполняющее “желания”

1. Исполняем мелкие “желания”

2. Ведется строгая отчетность у вышестоящего руководства

3. В конце месяца предоставляем отчет о проделанной работе 5

Page 6: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Как будем делать?

1. Узнаем о желании, обдумываем, записываем, исполняем

2. В конце месяца “вываливаем” на стол руководства исписанные листы

6

Page 7: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Первый шаг вперед — повышение

1. Не все “желания” могут исполняться — теперь нужно принимать решение об исполнении и фиксировать результат

2. Руководство хочет сортированные отчеты по выполненным и невыполненным “желаниям”

:( Теперь все придется переписывать к концу месяца

7

Page 8: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

1. Записываем “желания” на стикерах с пометкой: получено, исполнено или отклонено

2. В конце месяца переклеиваем, сортируя, исполненные “желания” на один листок, отклоненные — на другой.

Решаем поступившие проблемы

8

Page 9: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Связь с реальностью — Первый шаг вперед

1. Файлы: случайный доступ — возможность получить данные из любого места или записать любое место, зная расстояние от начала (5-я полка на книжном шкафу)

2. Примитивное индексирование — организация данных специальным способом с целью снижения затрат на поиск (алфавитный указатель)

9

Page 10: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Еще повышение1. Теперь необходимо вести

контроль над количеством “желаний” и иметь информацию о “просившем”

2. Каждое желание теперь должно дополняться информацией о “просившем”. И она будет изменяться!

10

Page 11: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Находим выход

1. На каждом стикере храним номер “просившего”

2. Просивших, упорядоченными по, например, имени, храним в отдельной бездонной папке,

3. Информация о просивших собирается из стикеров. Заменяя стикер, мы не переписываем всю информацию

4. Сопоставлять записи по номерам для отчета заставляем подчиненного “гнома”

11

Page 12: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Связь с реальностью — Двигаемся дальше

Уменьшение избыточности способствует развитию целостности (непротиворечивости) данных. Человек не может иметь два города одновременно, и быть в двух местах и т.п.

Поля и колонки для записей: поиск и частичное изменение записи

12

Page 13: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Связь с реальностью — Что такое База ДанныхЭдгар Ф. Кодд. Реляционная модель данных и нормализация

Появление СУБД — Систем Управления Базами Данных

Администрирование

13

Page 14: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Большой начальник. Данных все больше

Исполняем желания всего мира.

1. Система должна быть доступна всегда.

2. Система должна быть доступна всем.

14

GOOGLIZARD

Page 15: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

1. В разных кабинетах противоречащие данные.

2. В кабинет “ударила молния”

3. Пока “гном” пошел чинить противоречия — не принимает новых желаний

4. Гном может не дойти до нужного кабинета, потому что украли его велосипед

Большой начальник. Данных все больше. Проблемы

15

Page 16: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

CAP - Выбери любые два

16

Page 17: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Репликация — отрубишь одну голову, вырастает новая

17

Page 18: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Событийная согласованность — когда-нибудь потом, но точно будет

18

Page 19: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Агрегирование данных — связанное вместе

19

Page 20: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Партиционирование — по полочкам

20

Page 21: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Что изучать?

21

Page 22: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Что изучать?

22

Page 23: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Что изучать?

23

Page 24: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Какие качества нужны?

24

Page 25: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Какие качества нужны?

25

Page 26: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Быть в трэнде

Big Data / Data mining (что хотят “смертные”)

Искусственный интеллект (гномы умнее)

Мобильная разработка (желания на ios/android)

Электронные платежи (оплата желания по привязанной карте)

Облачные технологии 26

Page 27: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Мы изучаем БД — это уже не круто?

Каждый подход хорош для определенных задач

Иногда имеет смысл просто “записывать на листочек”

27

Page 28: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Куда пойти

1. ВУЗ

2. Стажировка при компаниях

3. www.youtube.com и ru.coursera.org

28

Page 29: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Итого

1. Не все подходы устаревают

2. Под каждую задачу лучше выбирать наиболее подходящие системы

3. English, математика, мотивация

29

Page 30: HappyDev-lite-2016-осень, день 2 05 Роман Прохоров. Эволюция систем обработки данных

Читай меня полностью

Основы современных баз данных http://citforum.ru/database/osbd/contents.shtml

Основы проектирование реляционных БД http://citforum.ru/database/dbguide/index.shtml

Введение в NoSQL http://sntbul.bmstu.ru/file/out/724097

NoSQL Distilled http://resource.mitfiles.com/CSE/IV%20year/VII%20sem/Program%20Elective/Big%20Data%20Analytics/books%20and%20slides/books/NoSQL%20Distilled.pdf

MapReduce и параллельные СУБД: друзья или враги? http://citforum.ru/database/articles/mr_vs_dbms-2/

30