Первая часть ребуса – это “У нас есть Hadoop ”. Наличие Hadoop означает работу с Big Data ? Как показывает практика это далеко не так. Наличие технологии не значит работу с большими данными, а просто свидетельствует о наличии технологии. Да и местами используется только основа экосистемы Hadoop – HDFS , а это просто распределенное файловое хранилище.
Вторая часть ребуса – это “У нас много данных”. Много данных это сколько? Из-за размытого понимания понятия и в целом отсутствия минимального порога объема данных в понятии, на некоторых проектах и терабайт может считаться Big Data , но в современном мире этим никого не удивить.
А если ребус объединить? Hadoop , положить туда терабайт и получается Big Data ? К сожалению, опять нет. Любой подкованный “IT - шник” скажет, а зачем Hadoop то? И подумав, получается реально не зачем, “реляционка” среднего качества справится и проблем с ней гораздо меньше, чем с Hadoop .
Получается, что объем не показатель, технология не показатель да если совместить тоже не то? Это не совсем так, попробуем разобраться. Что же тогда является показателем и можно говорить гордо – “У нас Big Data ”?
В целом термин в wiki достаточно неоднозначен и с реалиями уже расходится, много лет прошло. Можно трактовать следующим образом: Big data — это различные инструменты, подходы и методы обработки как структурированных, так и неструктурированных данных для того, чтобы их использовать для конкретных задач и целей. И в итоге получаем не просто данные, а целую предметную область, где есть не только хранение, но и специфичная обработка данных для решения бизнес-задач.
Но стоит отметить, что несмотря на определение в нем не хватает части аспектов, без которых понимание сакрального смысла может потеряться. Все-таки важен объем данных хоть сам по себе это и не показатель. В случае Big Data объем, тип данных и задача определяет инструмент решения задачи. Инструмент должен решать задачу, для которой он предназначен Hadoop не единственный инструмент для решения задач большими данными и если используется не он, то это вовсе не означает что это не Big Data . Так же стоит отметить важного аспекта инструментов работы с большими данными – это горизонтальная масштабируемость, так как данные непрерывно увеличиваются.
А какие задачи и где решаются в области Big Data ? По сути, такие задачи есть везде, где есть большие объемы данных, кажется, стоит начинать приводить примеры начиная от примеров проектов начиная от 1 Петабайта. Банковская сфера, компании, занимающиеся исследованиями в различных областях, большое количество государственных компаний и список направлений можно продолжать еще долго. В целом, где есть десятки тысяч пользователей или клиентов там и есть много данных. Если говорить о составе данных, то это идет от отрасли, банк – это транзакции и покупки, web проекты — это клики события на сайте и рекомендации и т. д.
Какие технологии используются для работы с большими данными?
Данных много, где хранить? Такой вопрос, наверное, очевиден. Ответ стоит разделить на части в соответствии с определением – это структурированные данные и неструктурированные данные.
Самые распространённые системы для хранения структурированных данных – это Greenplum, Vertica и Clickhose. Об их особенностях можно рассуждать долго у каждой есть свои минусы и плюсы, но есть и то, что их объединяет. Все эти системы горизонтально масштабируются, имеют привычный аналитикам язык запросов SQL , готовы принять огромные объемы данных. Это только распространённые системы, так же есть и другие которые нашли свое признание на каких то узко специализированных задачах или же просто стоят космических денег.
Самая распространённая система для хранения не структурированных данных – это Hadoop , да в современном community практически все хранят разнородные данные в Hadoop . Есть конечно и экзотика которой не много – это, например S 3 или Ozon Storage .
Данные накоплены и сохранены, а чем обработать? Из описанных выше технологий для работы со структурированными данными в базах есть свой достаточно хороший движок SQL , который решает задачи обработки данных. Что касается Hadoop тут выбор очень богат. В экосистему входят такие компоненты как, Hive , Impala , Spark , Hbase и многие другие, все они так же со своими плюсами и минусами и с одной задачей хорошо справляется один, а c другой задачей другой.
Итак, мир Big Data огромен и постоянно растет так как растут объемы информации. Мы рассмотрели основу понимая, что такое большие данные и не стоит путать это с технологиями и просто данными.
Мнения могу само собой разниться, если есть желание высказываться, то добро пожаловать в комментарии.