Лучший способ эффективно управлять неструктурированными данными

До 90% данных определяются как неструктурированные. Каждый год их объем увеличивается на 55–65%.

Те, кто давно занимаются наукой о данных, наверняка заметили рост объема неструктурированных данных. Под этим термином подразумеваются данные с несогласованной структурой образцов, например аудио, текстовые файлы, видео и изображения.

Увеличение объема существующих и ожидаемых неструктурированных данных предъявляет особые требования к науке о данных. Она должна быть готова анализировать и работать с различными видами данных для получения значимых выводов.

Чаще всего мы читаем статьи, в которых используются табличные или другие виды данных с метками. Но на практике редко приходится иметь дело с маркированными и размеченными данными. Чтобы успешно работать в области науки о данных, необходимо хорошо разбираться в анализе неструктурированных данных.

Одной из новейших технологий, набирающих популярность в этой области, является хранение объектов. Она позволяет решить практически все проблемы, возникающие при использовании традиционных структурированных систем хранения данных. Вот три основные из них:

  1. проблема масштабируемости;
  2. неизменяемая скорость поиска данных, применяемая по отношению к потребляемому объему хранилища;
  3. ограничения, возникающие из-за стандартной иерархии файлов.

Что такое хранение объектов и чем оно лучше традиционных форм хранения данных

Множество современных технологических компаний принимают решения на основе данных, которые они собирают от пользователей. Такой подход сопряжен с определенными проблемами, первая из которых  —  масштабируемость.

Стандартные системы хранения данных, такие как файловая или блочная, неэффективны с точки зрения масштабируемости. Если у вас огромное количество файлов, то, скорее всего, среди них множество вложенных. Когда пользователь посылает запрос на просмотр одного из них, файловой системе приходится долго копаться в иерархии файлов, чтобы найти из них нужный. Чем больше у вас файлов, тем медленнее этот процесс, что ужасно нервирует нетерпеливых пользователей.

Хранение объектов решает эту проблему, предлагая плоскую структуру, то есть хранящую все данные на одном уровне. Как же это улучшает навигацию в хранилище объектов (учитывая, что это главное преимущество файловой системы)?

Типичные хранилища объектов хранят три компонента для каждого образца данных.

  1. Сами данные.
  2. Метаданные: размер данных, дату модификации/загрузки и т. д. (одна из выигрышных особенностей хранилища объектов заключается в том, что это настраиваемое поле, то есть вы можете хранить любые метаданные, необходимые для каждого образца данных; такой возможности нет в стандартных файловых системах).
  3. Уникальный идентификатор для каждого образца данных.

Секрет легко реализуемой навигации и скорости поиска в современных хранилищах объектов заключается в использовании этого уникального идентификатора. Все дело в магическом эффекте индексирования.

Масштабируемость и поиск

Хранилище объектов данных не полагается на файловую структуру  —  оно хранит образцы данных только в виде узлов с тремя компонентами, упомянутыми выше, и использует идентификатор для их поиска. Из этого следует, что нет необходимости в сосредоточении образцов данных на одном устройстве/физическом местонахождении. Это большое преимущество, поскольку образцы данных могут быть распределены по нескольким различным местам.

Например, если вы знаете, что набор точек данных будет доступен только в определенной стране, то можете хранить его на сервере, который находится ближе всего к этой стране. Это значительно сократит время поиска без дополнительных затрат.

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

От увеличения объема данных и хранилищ объектов к усилению потенциала науки о данных

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

Технологический процесс МО состоит из 3 основных компонентов: сбор, хранение и использование данных.

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

Важно выбрать не только эффективную технологию хранения данных, но и надежного поставщика. Кроме того, для эффективного использования данных необходим программный слой, созданный на основе этого хранилища для агрегации и сбора данных. По сути, вам необходима система контроля версий данных (DVC), которая их версионирует и управляет ими.

Как правило, чем больше данных для моделей машинного обучения, тем лучше. Однако иногда бывают аномальные точки данных, которые выводят модель из строя. Это означает, что модель не слишком хорошо работает на конкретной аномалии или группе аномалий. Если подобное происходит, нужно иметь возможность быстро вернуться к последней лучшей версии и исследовать аномалии. Довольно часто эти аномалии являются ключом к улучшению моделей машинного обучения.

В дополнение к программному обеспечению для версионирования, вам, вероятно, понадобится фреймворк агрегации данных, например платформа управления озером данных или Apache Spark. ПО этого уровня обеспечивает основные базовые операции, которые значительно облегчают использование данных МО-моделями.

Заключительные мысли и выводы

Вы наверняка стремитесь к тому, чтобы интеграция вашей системы хранения с платформой версионирования и фреймворком агрегации была практически бесшовной. Это один из самых важных моментов  —  не все варианты легко совместимы друг с другом, а негладкая конфигурация, как правило, оборачивается кучей проблем.

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

Читайте также:

Читайте нас в TelegramVK и Яндекс.Дзен


Перевод статьи Mostafa Ibrahim: The Best Way to Manage Unstructured Data Efficiently

Предыдущая статьяАлгоритм машинного обучения t-SNE - отличный инструмент для снижения размерности в Python
Следующая статьяРеляционные базы данных в контейнерах Docker Compose