Быстрые данные против больших: как скорость обработки информации меняет бизнес и общество
Основатель и технический директор ПО-разработчика GridGain Никита Иванов рассказал vc.ru о том, почему сегодня важна скорость в работе с информацией, и объяснил суть технологии in-memory computing, которая обеспечивает перевод обработки данных с диска в память компьютера. Иванов рассказал, как это решение помогает выстраивать новые бизнес-процессы в обществе и бизнесе.
Данные сегодня настолько «большие», что важно уже не просто обеспечить их хранение, а научиться оперативно обрабатывать и использовать эти массивы. По оценке аналитиков из IDC, к 2019 году рынок данных вырастет на 50% до $187 млрд. Это говорит о растущих потребностях компаний в решениях, которые помогут извлечь пользу из накопленных данных.
Возникает вопрос - как сделать так, чтобы это происходило в режиме реального времени. Данную задачу ставят перед собой разработчики ПО на базе технологии in-memory computing - это перевод обработки данных с диска в память компьютера. Разберемся, в чем ее преимущества и ограничения.
Технология
Еще лет 20 назад понятие Big Data противопоставлялось так называемым Small Data или данным внутри одной организации. Но потом компании стали выходить за рамки собственных данных - Google, Facebook, Twitter, Amazon - собирают колоссальные объемы информации, идущие далеко за пределы CRM и ERP.
Первая проблема, с которой они столкнулись, - это хранение данных. Одними из первых ее начали решать в Yahoo - так появилась Hadoop, оупенсорс-технология, разработанная для обработки логов с веб-серверов компании. Позже доступ к ней получили и другие разработчики. Главное преимущество Hadoop в том, что она была бесплатной, тогда как все остальные системы хранения Big Data были очень дорогими. Однако обработка в Hadoop была и остается весьма медленной.
До 2011-2012 года рынок пытался научиться хранить данные. Сегодня эта проблема в целом уже решена. Мы находимся на этапе активного развития систем обработки данных.
Посмотрите на свой телефон. Сколько приложений в нем выдают результат завтра? Или даже через два часа? Таких сервисов больше не существует. Так и в современном бизнесе счет идет не на часы и даже не на минуты - большинство задач должно решаться в режиме реального времени. Так на смену Big Data приходит понятие Fast Data - «быстрых» данных, из которых можно извлечь инсайты за считанные секунды.
Остается понять, как реализовать это технологически. Большинство систем хранения Dig Data построено на дисках (spinning disk или flash), а обработка ведется на нескольких компьютерах или серверах, собранных в кластер. Технология in-memory computing позволяет в рамках такого же кластера использовать память компьютеров. С точки зрения доступа и обработки память становится в тысячи, а то и в миллионы раз быстрее, чем на диске.
Сегодня этот инструмент - последний этап качественного изменения технологии хранения данных. Архитектура современных компьютеров не предусматривает других возможностей для этой дели. Решения на базе in-memory computing разрабатывают и крупные компании вроде Oracle, IBM и Microsoft, и стартапы, включая наш.
В качестве примера приведу результаты демо-версии продукта, который мы представляли «Сбербанку» в процессе работы. На кластере из 10 серверов с общей памятью в один терабайт мы показали миллиард бизнес-транзакций в секунду.
Если взять самый быстрый и дорогой кластер от Oracle, то в заданной ситуации, скорее всего, можно было бы добиться 30-40 миллионов транзакций в секунду. Кейс «Сбербанка» показателен с точки зрения преимуществ технологии для бизнеса. Давайте посмотрим, почему.
Бизнес
«Сбербанк», как и многие другие банки, активно развивает свои мобильные приложения. Финансовые организации видят, что операционный объем данных и частота операций с мобильных стала намного выше, чем на десктопах.
Поменялась культура использования банковских сервисов - с мобильного пользователи проверяют счет, платят, переводят деньги с карты на карту по несколько раз на дню, так же, как проверяют ленту новостей в Facebook или Twitter. Количество клиентов остается тем же, но операций становится в сотни раз больше.
Чтобы справиться с быстрорастущим потоком обработки данных и обеспечить скорость и масштабируемость, «Сбербанк» обратил внимание на решение in-memory computing. Сейчас это в основном корпоративный продукт. Это связано в том числе с высокой стоимостью памяти, но кроме этого, большинство машин для личного использования справляются с задачами благодаря имеющемуся аппаратному обеспечению. При этом обработка данных с большинства пользовательских устройств и приложений идет на бэкенд.
Например, изначально на этом решении строился мессенджер WhatsApp. Другой пример - игры. Если игра становится вирусно популярной, то ей тоже необходимы надежные и быстрые технологии обработки платежей и пользовательских данных в реальном времени. Поэтому, хотя in-memory computing вряд ли появится на пользовательском телефоне в ближайшем будущем, многие приложения используют эту технологию на бэкенде.
Важно то, в чем оценивать важность технологии для бизнеса. Компании обращаются к in-memory computing не тогда, когда нужно поднять производительность или ускорить текущий процесс. Большинство клиентов говорят, что эта технология позволяет им делать то, что они до этого не могли делать в принципе. То есть она нужна тогда, когда нет возможности решить бизнес-функцию иначе, когда бизнес-процесс вообще невозможен без технологической базы, которая позволит выполнить его быстро и в нужном масштабе. Однако ее применение не ограничивается бизнесом.
Общество
В то время как для компаний in-memory computing означает принципиально новые бизнес-процессы, то в других сферах технология открывает новые перспективы для исследований и разработок. Например, любая биотех-компания сейчас - это прежде всего софтверный разработчик, потому она нуждается в технологическом решении для обработки данных.
У нас есть клиент из Канады - маленький стартап, который совершил революцию в обработке МРТ-изображений. Раньше снимки с томографа нужно было показывать конкретному доктору и ждать диагноза, надеясь на квалификацию конкретного врача. Их решение агрегирует снимки из нескольких клиник, разбивает их на маленькие подснимки и рассылает докторам по всему миру. Если у двух-трех специалистов один подснимок вызывает вопросы, они отмечают его для дальнейшего рассмотрения.
Тем самым стартап решил проблему качества и скорости - меньше чем за минуту он может обработать снимок каждого пациента. Гарантия точности обеспечивается статистикой, а скорость диагностики такова, что пациент может получить ответ, пока встает с кушетки.
Другой пример - британская компания e-Therapeutics, которая специализируется на исследованиях и разработке лекарственных средств для лечения биокомплексах болезней, таких как рак и нейродегенеративные заболевания. Исследования основаны на компьютерном анализе больных клеток. Единичный анализ такого типа относительно простой и не занимает много времени. Однако исследования e-Theurapeutics подразумевают сотни тысяч подобных анализов по множеству параметров и гипотез, что создает чрезвычайно интенсивную вычислительную нагрузку.
С этим решением в компании смогли всего за несколько часов или даже минут проводить анализы, на которые раньше уходило несколько недель. Они также получили возможность создавать намного более масштабные и сложные модели клеток, что открыло новые подходы к лечению заболеваний.
Наконец, специалисты смогли быстрее проверять гипотезы и работать над несколькими проектами одновременно. Потенциально такой скачок позволит ускорить поиск и разработку противораковых препаратов и методов терапии других биокомплексных заболеваний.
Ограничения
У технологии in-memory computing есть свои ограничения, которые пока сдерживают ее развитие. Прежде всего это цена - стоимость такого решения всегда дороже, чем обработка данных на диске. Кроме того, добиться петабайтного объема сложно и не всегда экономично. Поэтому технология используется в основном для операционных, а не исторических данных.
Кроме того, стабильность работы решения на in-memory computing во многом зависит от сетевого решения, на котором построен кластер. Также критически важным становится качество разработки.
Однако сейчас виден качественный скачок в производительности и масштабируемости бизнеса за счет in-memory computing. Конечно, со временем обработка данных на диске будет расти в скорости. К примеру, мы сейчас работаем с компанией Fujitsu, и у нее есть сервера объемом в 64 терабайта памяти. Чтобы понять масштаб этих данных - примерно пять лет назад общий объем операционных данных в Twitter или весь контент за неделю составлял около четырех терабайт. Но и память будет становиться быстрее и падать в цене, так что разница между ними будет оставаться достаточно постоянной.