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

Preview:

DESCRIPTION

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

Citation preview

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

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

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

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

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

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

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

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

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

2/19

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

работаем

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

Банки

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

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

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

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

3/19

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

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

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

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

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

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

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

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

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

4/19

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

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

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

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

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

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

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

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

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

5/19

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

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

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

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

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

Удаление

Создание

6/19

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

Все данные

7/19

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

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

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

8/19

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

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

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

9/19

Почему Hadoop?

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

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

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

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

В хранилище Hadoop

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

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

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

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

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

10/19

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

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

11/19

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

АС

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

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

Файлы на

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

Журналыв БД

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

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

Чтение

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

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

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

АС

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

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

Файлы на

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

Журналыв БД

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

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

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

Чтение

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

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

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

Даты событий

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

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

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

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

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

данных

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

14/19

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

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

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

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

(Flume)

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

журналов (Sqoop)

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

кластера(ZooKeeper)

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

кластера(ClouderaManager)

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

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

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

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

журналов

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

РСУБД

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

(Solr)

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

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

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

Разработка CUSTIS

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

15/19

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

16/19

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

БД(Oracle)

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

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

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

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

(Oracle)

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

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

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

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

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

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

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

приложения

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

(REST API)

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

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

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

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

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

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

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

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

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

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

На HDFS

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

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

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

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

17/19

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

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

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

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

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

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

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

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

сохранены

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

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

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

18/19

Спасибо!

Вопросы?

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

morozov@custis.ru

19/19

Recommended