SlideShare ist ein Scribd-Unternehmen logo
1 von 99
Downloaden Sie, um offline zu lesen
Чернышев  Артём,
2ГИС
Пути  миграции  
перелётных  данных
Миграция  это  - ETL
Миграция  это  - ETL
Extract
Миграция  это  - ETL
Extract Transform
Миграция  это  - ETL
Extract Transform Load
Откуда  я  знаю  про  миграцию
Data warehousing
Откуда  я  знаю  про  миграцию
Business Intelligence
Откуда  я  знаю  про  миграцию
Big Data Management
Покажу  на  примере
Самый  первый  пример
Самый  первый  пример
• Есть  логи скачиваний  пакетов  с  сервера
Самый  первый  пример
• Есть  логи скачиваний  пакетов  с  сервера
• …  но  они  в  бинарном  виде  
Самый  первый  пример
• Есть  логи скачиваний  пакетов  с  сервера
• Нужен  отчёт  заданного  вида  в  excel
• …  но  они  в  бинарном  виде  
Самый  первый  пример
• Есть  логи скачиваний  пакетов  с  сервера
• Нужен  отчёт  заданного  вида  в  excel
• …  но  они  в  бинарном  виде  
• Каждый  первый  понедельник  месяца
Самый  первый  пример
Самый  первый  пример@Чудеса
Сервер  доставлял  не  сразу
Два горячих чая этому господину
Самый  первый  пример@Чудеса
Изменилась  периодичность
Самый  первый  пример@Чудеса
Увеличился  объём  данных
Самый  первый  пример@Чудеса
Вид  отчёта  постоянно  менялся
Самый  первый  пример@Выводы
Никому  не  верь
Умей  отличить  заказчика  от  пользователя
Самый  первый  пример@Выводы
Знай  роль  данных  в  бизнес-процессах
Самый  первый  пример@Выводы
Мигрируй  чаще
Самый  первый  пример@Выводы
Самый  первый  пример
Периодичность
Самый  первый  пример
Периодичность
Самый  первый  пример
Актуальность
Самый  первый  пример
• Понавставляли timestamp’ы  
• Начали  лить  в  RDBMS
• Разделили  миграцию  и  представление
• Миграция  по  расписанию
Работа  над  ошибками
• Начали  общаться  с  пользователями
Второй  пример
Второй  пример
• Появились  клики
Второй  пример
• Много  других  новых  метрик
• Появились  клики
Второй  пример
• Много  других  новых  метрик
• Появились  клики
• Необходима  связь  со  справочниками
Второй  пример
• Много  других  новых  метрик
• Появились  клики
• Стало  больше  пользователей
• Необходима  связь  со  справочниками
Второй  пример
Второй  пример@Чудеса
MySql не  любит,  когда  много  данных
Второй  пример@Чудеса
Данные  стали  критичными  для  бизнеса
Второй  пример@Чудеса
Больше  данных  – больше  ошибок
Второй  пример@Выводы
Важные  данные  нужно  проверять
Второй  пример@Выводы
Важные  данные  нужно  надёжно  хранить
Второй  пример@Чудеса
Управлять  данными  в  коде
Второй  пример@Выводы
Используй  верные  инструменты
Второй  пример@Выводы
Используй  верные  инструменты
Один  источник
Второй  пример@Выводы
Используй  верные  инструменты
Один  источник
Одно  назначение
+
Второй  пример@Выводы
Используй  верные  инструменты
Один  источник
Одно  назначение
+
=
Простая  логика
+
Второй  пример@Выводы
Используй  верные  инструменты
Один  источник
Одно  назначение
+
=SQL - скрипт
Простая  логика
+
Второй  пример@Выводы
Используй  верные  инструменты
Много  источников
Второй  пример@Выводы
Используй  верные  инструменты
Много  источников
Много  назначений
+
=
Второй  пример@Выводы
Используй  верные  инструменты
Много  источников
Много  назначений
+
=
ETL Tools (тысячи  их)
Второй  пример@Выводы
Используй  верные  инструменты
Много  источников
Много  назначений
+
=
ETL Tools (тысячи  их)
Второй  пример@Выводы
Используй  верные  инструменты
Много  источников
Много  назначений
+
=
ETL Tools (тысячи  их)
Второй  пример@Выводы
Используй  верные  инструменты
Много  источников
Много  назначений
+
=
ETL Tools (тысячи  их)
Второй  пример@Выводы
Используй  верные  инструменты
Много  источников
Много  назначений
+
Второй  пример@Выводы
Используй  верные  инструменты
Много  источников
Много  назначений
+
=
Real - time
+
Второй  пример@Выводы
Используй  верные  инструменты
Много  источников
Много  назначений
+
=Message Broker
Real - time
+
Второй  пример@Выводы
Используй  верные  инструменты
Во  всех  остальных  случаях
Пишите  код,  пожалуйста
Второй  пример
Доступность
Когда  просят
Когда  сможем
VS
Второй  пример
Достоверность
Второй  пример
Ценность
Второй  пример
• Миграцию  перевели  на  SSIS
• Перешли  на  MS SQL Server
• Смастерили  систему  проверок
• Начали  формализовывать  требования
Работа  над  ошибками
Чужой  пример
Чужой  пример
• Жила-была  престарелая  CRM
Чужой  пример
• Много  баз  дислокации
• Жила-была  престарелая  CRM
Чужой  пример
• Много  баз  дислокации
• Жила-была  престарелая  CRM
• Решили  сделать  новую
Чужой  пример
• Много  баз  дислокации
• Жила-была  престарелая  CRM
• Решили  сделать  новую
• С  одинокой  базёнкой
Чужой  пример
• Много  баз  дислокации
• Жила-была  престарелая  CRM
• Решили  сделать  новую
• С  одинокой  базёнкой
• Совершить  миграцию  поручили  DBA
Чужой  пример
Старая  CRM Новая  CRM
Пакет  SSIS
Чужой  пример@Чудеса
DBA не  понимает  бизнес-логику
Чужой  пример@Чудеса
Проблемы  выявлялись  не  сразу
Чужой  пример@Чудеса
Проблемы  решались  долго
Чужой  пример@Выводы
Исполнитель  должен  быть  в  контексте
Чужой  пример@Выводы
Много  сущностей
Чужой  пример@Выводы
Много  сущностей
Много  данных
+
Чужой  пример@Выводы
Много  сущностей
Много  данных
+
=
Много  бизнес-логики
+
Чужой  пример@Выводы
Много  сущностей
Много  данных
+
=Промежуточная  база
Много  бизнес-логики
+
Чужой  пример@Выводы
Делай  все  возможные  констрэйнты
Чужой  пример  
Целостность
Хороший  пример
Хороший  пример
• Жила-была  старая  карта
Хороший  пример
• Так  же  много  баз  дислокации
• Жила-была  старая  карта
Хороший  пример
• Так  же  много  баз  дислокации
• Жила-была  старая  карта
• Сделать  новую  карту  с  одной  базой
Хороший  пример
• Так  же  много  баз  дислокации
• Жила-была  старая  карта
• Сделать  новую  карту  с  одной  базой
• Миграцию  для  прототипа  делал  
разработчик
Хороший  пример
Старая  карта Новая  карта
Хороший  пример@Кусок  кода
Хороший  пример@Всё  в  память
Хороший  пример@Переписал
Хороший  пример
• Стали  выходить  из  прототипа
Хороший  пример
• Изменили  модель  данных  на  EAV
• Стали  выходить  из  прототипа
Хороший  пример
• Изменили  модель  данных  на  EAV
• Стали  выходить  из  прототипа
• Нужно  было  переписать  миграцию
Хороший  пример
…  и  написать  пакет  SSIS
Хороший  пример
Хороший  пример@Вывод
Итого@Требования
Итого@Требования
• Периодичность
Итого@Требования
• Актуальность
• Периодичность
Итого@Требования
• Доступность
• Актуальность
• Периодичность
Итого@Требования
• Доступность
• Актуальность
• Периодичность
• Достоверность
Итого@Требования
• Доступность
• Актуальность
• Периодичность
• Достоверность
• Ценность
Итого@Требования
• Доступность
• Актуальность
• Периодичность
• Достоверность
• Ценность
• Целостность
Конец
Чернышев  Артём,
2ГИС
cai@2gis.ru
@chernyshev_art
Вопросы?

