
Техника
Руководитель Отдела по работе с Партнерами
Ваша компания полна решимости внедрить озеро данных для ваших больших данных? Это определенно захватывающая и отличная новость! Однако вас ждут непростые времена, поскольку вам предстоит прояснить много фундаментальных вопросов и принять по ним решение. На данном этапе вас, скорее всего, интересует архитектура озера данных и необходимый технологический стек. Чтобы сделать ваше путешествие плавным и комфортным, наши консультанты по большим данным подготовили обзор альтернативных подходов к внедрению.
Озеро данных - это хранилище, предназначенное для хранения огромных объемов данных в их собственном формате. Реализация озера данных позволит вам извлекать ценность из необработанных данных различных типов. В отличие от хранилища данных, озеро данных не имеет ограничений с точки зрения типа данных - оно может быть структурированным, неструктурированным, а также полуструктурированным. С точки зрения архитектуры, озеро данных может состоять из нескольких зон: целевой зоны (также известной как переходная зона), промежуточной зоны и изолированной среды аналитики. Из всех упомянутых зон только постановка является обязательной, в то время как все остальные являются необязательными. Чтобы выяснить, для чего предназначена каждая зона, давайте рассмотрим их поближе.
Сюда поступают данные (структурированные, неструктурированные и полуструктурированные), которые подвергаются предварительной очистке и/или фильтрации. Например, вы собираете данные Интернета вещей с датчиков. Если один из датчиков выдает аномально высокие значения, в то время как другие датчики, которые измеряют тот же параметр, не зарегистрировали ничего необычного, механизм обработки, развернутый в этой зоне, пометит значения как ошибочные.
Существует два способа отображения данных в промежуточной зоне. Во-первых, он может поступать из зоны посадки (если таковая имеется), как данные датчика из нашего предыдущего примера. Во-вторых, мы можем получать данные, которые не требуют какой-либо предварительной обработки, из других внутренних или внешних источников данных. Комментарии клиентов в социальных сетях станут хорошим примером, иллюстрирующим этот случай.
Это зона для экспериментов с данными, основанных на анализе данных. Она отличается от аналитики в том виде, в каком мы ее знаем, поскольку ее результаты (если таковые имеются) напрямую не используются бизнесом. Кстати, мы намеренно уточнили это. Довольно часто случается, что аналитики применяют некоторые модели или алгоритмы к необработанным данным (которые также могут быть объединены с данными из хранилища больших данных или из других внутренних или внешних источников данных) и не получают никаких ценных результатов. Для поисковой аналитики данных это нормально.
К настоящему времени наш список должен был бы закончиться, если бы не одна небольшая заминка. В некоторых источниках вы можете встретить еще один компонент озера данных – зону кураторских данных. Это зона с организованными данными, готовыми к анализу данных. Существуют разные мнения о том, следует ли рассматривать курируемую зону данных как часть озера данных или нет. Хотя оба подхода разумны, мы считаем, что этого делать не следует. Однако, прежде чем приводить аргументы в поддержку нашей точки зрения, давайте приведем терминологию в порядок.
Еще раз взгляните на описание зоны кураторских данных. Разве это не очень похоже на старое доброе традиционное хранилище данных? Это абсолютно так! Единственное отличие заключается в том, что традиционное хранилище данных имеет дело только с традиционными данными, в то время как зона кураторских данных – как с традиционными, так и с большими данными. Чтобы нейтрализовать влияние типов данных, давайте расширим название до хранилища больших данных.
Теперь, после того как мы выяснили, что контролируемую зону данных с таким же успехом можно назвать хранилищем больших данных, давайте обсудим, почему мы считаем, что она находится за пределами озера данных. Данные, хранящиеся в хранилище больших данных, принципиально отличаются от данных в любой зоне озера данных – они более организованы и уже являются источником информации для бизнес-пользователей. Кроме того, на данном этапе передачи данных различие между традиционными и большими данными становится некритичным. Оба типа мирно сосуществуют и дополняют друг друга, чтобы выполнить свою цель – предоставить бизнес-пользователям информацию. Например, чтобы сегментировать клиентов, вы можете проанализировать множество данных, среди которых будут большие данные, такие как история посещений веб-сайта и действия в мобильных приложениях клиентов. Позже вы сможете запускать отчеты о продажах или прибыли по сегментам клиентов, что является чисто традиционной бизнес-аналитикой. Если вам интересно, почему тогда большое хранилище данных иногда считается частью озера данных, у нас также есть объяснение этому. Большинство компаний, решивших воспользоваться преимуществами больших данных, уже имеют традиционное хранилище данных. Поэтому они обычно предпочитают расширять свое аналитическое решение, создавая вокруг него озеро данных. В этом случае традиционное хранилище данных остается привычным важным элементом, и все новые элементы связаны с озером данных.
Список технологий для хранения больших данных включает в себя множество названий: распределенная файловая система Hadoop, Apache Cassandra, Apache HBase, Amazon S3, MongoDB - вот лишь несколько наиболее популярных из них. Несомненно, при выборе технологического стека для озера данных в первую очередь следует думать о технологиях, обеспечивающих хранение больших данных. Основа правильная, хотя вам также нужно подумать об обработке. Итак, список технологий следует еще больше расширить за счет Apache Storm, Apache Spark, Hadoop MapReduce и т.д. Неудивительно, если вы озадачены тем, какая комбинация является лучшим выбором для вашего озера данных!
Несмотря на то, что каждый случай индивидуален, мы суммировали пять важных факторов, которые станут отправной точкой вашего обсуждения с вашими консультантами по большим данным:
Согласно общей практике консультирования по большим данным, распределенная файловая система Hadoop (HDFS) является наиболее популярной среди множества возможных технологий для озера больших данных. Причины заключаются в следующем:
🞄 HDFS чрезвычайно хорошо справляется с разнообразием данных в большом озере данных. Большие данные Интернета вещей, видео– и аудиофайлы, текстовые записи - с помощью HDFS вы можете хранить данные любого типа. Если сравнивать, то Apache Cassandra хорош для хранения больших данных Интернета вещей, в то время как MongoDB – текстов.
🞄 HDFS поддерживает широкий спектр методов обработки. HDFS является одним из элементов экосистемы Apache Hadoop, которая включает в себя множество других компонентов, таких как Hadoop MapReduce, Hadoop YARN, Apache Hive, Apache HBase и т.д. Поскольку они принадлежат к одному семейству, естественно, что каждый из них обладает высокой совместимостью с HDFS. Кроме того, HDFS доказала свою высокую совместимость с Apache Spark, что дает возможность быстро выполнять обработку больших объемов данных.
Конечно, вы также можете рассмотреть другие технологии для реализации озера данных. Важным критерием является знание того, как обойти их ограничения. Например, после сравнения HDFS и Cassandra вы можете решить запустить озеро данных на последнем. Почему бы и нет, если вы планируете использовать озеро данных исключительно в качестве промежуточной области для данных Интернета вещей и знаете, как компенсировать отсутствие соединений в Cassandra?
У Amazon Web Services, Microsoft Azure, облачной платформы Google есть соответствующее предложение – озеро данных как услуга. На самом деле, новичку было бы трудно заметить различия между этими тремя предложениями. По сути, они очень похожи: вам нужна учетная запись AWS/Azure/GCP, ваши данные и готовность платить за услугу. Взамен вы получаете предопределенный набор технологий, развернутых в облаке, и избавляетесь от головной боли при обслуживании. Скрытый технологический стек, конечно, отличается, хотя функции, которые они выполняют, являются привычными: хранение, обработка, потоковая передача и аналитика.
Каковы основные факторы, влияющие на выбор технологий для озера данных?
Нет. Наша практика показывает, что решения data lake реализуются на основе нескольких технологий. Для решения бизнес-задачи консультанты по большим данным могут выбрать отдельную технологию для каждой зоны озера данных.
Распределенная файловая система Hadoop - самая популярная, но не единственная доступная технология. Однако будьте осторожны и полагайтесь на свои бизнес-цели и, соответственно, требования к вашему будущему аналитическому решению, а не на популярность фреймворка.
Да. Amazon Web Services, Microsoft Azure и Google Cloud Platform предлагают озеро данных в качестве сервиса. Что от вас требуется – ваши данные и ваша плата за подписку и обслуживание. И вы получаете озеро данных, которое легко и быстро развертывается.