Проект

Big Data Сбербанка растет бешенными темпами. Как хранится и используется этот супермассив?

Заказчики: Сбербанк РФ

Москва; Финансовые услуги, инвестиции и аудит

Продукт: Apache Hadoop

Дата проекта: 2016/07  - 2016/09
Количество лицензий: 12 500 000
Технология: СУБД
подрядчики - 190
проекты - 514
системы - 252
вендоры - 113
СМ. ТАКЖЕ (2)

*2018: Первые результаты BigData-проекта

Эксперты "Сбербанк-Технологий" Борис Рабинович, Илья Поздняков и Валерий Выборнов в мае 2018 года подготовили для TAdviser статью о том, как банк хранит и использует быстрорастущие данные.

Big Data Сбербанка растет бешенными темпами

Потребности определяют решения

Ключ к успеху любого бизнеса в умении максимально точно определять потребности клиента. В 2018 году уже не нужно объяснять, как именно в этом помогает Big Data. Количество данных в Сбербанке сопоставимо с такими ИТ-компаниями, как Twitter, Skype, Snapchat и др. Однако наше ключевое отличие - сложность финансовых продуктов и структур данных, где они хранятся. Ну и, конечно, повышенные требования к безопасности. Мы знаем, что деньги и личные данные – очень чувствительные темы для наших клиентов.

Для решения различных бизнес-задач данные в Сбербанке обрабатываются из сотни информационных систем. В банке давно обсуждается вопрос их более эффективного использования. Еще в 2011 году в Сбербанке появился проект по созданию хранилища данных на основе решения от Teradata, что позволило решить задачи по формированию управленческой, финансовой и регуляторной отчетности, индивидуальных предложений для клиентов и др.

Массовое проникновение интернета и растущая популярность социальных сетей открыли новые источники информации и, соответственно, новые возможности для использования данных. Если обогатить внутренние данные Сбербанка внешними, то, без сомнения, можно лучше понимать потребности клиентов, оптимизировать внутренние процессы и многое другое.

Архитектура хранилища данных на основе решения от Teradata не отвечала новым вызовам. В первую очередь, необходимо было обеспечить возможности для роста объемов данных на 10 Пб в год и реализации задач на основе Artificial Intelligence. Поэтому два года назад было принято решение изменить архитектуру хранилища данных. Для этого была запущена программа «Фабрика Данных», в рамках которой созданы системы «Облако Данных» и «Лаборатория Данных» на Hadoop.

Почему Hadoop?

Hadoop предлагает технологию, которая позволяет обрабатывать огромные объемы данных и оптимальна по соотношению цена/качество. Она используется крупнейшими мировыми компаниями: Barclays, Lloyds Banking Group, Citi, Deutsche Bank, Google, Amazon и т.д. По сути, это решение – конструктор, из которого можно строить хранилище данных под нужды бизнеса.

В новой архитектуре Сбербанка ключевыми требованиями к данной технологии стали: ежедневное инкрементальное обновление источников данных, создание единой интегрированной модели данных, прикладных бизнес-решений в «Облаке Данных», а также промышленная среда исполнения AI-моделей. В 2016 году разработка новой архитектуры была сложной и амбициозной задачей для всей команды «Фабрики данных», учитывая объемы данных, зрелость Hadoop и кадровый дефицит.

«Облако Данных» как площадка Сбербанка для работы с данными

В СберТехе созданием «Облака Данных» и «Лабораторией Данных» занимаются специалисты Центра Компетенции по Супермассивам Данных. «Облако Данных» – Big Data кластер под управлением Apache Hadoop на основе дистрибутива Cloudera – было создано всего за два года. В первую очередь, мы разработали основные инфраструктурные сервисы для решения задач по безопасности, аудиту, журналированию и др. Далее решили одну из ключевых задач «Фабрики Данных» – создали инструментарий для инкрементальной загрузки данных из высоконагруженных банковских систем в «Облако Данных», что позволяет загружать несколько десятков ТБ в сутки.

«Облако данных». Интеграция

Загрузка и поддержание в консистентном состоянии такого объема данных оказалось сложной технической задачей. Для ее решения при помощи инструментов экосистемы Hadoop (Apache Spark, Sqoop и других) разработан собственный продукт «репликатор Stork». Идея репликатора возникла на основе анализа трактов загрузки данных из различных источников. На текущий момент в «Облако данных» с помощью этого репликатора загружается более 30 ключевых систем банка.

