Finding A Needle In A Haystack1

Как заставить IaaS работать на нужды ваших больших данных?

Большие данные: два важных определения, которые вы должны знать

Большие данные – термин достаточно широкий и его значением часто злоупотребляют. Его можно использовать, и для того, чтобы описать общую «информационную перегрузку» в специфичных случаях дата-майнинга, и для аналитики на основе крупномасштабных баз данных. Таким образом, можно выделить два основных подхода к большим данным. Чтобы принимать взвешенные обоснованные решения об инфраструктуре, необходимой для достижения ваших целей, вы должны понимать разницу этих подходов и знать, в чем именно заключаются ваши нужды.

Вот стог сена — найдите иголку

Один класс больших данных можно рассматривать как «нахождение иголки в стоге сена». В этом случае у вас есть горы данных и очень размытое представление о возможности проникновения в их структуру, об их взаимосвязи, а следовательно – об их анализе. Таким образом, вашей целью является перелопатить данные и найти связи, которые позволят вам получить нужное представление через разумное время. Этот тип статических «больших данных» требует большой вычислительной мощности от таких серверных технологий, как например Hadoop. Эти приложения используют по большей части пакетные задания со спорадическими и часто непредсказуемыми инфраструктурными потребностями.

Массивная база «больших данных» в реальном времени
Термин «большие данные» также используется, чтобы описать более распространенные базы данных приложений в режиме реального времени, масштабы которых требуют решений, выходящих далеко за рамки традиционных средств SQL. Приложения «больших данных» в реальном времени,  такие как Mongo DB, Cassandra и другие предоставляют необходимую масштабируемость и производительность. Возможности реляционных баз данных часто слишком ограничены для больших объемов неструктурированных данных. NoSQL и другие решения лучше подходят для выполнения этой задачи, но они требуют высокой производительности системы хранения данных, скоростных операций ввода-вывода и возможности быстрого расширения по требованию. Эти запросы значительно отличаются от задач «поиска иголки в стоге сена», но один и тот же термин часто используется для описания обоих типов.

Вопросы производительности

Производительность вычислений довольно важна для первого типа больших данных. Для приложений дата-майнинга данные в реальном времени не важны — у вас уже есть все необходимое. Требования производительности в данном случае заключаются в возможности достаточно быстро извлекать данные и обрабатывать их, а это зависит от их типа и от того, какое практическое применение они получат в вашем бизнесе. Тип инфраструктуры имеет большое влияние на то, сколько времени требуется, чтобы обработать ваши «большие данные». Если вы можете сократить время обработки с трех дней до двух благодаря более мощной облачной инфраструктуре, это может изменить вашу бизнес-модель.

Для баз «больших данных» в режиме реального времени критическим параметром становится скорость ввода-вывода. Что на самом деле происходит, когда миллионы пользователей одновременно чекинятся в своих любимых ресторанах, а затем в кинотеатрах через мобильные приложения соцсетей? Извлечение этой информации зависит от скорости захвата данных в реальном времени, но быстрая обработка и обучение системы на основе этих данных опирается на ресурсы ЦОД. Объявления, которые вы видите на экране смартфона, сформулированы и доставлены вам на основе информации о вашем местоположении, моделях поведения и пользовательских предпочтениях в реальном времени. Динамические данные в реальном времени требуют высокой скорости ввода / вывода систем хранения и одновременно высокой производительности вычислений для того, чтобы обеспечить такую целевую рекламу.

Осознав различия типов «больших данных», вы можете принимать более обоснованные решения в отношении инфраструктуры и моделейIaaS (Infrastructure-as-a-service – инфраструктура как сервис), которые соответствуют вашим потребностям. Ваша организация может иметь оба типа проблем «больших данных».

Как правильно выбрать IaaS-модель для обслуживания рабочих нагрузок по «нахождению иголок в стоге сена»?

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

1)     Динамическое изменение, периодическое использование – Большинство таких данных обрабатываются партиями и требуют гибкой инфраструктуры, которая может работать с непредсказуемой переменной нагрузкой.

2)     Большие вычислительные потребности – «Большие данные» требуют серьезных вычислительных мощностей, чтобы выполнить работу в разумные сроки и обеспечить эффективный анализ.

Какие варианты инфраструктуры поддерживают эти требования?

Многопользовательские виртуальные облачные платформы предлагают отличную экономическую модель и могут работать с переменными нагрузками, но работая с ними, чрезвычайно трудно выполнять требования производительности, если вам понадобится развиваться и расти. Технологии интеллектуального анализа «больших данных», такие как Hadoop, могут работать на приемлемом уровне в виртуальных средах, когда вы только начинаете. При масштабировании начинаются проблемы с сетевыми и вычислительными мощностями.

Виртуальность, совместное использование мощностей и слишком большое количество арендаторов в многопользовательских облаках могут привести к проблемам с «шумными соседями» – когда обработка ваших «больших данных» начнет оказывать влияние на ЦОД и параметры производительности других  арендаторов.

Что делать, если ваш случай — массивная база «больших данных» в реальном времени? Казалось бы, это оставляет вас с двумя вариантами: либо свыкнуться с нерегулярными параметрами производительности виртуальных облачных платформ, в которых вы платите за фактический объем работ, либо начать строить свою собственную дорогую инфраструктуру. Однако, есть IaaS-решения, позволяющие получить необходимую гибкость и высокий уровень производительности для работы с большими данными.

«Облако на чистом железе» (Bare-metal cloud) может обеспечить выделенное хранение и нужные вычислительные мощности наряду с гибкостью для непредсказуемых нагрузок. На такой облачной платформе все задачи вычисления и хранения полностью посвящены вашим рабочим нагрузкам. Там вообще нет соседей, не говоря уже о «шумных». Вы можете полностью обеспечить ваши рабочие нагрузки, а затем разом безболезненно избавиться от всей этой штуки, завершив проект. Один нюанс — даже с выделенными серверами и системами хранения, сетевой уровень по-прежнему будет общим для нескольких арендаторов, что может быть сдерживающим фактором для некоторых крупномасштабных проектов, где скорость пропускания канала критически важна. При том, что «облако на чистом железе» — один из лучших вариантов соотношения цена/производительность, ваши потребности могут расти. Тогда на помощь придет управляемый хостинг или частное облако.

Управляемый хостинг или частное облако — лучший вариант в некоторых случаях. Инфраструктура выделяется вам в частной сети и может быть настроена с учетом ваших конкретных потребностей. Это решение совмещает высокие скорости работы сети наряду с выделенными вычислительными ресурсами, хранением данных и разумной гибкостью «облака на чистом железе». Конечно, это будет не самый экономичный вариант, но если требования вашей рабочей нагрузки высоки – это приемлемый компромисс.

Если вы начинаете приключения с «большими данными» в виртуальном облаке или «облаке на чистом железе», важно сразу признать, что ваши инфраструктурные потребности будет меняться с течением времени. Когда объемы ваших «больших данных» расширятся, выделенные управляемые частные облака могут подойти лучше, не имея ограничений совместно используемой сети.

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

 

comments powered by Disqus