Классификация данных

Завершено

Организации онлайн-торговли могут использовать разные типы данных. Для разных типов данных требуются разные решения для хранения.

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

Способы хранения данных в облаке

В следующем видео представлены варианты хранения данных в облаке:

Структурированные данные

В структурированных данных, иногда называемых реляционными данными, все данные имеют одинаковые поля или свойства. Все данные имеют одинаковую организацию и форму или схему. Общая схема позволяет легко выполнять поиск данных этого типа с помощью таких языков запросов, как SQL. Благодаря этой возможности этот стиль данных идеально подходит для приложений, таких как системы CRM, резервирования и управление запасами.

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

Diagram that shows two structured data tables and a relationship table that has data that ties them together.

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

Частично структурированные данные

Квазиструктурированные данные имеют менее упорядоченную структуру, чем структурированные данные. Квазиструктурированные данные не хранятся в реляционном формате, так как поля не вмещаются в таблицы, строки и столбцы. Частично структурированные данные содержат теги, которые описывают порядок и иерархию данных. Один из примеров — пары "ключ-значение". Частично структурированные данные иногда называют нереляционными данными или данными не только SQL (NoSQL).

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

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

Распространенные языки сериализации

Три распространенных языка сериализации: XML, JSON и YAML.

XML

Язык XML был одним из первых широко используемых языков данных. Он основан на тексте, что делает его машиночитаемым и понятным пользователю. Средства синтаксического анализа XML доступны почти для всех популярных платформ разработки.

XML можно использовать для выражения связей. XML поддерживает стандарты для схемы, преобразования и даже отображения в Интернете.

Ниже приведен пример данных человека с именем, возрастом и хобби в формате XML.

<Person Age="23">
    <FirstName>Quinn</FirstName>
    <LastName>Anderson</LastName>
    <Hobbies>
        <Hobby Type="Sports">Golf</Hobby>
        <Hobby Type="Leisure">Reading</Hobby>
        <Hobby Type="Leisure">Guitar</Hobby>
   </Hobbies>
</Person>

XML выражает форму данных с помощью тегов, определенных внутри угловых фигурных скобок. Эти теги бывают двух видов: элементы, такие как <FirstName>, и атрибуты, которые могут быть выражены в тексте, например Age="23". Элементы могут содержать дочерние элементы для выражения связей. Например, тег <Hobbies> выражает коллекцию элементов Hobby.

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

JSON

Язык JSON (или нотация объектов JavaScript) имеет простую спецификацию, и в нем для структурирования данных применяются фигурные скобки. В сравнении с XML язык JSON менее подробный и более понятен человеку. JSON часто используется веб-службами для возврата данных.

Вот имя того е человека, возраст и хобби, выраженные в JSON:

{
    "firstName": "Quinn",
    "lastName": "Anderson",
    "age": "23",
    "hobbies": [
        { "type": "Sports", "value": "Golf" },
        { "type": "Leisure", "value": "Reading" },
        { "type": "Leisure", "value": "Guitar" }
    ]
}

Формат JSON не является таким формальным, как XML. Он ближе к паре "ключ-значение", чем к формальному выражению данных. Как можно предположить из названия, язык программирования JavaScript располагает встроенной поддержкой этого формата, что делает его очень популярным для веб-разработки. Как и в XML, в других языках доступны средства синтаксического анализа, которые можно использовать для работы с этим форматом данных. Недостаток формата JSON заключается в том, что он в большей степени ориентирован на программистов, а это усложняет его чтение и изменение пользователями без технических знаний.

YAML

Язык YAML (YAML Ain’t Markup Language) — недавно разработанный язык сериализации данных. Одним из преимуществ использования YAML является то, что он легче воспринимается, чем другие языки. Структура данных определяется разделением строк и отступами. Формат YAML позволяет снизить зависимость от структурных символов (например, круглые и квадратные скобки, запятые).

Вот данные того же человека в формате YAML.

firstName: Quinn
lastName: Anderson
age: 23
hobbies:
    - type: Sports
      value: Golf
    - type: Leisure
      value: Reading
    - type: Leisure
      value: Guitar

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

Что такое квазиструктурированные данные или данные NoSQL?

В следующем видео описываются квазиструктурированные данные и возможности хранения данных NoSQL:

Неструктурированные данные

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

Примеры неструктурированных данных:

  • Файлы мультимедиа, например фотографии, видео и звуковые файлы
  • Файлы Microsoft 365, такие как документы Word
  • текстовые файлы;
  • Файлы журналов

Классификация данных: оценка типов данных

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

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

Давайте рассмотрим наборы данных, используемые компанией розничной торговли, и классифицируем их.

Каталог продукции

Данные каталога продуктов для розничной интернет-компании изначально являются квазиструктурированными. Для каждого продукта предусматривается SKU, описание, количество, цену, варианты размера, варианты цвета, фотографию и (возможно) видео. В самом начале эти данные имеют одинаковую структуру, то есть являются реляционными. Однако через некоторое время при добавлении новых продуктов могут также добавляться и разные поля данных. Например, новые теннисные туфли поддерживают соединение Bluetooth для передачи данных от встроенных датчиков в приложение фитнес-трекера, установленное на телефоне пользователя. Вы понимаете, что это новая тенденция на рынке, и вам нужно предоставить клиентам фильтр "С поддержкой Bluetooth" для поиска спортивной обуви. Вы не хотите добавляться во все имеющиеся данные об обуви свойство с информацией о поддержке Bluetooth. Вы хотите добавить это новое свойство только для новой обуви.

Теперь, когда появилось новое поле свойств с информацией о поддержке Bluetooth, данные в каталоге обуви станут разнородными. Есть различия в схеме. Если такие изменения являются исключением и вы уверены, что это разовый случай, можно просто нормализовать существующие данные, например добавить поле с информацией о поддержке Bluetooth для всех товаров. Это сохранит структурированную (реляционную) организацию данных. Но обычно такие специализированные поля требуются регулярно, а значит, эти данные следует классифицировать как частично структурированные. Данные каталога упорядочиваются по тегам, но каждый продукт в каталоге может содержать уникальные поля.

Данные каталога продуктов классифицируются как квазиструктурированные.

Фотографии и видео

Фотографии и видео, которые отображаются на страницах описания продуктов, являются неструктурированными данными. Несмотря на наличие некоторых метаданных в файлах мультимедиа, данные в теле файлов мультимедиа являются неструктурированными.

Данные фотографий и видео классифицируются как неструктурированные.

Данные о бизнесе

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

Бизнес-данные классифицируются как структурированные.

Проверьте свои знания

1.

Какой тип данных является JSON-файлом?

2.

К какому типу данных относятся видеоданные?