Помимо загрузки данных из классических реляционных СУБД «Облако Данных» интегрируется с Платформой Поддержки Развития Бизнеса (ППРБ) – еще одной масштабной программой Сбербанка по созданию enterprise back office платформы нового поколения. В отличие от реляционных систем-источников, данные из ППРБ передаются в «Облако данных» непрерывным потоком. Для реализации такого потока была выбрана связка инструментов поточной обработки Apache Kafka и Spark Streaming.

Также данные попадают в «Облако» через загрузку обычных текстовых файлов из различных источников. Именно таким способом Big Data кластер обогащается из внешних источников.

По состоянию на май 2018 года «Облако данных» и потоки в него можно описать следующими параметрами:

  • 2 ПБ – общий объем данных в кластере;
  • 10 ПБ – плановый рост объема данных в течение 2018 года;
  • 15,5 ТБ в сутки – объем ежедневного инкремента данных по текущим источникам;
  • 2000 – 5000 транзакций содержится в потоке в секунду;
  • 170 узлов кластера задействовано для обработки поступающего объема;
  • 400 параллельных заданий по загрузке данных;
  • 200 ТБ – объем ежесуточно обновляемой информации в репликах систем-источников;

На ежедневное обновление данных требуется около 6 часов, но мы стремимся прийти к обновлению, близкому к real-time.

Чтобы «Облако Данных» не превратилось в «болото данных» в целевой архитектуре было предусмотрено создание единой интегрированной модели данных, которую в Сбербанке называют «Единый Семантический Слой» (ЕСС). Он строится на основе «Корпоративной Модели Данных» - логической модели данных банка. Задача этого слоя – отделить потребителя от «сырых» данных и предоставить доступ к интегрированным, непротиворечивым и качественным данным ЕСС, что позволит исключить дублирование работ различных подразделений банка по дата-интеграции, а также использовать ЕСС для формирования отчетности.

Искусственный интеллект

AI-трансформация – одно из ключевых направлений по оптимизации процессов Сбербанка. Исторически AI и машинное обучение были развиты в блоке Риски. К 2018 году решения на основе AI используются практически во всех сферах работы Сбербанка. На начало года было запущено 259 AI-проектов. Ниже представлено несколько примеров моделей, созданных нами с коллегами из подразделений банка:

  • предсказание пиковых дней и часов посещений отделений Сбербанка, что позволяет снизить время ожидания клиента в очереди и оптимизировать рабочие графики операционистов;
  • предсказание остатков денежных средств в банкоматах, что экономит Сбербанку значительные средства в виде наличности, которая иначе лежала бы «мертвым грузом» в банкоматах;
  • предсказание оттока клиентов корпоративного блока Сбербанка, которое позволяет с помощью проактивных действий клиентских менеджеров минимизировать отток.

Полигон для исполнения моделей

Для запуска промышленных моделей в «Облаке данных» действует промышленная среда исполнения AI-моделей – «подсистема пакетного исполнения моделей» (ПИМ), а также созданы «библиотеки моделей машинного обучения». Взаимосвязь этих подсистем позволяет решать задачу выполнения моделей в промышленной среде на реальных данных с требуемым SLA. В ближайшем будущем вместе с другими инициативами Data Science-сообщества Сбербанка мы выведем моделирование в Сбербанке на качественно новый уровень.

До того, как стать промышленной, модель должна быть разработана и провалидирована. Для подобных исследований в «Фабрике данных» на базе Hadoop и Cloudera работает «Лаборатория Данных», где Data Scientist прогоняют модель через все этапы жизненного цикла. В «Лаборатории Данных» используется подмножество данных из «Облака» и других источников, достаточное для экспериментов. Там же разрабатываются и анализируются модели: какие данные есть и каково их качество, что будет при пересечении групп пользователей и т.д. Лаборатории принадлежит одно из ключевых мест в технологическом ландшафте Сбербанка. По сути – это исследовательский центр, в котором рождаются модели машинного обучения и системы искусственного интеллекта.

Как известно, есть существенный разрыв между лабораторной разработкой и промышленным выполнением моделей. В нашей архитектуре такой разрыв решает ПИМ. Подсистема, обеспечивающая перенос моделей из «Лаборатории данных» в «Облако данных» и обеспечивающая выполнение эксплуатационных требований по мониторингу, журналированию и управлению исполнением моделей со стороны владельцев и служб сопровождения. Также в ближайших планах - задача по переносу «окружения модели», когда Data Scientist сможет перенести в промышленную среду не только модель, но и структуры и потоки данных, необходимых для ее корректной работы.