Weitere ähnliche Inhalte

Ähnlich wie CodeFest 2013. Чернышев А. — Пути миграции перелётных данных

2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...HappyDev
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитикиИлья Середа
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Ontico
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхSergey Xek
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Badoo Development
 
Логическая витрина для доступа к большим данным
Логическая витрина для доступа к большим даннымЛогическая витрина для доступа к большим данным
Логическая витрина для доступа к большим даннымSergey Gorshkov
 
Business Intelligence. Современный взгляд
Business Intelligence. Современный взглядBusiness Intelligence. Современный взгляд
Business Intelligence. Современный взглядAndrey Korshikov
 
Продвинутый анализ и машинное обучение с помощью виртуализации данных
Продвинутый анализ и машинное обучение с помощью виртуализации данныхПродвинутый анализ и машинное обучение с помощью виртуализации данных
Продвинутый анализ и машинное обучение с помощью виртуализации данныхDenodo
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхSergey Xek
 
GrainTrack. ProAgro. Graintraders business process management
GrainTrack. ProAgro. Graintraders business process managementGrainTrack. ProAgro. Graintraders business process management
GrainTrack. ProAgro. Graintraders business process managementGraintrack
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Ontico
 
Презентация Игорь Баньковский (Depositphotos) для NaZapad 3
Презентация Игорь Баньковский (Depositphotos) для NaZapad 3Презентация Игорь Баньковский (Depositphotos) для NaZapad 3
Презентация Игорь Баньковский (Depositphotos) для NaZapad 3NaZapad
 
