«В современном бизнесе все упирается в скорость»
Основатель и технический директор компании — разработчика ПО GridGain Никита Иванов рассказал порталу Банки.ру о том, что такое in-memory computing и почему Сбербанк решил перестроить свою IT-инфраструктуру с помощью решений, базирующихся на этой технологии. — В чем суть технологии in-memory computing, если объяснять на пальцах? — Для начала нужен небольшой экскурс в историю. Где-то в начале 1950-х годов появился первый внешний накопитель. Память у компьютеров была очень маленькой, а данных всегда хотелось хранить больше, чем это было возможно. Потом появились диски, со временем они стали дешевле. В конце 1980-х появилась флеш-память. Память менялась, становилась дешевле, лучше, и в конце концов все наши компьютеры и телефоны стали работать с флеш-накопителями. Но концепция оставалась все та же: данные хранились «вовне» — где-то еще. Лет 15 назад началась эра хранения данных в памяти компьютера. Люди поняли, что если хранить данные непосредственно в памяти машины, то получить доступ к ним можно намного быстрее, так как они ближе. Ситуация постепенно менялась: за последние 5—7 лет произошел качественный скачок. У нас появились 64-битные процессоры, которые есть сейчас в каждом телефоне. Для примера: мы работаем с компанией Fujitsu, у них есть компьютер c памятью в 64 Тбайт. Для сравнения: лет пять назад общий объем операционных данных Twitter составлял около 4 Тбайт. То есть сегодня можно было бы хранить восемь «твиттеров» в одном компьютере. Как обработать такой колоссальный объем данных? Вот именно эту проблему решает GridGain. Объемы данных растут катастрофически быстро. Когда мы говорим об оперативной памяти компьютера, с которой работаем, мы имеем в виду кластеры компьютеров, машины, соединенные вместе для использования их совокупных ресурсов. В Лондоне одна компания запускает кластер, состоящий более чем из 2,5 тысячи узлов. Таких компаний пока, конечно, не очень много. У Facebook есть кластер на Hadoop, Apple использует большой кластер на Cassandra. Наверное, у десятка компаний есть кластеры таких размеров, но это колоссальный объем данных, который технология уже позволяет обрабатывать в режиме реального времени. — Где можно использовать in-memory computing? — Кейсов достаточно много, выделю основные. Применительно к финансовой сфере у нас есть кейс, связанный с антифрод-системами, который использует несколько компаний. Мы позволяем это делать очень эффективно, так как это абсолютно наша специфика. На входе — огромный объем данных, вся история клиента: где был, что делал, что покупал. Приходит трансакция, и необходимо четко понять: а «подходит» ли она клиенту? Нужно очень быстро дать ответ, чтобы клиент, использовавший банковскую карту, не сидел и не ждал ответа у терминала. Раньше все это тоже было, но в силу того, что обработка происходила медленно, проверка была очень поверхностной. Допустим, когда я, житель Америки, отправляюсь в Россию и пытаюсь совершить здесь платеж, моя карта с большой вероятностью будет заблокирована, так как в 99% случаев все проводимые мной операции происходят на другом континенте. Есть компания, которая агрегирует информацию с различных сервисов, которыми пользуется человек, например, для путешествий, как Expedia. Она знает, что ты купил билет в Россию и на какую дату. Соответственно, блокировки карты из-за трансакции в России не последует. Это очень сложная тема, ведь важно еще и соблюсти безопасность. — Где еще можно использовать такие «быстрые вычисления»? — В очень многих сферах: в электронной коммерции, ретейле, индустрии игр, телекоме, здравоохранении. В телекоме, как и в банковской сфере, актуальны адресные предложения для клиентов. Чем быстрее ты сможешь понять, какое предложение будет актуальным для данного человека в каждый конкретный момент времени, тем скорее это предложение принесет отдачу. Мы общаемся с одним из пяти крупнейших телекомов в России. У них большинство предложений делается чуть ли не рандомно. Они просто знают, что у абонента есть деньги на балансе, что иногда он ездит по России. Они выдают множество предложений, связанных с какими-то скидками по России, совершенно от балды. Не зная, ни куда ты едешь, ни что ты делаешь. Проблема — большие объемы данных, реально большие. И необходимо укорачивать время, за которое нужно обработать эти объемы. Технически никто из телеком-операторов сейчас не может действовать иначе. Рынок стал глобальным, все стремятся в новые регионы. Бизнесы растут, и они приносят сотни миллионов пользователей. Как обрабатывать информацию, которую генерируют эти пользователи? Можно потратить миллиарды на традиционные базы данных. Либо нужно сделать кардинальный шаг в другую сторону. Это очень распространенная проблема. Что в онлайн-играх, что у больших банков, что у телеком-компаний — все одинаково. Если убрать специфику того, что они делают, проблема остается одна: вот, у нас 20 Тбайт данных, и нам нужно за секунды их обработать. Как нам это сделать? Проблема идентична для всех. — То есть скорость обработки данных для бизнеса становится критически важной? — Да, в современном бизнесе все упирается в скорость. Проблема в том, что объемы данных постоянно увеличиваются, а время ожидания должно постоянно уменьшаться. Это проблема, которая традиционного решения не имеет. Реальность — в необходимости искать новые технологические решения. Беседовал Павел ШОШИН, Banki.ru