О будущем

Мы планируем развивать реализованные подсистемы «Облака Данных» и решать новые вопросы. Например, как обеспечить репликацию и доступ к данным в режиме near real time? Как правило, обработка изменений, поступающих в «Облако» от систем-источников, происходит периодически и большими порциями («пакетами»), и пока не произойдет очередной обработки, изменения из системы-источника не отразятся в облаке. Репликация и доступ в режиме near real timeпозволят сократить время между изменением в системе-источнике и отражением этого изменения в «Облаке» до нескольких минут. Также особый интерес для бизнеса представляют сверхбольшие графы. С их помощью можно эффективно решать многие задачи с помощью анализа графовых данных с миллиардами связей в интерактивном режиме, начиная от поиска аффилированных лиц и организаций, и заканчивая продуктовыми рекомендациями. Рабочий прототип мы уже создали, о дальнейшем развитии обязательно расскажем.

2016: Выбор подрядчика и старт внедрения

6 июня 2016 года Сбербанк опубликовал список заявок на тендер, в рамках которого ему необходимо поставить распределенную систему хранения и обработки супермассивов данных на платформе Hadoop[1].

При начальной цене в 12,5 млн рублей Teradata предложила свои услуги за 12,24 млн, Glowbyte Consulting - за 11,56 млн, Huawei - за 11,27 млн, AT Consulting - за 11,17 млн.

Минимальную цену - 0 рублей - Сбербанку предложила корпорация IBM. В протоколе рассмотрения заявок дается уточнение, что необходимые лицензии уже были приобретены и оплачены банком в рамках договора с IBM от ноября 2014 года. Стоимость лицензий по курсу на 5 июня 2016 года составляет 3,275 млн рублей.

По итогам рассмотрения заявок победителем стала Teradata. В октябре 2016 года с компанией был заключен контракт на сумму 8,41 млн рублей.

Что именно покупает Сбербанк

Платформа Hadoop выбирается в качестве стандарта Сбербанка, говорится в тендерной документации.

Hadoop представляет собой свободно распространяемый набор ПО для разработки и выполнения распределенных программ, работающих на кластерах, состоящих из сотен и тысяч узлов. В системе предусмотрено дублирование на случай выхода из строя узлов, она поддерживает несколько рабочих копий данных. Работа Hadoop основана на принципе параллельной обработки данных, что позволяет увеличить скорость работы. Объемы обрабатываемой информации измеряются петабайтами. Платформа написана на языке Java.

Система, которую заказывает Сбербанк, должна удовлетворять требованиям к решениям, предъявляемым к классу задач Big Data, следует из ТЗ. В ее состав должны быть включены следующие open-source компоненты, осуществляющие хранение и обработку данных:

  • HDFS – распределенная отказоустойчивая файловая система;
  • YARN – менеджер управления ресурсами и вычислениями;
  • MAP/REDUCE – модель распределенных параллельных вычислений;
  • Apache SPARK – распределенные in-memory вычисления;
  • Kafka – гарантированная доставка сообщений;
  • Sqoop – загрузка данных в/из БД/Hadoop;
  • Apache HIVE – SQL-доступ к данным в HDFS;
  • Hue – браузерный интерфейс анализа данных на Hadoop;
  • Pig – платформа для анализа больших объемов данных на Hadoop;
  • Oozie – планировщик задач.

Hadoop станет стандартом в Сбербанке

В рамках конкурса банк приобретает систему в объеме 61 узла с гарантийной поддержкой. Подрядная организация должна будет предоставить неисключительную лицензию на Hadoop на срок не менее одного года. Победитель заключит со Сбербанком рамочный лицензионный договор, при этом банк вправе определять объемы и сроки приобретения системы по своему усмотрению.

Также в числе требований тендера - наличие внедрений такой системы в России, не менее двух внедрений в крупнейших мировых банках, входящих в рейтинги Forbes 500 или Fortune 500 и совокупно наличие не менее 200 внедрений системы с момента ее выпуска на рынок.

Зачем Сбербанку Hadoop

