Важная особенность окружения для поиска данных – здесь действуют крайне слабые правила и ограничения. Такие платформы для обнаружения данных, как Teradata Aster и Pivotal Greenplum, не только предоставляют собственные аналитические алгоритмы, но и поддерживают использование общих аналитических инструментов, таких как SAS, SPSS или R. Они также идеально подходят для применения в инновационных центрах
{45}. Поисковая платформа может быть встроена или нет в окончательный операционно-аналитический процесс. Разумеется, она используется для обнаружения и определения аналитического процесса, который стоит внедрения. Но как только детализированная аналитическая логика, необходимая для выполнения поиска, определена, ее можно встраивать в процесс обработки напрямую, без использования поисковой платформы. Это происходит благодаря тому, что зачастую можно существенно упростить и оптимизировать аналитический процесс при переходе от фазы обнаружения к фазе обработки. Подробнее об этом мы поговорим в шестой главе.
Ищите инсайты быстрее, чем производите обработку
Поисковая платформа должна быть гибкой и дружественной к пользователям, чтобы ускорить процесс поиска новых инсайтов. Ее необходимо оценивать по другим критериям, чем операционные платформы, например по времени инсайта. Скорость обработки и масштабируемость не так важны для процесса обнаружения данных, как гибкость и простота использования.
В некоторых случаях для поиска данных можно использовать реляционные и нереляционные платформы без добавления отдельной платформы. При этом важно располагать окружением, предназначенным для обнаружения данных. Независимо от того, как она применяется, поисковая платформа должна быть конфигурирована иначе, чем операционные системы. Попытка вести поиск в рамках типичной операционной системы с ее ограничениями – заведомо проигрышный подход. Процесс поиска нуждается в гибкости, чтобы пересчитывать данные, изменять по желанию их расположение, тасовать их и проводить с ними многочисленные эксперименты. В условиях, когда необходимо соблюдать правила операционных процессов, такая свобода попросту невозможна. Ее обеспечивает окружение для поиска данных.
Другой важный момент состоит в том, что поисковая платформа позволяет как можно быстрее найти новые инсайты. Такую платформу не нацеливают на обеспечение максимальной производительности или масштабируемости, хотя это будет не лишним. Производительность и масштабируемость важны для операционного процесса, но далеко не так важны для поискового процесса. Важнее всего при создании моделей и исследовании новой аналитики как можно быстрее провести эксперимент полного цикла. Это возвращает нас к концепции времени инсайта, о которой мы говорили в четвертой главе. Время на программирование и тестирование нового процесса может намного превысить время обработки, необходимое для выполнения программы, вот почему так важно располагать поисковым окружением, позволяющим легко комбинировать данные, управлять алгоритмами и подтверждать новый инсайт. А об операционной производительности и масштабируемости следует беспокоиться уже после того, как вы обнаружили нечто и доказали, что работа с ним стоит усилий. Более подробно об этом мы поговорим в шестой главе.
Нереляционная опора
Сегодня на рынке доступно широкое разнообразие нереляционных платформ. Hadoop быстро стала среди них самой популярной, а в аналитическом окружении – постоянным его компонентом. Нереляционные платформы не требуют, чтобы данные хранились в каком-либо конкретном формате, и наряду с базовым языком SQL используют различные языки программирования для взаимодействия с данными. Hadoop приобрела популярность благодаря своей способности работать с неструктурированными или слабоструктурированными данными, настолько распространившимися в мире больших данных. В действительности все данные имеют какую-либо структуру. Неструктурированными обычно называют данные, находящиеся в сложных форматах, которые не так легко конвертировать в пригодную для аналитики форму. Например, это текстовые, видео– и аудиофайлы. Другой распространенный тип – это слабоструктурированные данные, находящиеся посредине между структурированными и неструктурированными данными. Примеры включают многие журнальные файлы, такие как блоги, сенсорные данные или данные в формате JSON, о чем мы говорили выше в этой главе. Слабоструктурированные данные имеют определенные величины, но необязательно в установленном порядке или простом формате.
Hadoop особенно хорошо справляется с такими типами данных. Имея открытый исходный код и потому будучи бесплатной, Hadoop также позволяет свободно экспериментировать при небольших затратах. Кроме того, такие поставщики, как Cloudera, Hortonworks и MapR, предлагают коммерческие версии Hadoop, а Teradata, IBM и Oracle – приложения к Hadoop. Все эти предложения добавляют ценные свойства к открытому исходному коду.
Между Hadoop и реляционной технологией существует ряд важных отличий, связанных с тем, что для загрузки файлов с данными на эту платформу требуется только разместить их в файловой системе. Причем для загрузки не требуются никакие специфические форматы или структуры данных. Поскольку Hadoop не имеет никаких установок касательно хранимых файлов с данными, то она не предусматривает и никаких особых способов обращения с тем или иным типом данных.
Отсутствие требований к формату означает, что на эту платформу можно загружать тексты, фото, изображения, данные журнала событий, сенсорные данные или данные любого другого типа по мере их поступления, а затем обрабатывать их в параллельном режиме. В этом и состоит отличие от реляционной технологии, для которой данные по умолчанию должны быть представлены в виде таблиц. Несмотря на то что данные с такой реляционной структурой могут быть помещены в Hadoop, работа с ними – не самая сильная сторона этой платформы. На деле же, когда необходимы стандартные реляционные операции, работать с Hadoop будет гораздо сложнее и медленнее, чем с реляционной технологией корпоративного класса. Причина в том, что стандартные базы данных имеют все необходимые инструменты и функции, предназначенные для работы с реляционными данными, а Hadoop – нет. Hadoop предлагает бóльшую гибкость в отношении формата данных, но за счет утраты специализированных функций для обращения с конкретным форматом.
Одна из причин использовать Hadoop заключается в том, что данные неравноценны по своей природе. Например, данные об операциях по текущим банковским счетам отражают реальный факт перемещения денег, тогда как пост на Twitter – всего лишь чье-то мнение. Твиты далеко не так ценны, как сведения о финансовых транзакциях, поэтому нет смысла хранить их в дорогостоящей системе, где они скорее всего редко будут использоваться. Hadoop же позволяет организациям хранить малоценные данные на тот случай, если вдруг они пригодятся. Также в ней можно хранить необработанные лог-файлы, из которых извлечены фрагменты с важной информацией. Благодаря архивированию необработанных файлов в Hadoop всегда можно вернуться к ним позже и извлечь из них дополнительную информацию, если в ней возникнет необходимость. Использование Hadoop для целей архивирования похоже на непрерывное резервное копирование файлов с последующим легким к ним доступом – вместо неудобной заправки ленты. Наконец, архивирование необработанных данных может очень пригодиться в случае аудиторских проверок или возникновения юридических вопросов.