Жизнь консалтинга в мире DevOps
Жизнь консалтинга в мире DevOpsЖизнь консалтинга в мире DevOps
Жизнь консалтинга в мире DevOpsIvan Evtukhovich
 
Четыре взгляда на Cradle
Четыре взгляда на CradleЧетыре взгляда на Cradle
Четыре взгляда на CradleAlekseyTimof
 
Виртуализация Данных: Введение
Виртуализация Данных: ВведениеВиртуализация Данных: Введение
Виртуализация Данных: ВведениеDenodo
 
Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Ontico
 

Ähnlich wie CodeFest 2013. Чернышев А. — Пути миграции перелётных данных (20)

2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
2015-12-05 Алексей Зиновьев - Когда все данные станут большими...
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитики
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
 
Логическая витрина для доступа к большим данным
Логическая витрина для доступа к большим даннымЛогическая витрина для доступа к большим данным
Логическая витрина для доступа к большим данным
 
Business Intelligence. Современный взгляд
Business Intelligence. Современный взглядBusiness Intelligence. Современный взгляд
Business Intelligence. Современный взгляд
 
Продвинутый анализ и машинное обучение с помощью виртуализации данных
Продвинутый анализ и машинное обучение с помощью виртуализации данныхПродвинутый анализ и машинное обучение с помощью виртуализации данных
Продвинутый анализ и машинное обучение с помощью виртуализации данных
 
Распространенные ошибки применения баз данных
Распространенные ошибки применения баз данныхРаспространенные ошибки применения баз данных
Распространенные ошибки применения баз данных
 
GrainTrack. ProAgro. Graintraders business process management
GrainTrack. ProAgro. Graintraders business process managementGrainTrack. ProAgro. Graintraders business process management
GrainTrack. ProAgro. Graintraders business process management
 
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных (Сергей Аверин)
 
Задания по первому занятию
Задания по первому занятиюЗадания по первому занятию
Задания по первому занятию
 
Презентация Игорь Баньковский (Depositphotos) для NaZapad 3
Презентация Игорь Баньковский (Depositphotos) для NaZapad 3Презентация Игорь Баньковский (Depositphotos) для NaZapad 3
Презентация Игорь Баньковский (Depositphotos) для NaZapad 3
 
Жизнь консалтинга в мире DevOps
Жизнь консалтинга в мире DevOpsЖизнь консалтинга в мире DevOps
Жизнь консалтинга в мире DevOps
 
Четыре взгляда на Cradle
Четыре взгляда на CradleЧетыре взгляда на Cradle
Четыре взгляда на Cradle
 
Виртуализация Данных: Введение
Виртуализация Данных: ВведениеВиртуализация Данных: Введение
Виртуализация Данных: Введение
 
Oblachnye vychisleniya -_ponyatiya_i_tehnologii
Oblachnye vychisleniya -_ponyatiya_i_tehnologiiOblachnye vychisleniya -_ponyatiya_i_tehnologii
Oblachnye vychisleniya -_ponyatiya_i_tehnologii
 
Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...Машинное обучение в электронной коммерции - практика использования и подводны...
Машинное обучение в электронной коммерции - практика использования и подводны...
 
Big data
Big dataBig data
Big data
 
Big Data
Big DataBig Data
Big Data
 

Mehr von CodeFest

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита ПрокоповCodeFest
 
Денис Баталов
Денис БаталовДенис Баталов
Денис БаталовCodeFest
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена ГальцинаCodeFest
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр КалашниковCodeFest
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина ИвановаCodeFest
 
Marko Berković
Marko BerkovićMarko Berković
Marko BerkovićCodeFest
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис КортуновCodeFest
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр ЗиминCodeFest
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей ИгнатовCodeFest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим СмирновCodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим ПугачевCodeFest
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван БондаренкоCodeFest
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 

Mehr von CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

CodeFest 2013. Чернышев А. — Пути миграции перелётных данных