В Сбербанке заявили TAdviser, что платформа необходима банку для хранения и обработки данных большого объема и различной структуры. Причины выбора Hadoop в качестве стандарта представители Сбербанка объяснили тем, что он органично дополняет другие уже имеющиеся в банка технологии для хранения обработки данных (МРР- и реляционные СУБД) и обладает важными особенностями. В их числе - низкая стоимость совокупного владения из расчета на 1Тбайт хранимых данных за счет использования commodity-оборудования и возможность проводить машинное обучение на всей совокупности хранимых данных.

«
Речь идет не о замене, а, скорее, о расширении технологических возможностей. Наряду с уже имеющимися МРР- и реляционными СУБД скоро мы начнем использовать Hadoop вместе со Spark и другими инструментами для работы с большими данными, - пояснили TAdviser в Сбербанке.
»

В рамках конкурса покупается только платформа Hadoop, реализующая методы распределения данных по вычислительным узлам, их параллельной обработки и сведения результатов. Всю логику работы и конкретные аналитические алгоритмы только предстоит разработать, замечает Владимир Дубинкин, руководитель отдела сетевых решений в компании IBS.

«
Это лишь инструмент для разработчиков, а не аналитическая система сама по себе, - отмечает представитель IBS. - Масштаб же приобретаемой системы довольно значительный - более 60 узлов, что позволяет ей обрабатывать, при наличии соответствующих аппаратных ресурсов, петабайты данных
»

О преимуществах применения Hadoop в решении банковских задач представители Сбербанка рассказывают на профильных конференциях уже около трех лет, напомнил TAdviser Роман Баранов, руководитель направления бизнес-аналитики компании «Крок».

Функционал систем, создаваемых инструментами Hadoop, по мнению Баранова, может быть схож с тем, что реализуется с помощью Cloudera/MapR/HW, то есть решаются задачи кластеризации данных и выдачи оптимального предложения для клиента (Next Best Offer), которое формируется на основе таких характеристик как совершенная покупка, клиентский профиль и поведение похожих клиентов.

Также актуальными остаются задачи оценки кредитных рисков, оптимизации остатков кэша в отделениях и банкоматных сетях, прогнозирования отказов банкоматов и прочие, добавляет он.

Область банковского применения Hadoop крайне обширна и поддерживает такие ключевые направления, как формирование эффективной модели оценки индивидуальных клиентских и партнерских рисков, выявление мошеннических схем в транзакционных и биллинговых каналах, а также высокоточная сегментация всей клиентской базы для генерации наиболее целевых коммерческих предложений и оптимизации маркетинговых коммуникаций, рассказывает директор по маркетингу «Айкумен ИБС» Андрей Лысенко.

Помимо прикладного значения, кластеры Hadoop активно используются банковскими аналитиками для создания тестовой среды при исследовании новых типов данных, разнообразие которых растет в геометрической прогрессии, говорит он.

Ожидаемые сложности при развитии решений на базе Hadoop

При внедрении Hadoop банк может столкнуться с традиционным набором затруднений, возникающий при внедрении новых технологий, полагают в самом Сбербанке: это необходимость наращивания компетенций, встраивание новой технологии во внутренние процессы и интеграция с имеющимся ИТ-ландшафтом.

Технологически внедрение платформы Hadoop несложно и сводится к развертыванию стандартных модулей на серверах вычислительного кластера, отмечают опрошенные TAdviser эксперты. Тем более, что в данном случае речь идет не об open-source решении, а о системе конкретного производителя, сопровождающейся поддержкой вендора. Также предъявляются высокие требования к наличию учебных курсов и уже довольно большого числа сертифицированных специалистов в России.

Дубинкину из IBS основной сложностью видится последующая разработка программного обеспечения для решения аналитических задач Сбербанка, в том числе, оптимизация программного кода для эффективного использования аппаратных ресурсов платформы. Кроме того, задачи анализа больших объемов данных имеют свою специфику и требуют привлечения профильных специалистов, так называемых data scientist, которых пока в России крайне мало.

Пока Hadoop распространен довольно слабо, и число участников каждой конференции по большим данным это только подтверждает, добавляет Баранов из "Крок". Открытых инсталляций эксперт смог насчитать всего порядка 10.

Практика «Айкумен ИБС» определяет основные сложности развертывания в организации управления, апгрейда и мониторинга состояния Hadoop-кластеров, когда счет АПК идет на десятки машин. Например, открытый Cloudera Manager уже не позволяет эффективно контролировать систему из свыше 30 машин и требует дополнительных расходов в виде платного лицензирования, говорит Андрей Лысенко.

Примечания