Выступление Дмитрия Морозова, нашего ведущего специалиста по проектированию IT-инфраструктурных решений, на техническом семинаре «Hadoop на практике. Новые инструменты и проекты» (12 ноября 2014 года, Москва).
Process и Case Management в информационной системе: от автоматизации As Is к ...
Опыт разработки масштабируемого решения по хранению журналов в Hadoop
1. 12 ноября 2014 года
Опыт разработки масштабируемого решения по хранению журналов в Hadoop
Дмитрий Морозов
Ведущий специалист по проектированию IT-инфраструктурных решений
3. Специфика компаний, с которыми работаем
Торговые сети
Банки
Разнообразный парк автоматизированных учетных систем
Нагруженные базы данных, большая часть из которых –Oracle
3/19
4. Трудности компаний, обладающих зоопарком учетных систем
Дорогое хранение практически неиспользуемых данных журналов
Сложное администрирование оперативных баз данных, недостаточное окно времени для резервного копирования
Невозможность использовать информацию журналов для анализа
4/19
5. Цели решения (интересы клиентов)
Уменьшить стоимость хранения данных журналов, обеспечив доступ к ним из существующих приложений
Сохранить привычный способ работы с приложениями для пользователей
Упростить задачи администрирования БД
Создать возможность использования журналов при анализе больших данных
5/19
6. Модель жизненного цикла данных
Оперативный контурОтчетный контурАналитический контурАрхивный контурУдалениеСоздание
6/19
8. Журналы как отдельная категория
Существенный вклад в объем данных Большой поток данных Только для чтения Отдельное хранение Масштабируемость Оптимизация на чтение/поиск/аналитику
8/19
10. Почему Hadoop?
Варианты размещения журналов:
Партиционированиев рамках того же экземпляра БД
В отдельном экземпляре БД
В распределенном хранилище (например, ElasticSearch)
В хранилище Hadoop
Преимуществавыбора Hadoop:
Стоимость хранения
Масштабируемость и отказоустойчивость
Богатые возможности ad hoc анализа данных инструментами Hadoop
10/19
12. Общая схема решения: было
АСГенерация данных журналовСохранение данных журналовФайлы на локальных дискахЖурналыв БДИнтерфейсы доступа к журналамПервичная записьЧтениеЗапрос данныхЗапись данных
12/19
13. Общая схема решения: стало
АСГенерация данных журналовСохранение данных журналовФайлы на локальных дискахЖурналыв БДИнтерфейсы доступа к журналамПервичная записьХранилищежурналовАрхивированиеЧтениеЗапрос данныхЗапись данных
13/19
14. Размещение данных
Даты событийЖурналы в исходной БД(фиксированный объем) Журналы в хранилищеПеренос данныхУдаление данныхСоздание новых данныхОперативный и отчетный контурАналитический и архивный контур
14/19
16. Подключение АС к хранилищу
16/19
Сервер приложений (Java/Jboss) БД(Oracle) Журнал сервера приложенийЗапрос журнальных данныхИнтеграционный адаптерБД + Сервер приложений(Oracle) Интеграционный журналЗапросжурнальных данныхЗапрос «свежих» журналовИнтеграционныйжурналИнтеграционный адаптерЗапрос «свежих» журналовЖурнал приложенияЖурнал приложенияИнтерфейс запроса данных(REST API) Интерфейс импорта файловых журналовИнтерфейс импорта журналовРСУБДЗапрос данныхЗапись данных
17. Стоимость хранения данных (10 Тб)
На СХД среднего уровня
Полка СХД + коммутаторы ~3 млн руб.
SATA~ 50 Тб, т.е. 600 тыс. руб. за 10 Тб
SAS ~15 Тб, т.е. 2 млн руб. за 10 Тб
SSD, FlashCacheи т.п. даже не рассматриваем
На HDFS
По 10 Тб обычных дисков на 4 дешевых сервера ~50 х 4 = 200 тыс. руб.
Оборудование и для хранения, и для вычислений
Разница –минимум в 3 раза, для SAS–в 10
17/19
18. Результаты решения
Значительно сокращается стоимостьхранения данных журналов (минимум в 3 раза)
За счет уменьшения объемов оперативных БД упрощаются задачи администрирования, уменьшается время создания резервных копий
Для пользователей ничего не изменилось, существовавшие интерфейс и функционал АС сохранены
Информацию, которая раньше считалась обузой, можно использовать при анализе больших данных
18/19