Upload
happydev-lite
View
95
Download
2
Embed Size (px)
Citation preview
Эволюция систем обработки данных
Прохоров РоманСтарший разработчик
Тамтэк
О себе
Прохоров Роман
Старший разработчик в Тамтэк
Более 5 лет опыта. Почти два десятка проектов.
“Работу нужно любить”2
О чем хочется рассказать
1. Основные этапы эволюции систем обработки данных на примере
2. Почему происходит эволюция
3. Почему некоторые подходы не устаревают
4. Какие навыки нужны для работы с данными. С чего начать?
3
Лирическое отступление - Сервис исполнения желаний
4
О чем это все
Мы — мелкое божество, исполняющее “желания”
1. Исполняем мелкие “желания”
2. Ведется строгая отчетность у вышестоящего руководства
3. В конце месяца предоставляем отчет о проделанной работе 5
Как будем делать?
1. Узнаем о желании, обдумываем, записываем, исполняем
2. В конце месяца “вываливаем” на стол руководства исписанные листы
6
Первый шаг вперед — повышение
1. Не все “желания” могут исполняться — теперь нужно принимать решение об исполнении и фиксировать результат
2. Руководство хочет сортированные отчеты по выполненным и невыполненным “желаниям”
:( Теперь все придется переписывать к концу месяца
7
1. Записываем “желания” на стикерах с пометкой: получено, исполнено или отклонено
2. В конце месяца переклеиваем, сортируя, исполненные “желания” на один листок, отклоненные — на другой.
Решаем поступившие проблемы
8
Связь с реальностью — Первый шаг вперед
1. Файлы: случайный доступ — возможность получить данные из любого места или записать любое место, зная расстояние от начала (5-я полка на книжном шкафу)
2. Примитивное индексирование — организация данных специальным способом с целью снижения затрат на поиск (алфавитный указатель)
9
Еще повышение1. Теперь необходимо вести
контроль над количеством “желаний” и иметь информацию о “просившем”
2. Каждое желание теперь должно дополняться информацией о “просившем”. И она будет изменяться!
10
Находим выход
1. На каждом стикере храним номер “просившего”
2. Просивших, упорядоченными по, например, имени, храним в отдельной бездонной папке,
3. Информация о просивших собирается из стикеров. Заменяя стикер, мы не переписываем всю информацию
4. Сопоставлять записи по номерам для отчета заставляем подчиненного “гнома”
11
Связь с реальностью — Двигаемся дальше
Уменьшение избыточности способствует развитию целостности (непротиворечивости) данных. Человек не может иметь два города одновременно, и быть в двух местах и т.п.
Поля и колонки для записей: поиск и частичное изменение записи
12
Связь с реальностью — Что такое База ДанныхЭдгар Ф. Кодд. Реляционная модель данных и нормализация
Появление СУБД — Систем Управления Базами Данных
Администрирование
13
Большой начальник. Данных все больше
Исполняем желания всего мира.
1. Система должна быть доступна всегда.
2. Система должна быть доступна всем.
14
GOOGLIZARD
1. В разных кабинетах противоречащие данные.
2. В кабинет “ударила молния”
3. Пока “гном” пошел чинить противоречия — не принимает новых желаний
4. Гном может не дойти до нужного кабинета, потому что украли его велосипед
Большой начальник. Данных все больше. Проблемы
15
CAP - Выбери любые два
16
Репликация — отрубишь одну голову, вырастает новая
17
Событийная согласованность — когда-нибудь потом, но точно будет
18
Агрегирование данных — связанное вместе
19
Партиционирование — по полочкам
20
Что изучать?
21
Что изучать?
22
Что изучать?
23
Какие качества нужны?
24
Какие качества нужны?
25
Быть в трэнде
Big Data / Data mining (что хотят “смертные”)
Искусственный интеллект (гномы умнее)
Мобильная разработка (желания на ios/android)
Электронные платежи (оплата желания по привязанной карте)
Облачные технологии 26
Мы изучаем БД — это уже не круто?
Каждый подход хорош для определенных задач
Иногда имеет смысл просто “записывать на листочек”
27
Куда пойти
1. ВУЗ
2. Стажировка при компаниях
3. www.youtube.com и ru.coursera.org
28
Итого
1. Не все подходы устаревают
2. Под каждую задачу лучше выбирать наиболее подходящие системы
3. English, математика, мотивация
29
Читай меня полностью
Основы современных баз данных 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