Опыт разработки масштабируемого решения по хранению...

19
12 ноября 2014 года Опыт разработки масштабируемого решения по хранению журналов в Hadoop Дмитрий Морозов Ведущий специалист по проектированию IT-инфраструктурных решений

description

Выступление Дмитрия Морозова, нашего ведущего специалиста по проектированию IT-инфраструктурных решений, на техническом семинаре «Hadoop на практике. Новые инструменты и проекты» (12 ноября 2014, Москва).

Transcript of Опыт разработки масштабируемого решения по хранению...

Page 1: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

12 ноября 2014 года

Опыт разработки

масштабируемого решения

по хранению журналов в Hadoop

Дмитрий Морозов

Ведущий специалист

по проектированию IT-инфраструктурных решений

Page 2: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Исходная проблематика

и постановка задачи

2/19

Page 3: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Специфика компаний, с которыми

работаем

Торговые сети

Банки

Разнообразный парк

автоматизированных учетных систем

Нагруженные базы данных,

большая часть из которых – Oracle

3/19

Page 4: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Трудности компаний, обладающих

зоопарком учетных систем

Дорогое хранение практически

неиспользуемых данных журналов

Сложное администрирование

оперативных баз данных, недостаточное

окно времени для резервного копирования

Невозможность использовать

информацию журналов для анализа

4/19

Page 5: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Цели решения (интересы клиентов)

Уменьшить стоимость хранения данных

журналов, обеспечив доступ

к ним из существующих приложений

Сохранить привычный способ работы

с приложениями для пользователей

Упростить задачи администрирования БД

Создать возможность использования

журналов при анализе больших данных

5/19

Page 6: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Модель жизненного цикла данных

Оперативный контур

Отчетный контур

Аналитический контур

Архивный контур

Удаление

Создание

6/19

Page 7: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Начальное положение дел

Все данные

7/19

Page 8: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Журналы как отдельная категория

Существенный вклад в объем данных Большой поток данных Только для чтения

Отдельное хранение Масштабируемость Оптимизация на чтение/поиск/аналитику

8/19

Page 9: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Предлагаемое разделение

Оперативный и отчетный контур

Аналитический и архивный контур

9/19

Page 10: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Почему Hadoop?

Варианты размещения журналов:

Партиционирование в рамках того же экземпляра БД

В отдельном экземпляре БД

В распределенном хранилище (например, ElasticSearch)

В хранилище Hadoop

Преимущества выбора Hadoop:

Стоимость хранения

Масштабируемость и отказоустойчивость

Богатые возможности ad hoc анализа данных

инструментами Hadoop

10/19

Page 11: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Архитектура масштабируемого

решения по хранению журналов

11/19

Page 12: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Общая схема решения: было

АС

Генерация данных журналов

Сохранение данных журналов

Файлы на

локальных дисках

Журналыв БД

Интерфейсы доступа к журналам

Первичная запись

Чтение

Запрос данных

Запись данных12/19

Page 13: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Общая схема решения: стало

АС

Генерация данных журналов

Сохранение данных журналов

Файлы на

локальных дисках

Журналыв БД

Интерфейсы доступа к журналам

Первичная запись

Хранилищежурналов Архивирование

Чтение

Запрос данных

Запись данных13/19

Page 14: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Размещение данных

Даты событий

Журналы в исходной БД(фиксированный объем)

Журналы в хранилище

Перенос данных

Удаление данных

Создание новых

данных

Оперативный и отчетный контурАналитический и архивный контур

14/19

Page 15: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Архитектура хранилища

Распределенная файловая система (HDFS)

Сервис запуска задач(Oozie)

Сервис переноса текстовых журналов

(Flume)

Сервис переноса реляционных

журналов (Sqoop)

Сервис конфигурирования

кластера(ZooKeeper)

Сервис администрирования

кластера(ClouderaManager)

Сервис очистки журналов

FullScan-БД (Impala) KeyValue-БД (HBase)

Интерфейс запроса данных(REST API)

Интерфейс импорта файловых

журналов

Интерфейс импорта журналов

РСУБД

Сервис индексации

(Solr)

Сервис доступа к журналам хранилища

Запрос данных

Запись данных

Разработка CUSTIS

Компоненты экосистемы Hadoop

15/19

Page 16: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Подключение АС к хранилищу

16/19

Сервер приложений (Java/Jboss)

БД(Oracle)

Журнал сервера приложений

Запрос журнальных данных

Интеграционный адаптер

БД + Сервер приложений

(Oracle)

Интеграционный журнал

Запросжурнальных данных

Запрос «свежих» журналов

Интеграционныйжурнал

Интеграционный адаптер

Запрос «свежих» журналов

Журнал приложенияЖурнал

приложения

Интерфейс запроса данных

(REST API)

Интерфейс импорта файловых журналов

Интерфейс импорта журналовРСУБД

Запрос данных

Запись данных

Page 17: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Стоимость хранения данных (10 Тб)

На СХД среднего уровня

Полка СХД + коммутаторы ~ 3 млн руб.

SATA ~ 50 Тб, т. е. 600 тыс. руб. за 10 Тб

SAS ~ 15 Тб, т. е. 2 млн руб. за 10 Тб

SSD, FlashCache и т. п. даже не рассматриваем

На HDFS

По 10 Тб обычных дисков на 4 дешевых сервера

~ 50 х 4 = 200 тыс. руб.

Оборудование и для хранения, и для вычислений

Разница – минимум в 3 раза, для SAS – в 10

17/19

Page 18: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Результаты решения

Значительно сокращается стоимость хранения

данных журналов (минимум в 3 раза)

За счет уменьшения объемов оперативных БД

упрощаются задачи администрирования,

уменьшается время создания резервных копий

Для пользователей ничего не изменилось,

существовавшие интерфейс и функционал АС

сохранены

Информацию, которая раньше считалась

обузой, можно использовать при анализе

больших данных

18/19

Page 19: Опыт разработки масштабируемого решения по хранению журналов в Hadoop

Спасибо!

Вопросы?

Дмитрий Морозов

[email protected]

19/19