Классификация данных
Организации онлайн-торговли могут использовать разные типы данных. Для разных типов данных требуются разные решения для хранения.
Данные приложений можно разделить на три типа: структурированные, частично структурированные и неструктурированные. Здесь вы узнаете, как классифицировать данные и выбрать для них подходящее решение для хранения для такого типа данных.
Способы хранения данных в облаке
В следующем видео представлены варианты хранения данных в облаке:
Структурированные данные
В структурированных данных, иногда называемых реляционными данными, все данные имеют одинаковые поля или свойства. Все данные имеют одинаковую организацию и форму или схему. Общая схема позволяет легко выполнять поиск данных этого типа с помощью таких языков запросов, как SQL. Благодаря этой возможности этот стиль данных идеально подходит для приложений, таких как системы CRM, резервирования и управление запасами.
Структурированные данные обычно хранятся в таблицах базы данных традиционного формата: со строками и столбцами. В таблице ключевой столбец указывает, как одна строка таблицы связана с данными в другой строке другой таблицы. На следующем рисунке таблица с данными о классах получает данные из таблицы имен учащихся и таблицы данных класса с помощью ключевых столбцов.
Структурированные данные очень легко вводить, запрашивать и анализировать. Все данные имеют одинаковый формат. Однако принудительное согласование структуры также означает что эволюция данных будет затруднена. При добавлении или удалении полей данных необходимо обновить каждую запись, чтобы она соответствовала новой структуре.
Частично структурированные данные
Квазиструктурированные данные имеют менее упорядоченную структуру, чем структурированные данные. Квазиструктурированные данные не хранятся в реляционном формате, так как поля не вмещаются в таблицы, строки и столбцы. Частично структурированные данные содержат теги, которые описывают порядок и иерархию данных. Один из примеров — пары "ключ-значение". Частично структурированные данные иногда называют нереляционными данными или данными не только 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 Ain't Markup Language (YAML) является недавно разработанным языком сериализации данных. Одним из преимуществ использования 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 для всех товаров. Это сохранит структурированную (реляционную) организацию данных. Но обычно такие специализированные поля требуются регулярно, а значит, эти данные следует классифицировать как частично структурированные. Теги упорядочивают данные, но каждый продукт в каталоге может содержать уникальные поля.
Данные каталога продуктов классифицируются как квазиструктурированные.
Фотографии и видео
Фотографии и видео, которые отображаются на страницах описания продуктов, являются неструктурированными данными. Несмотря на наличие некоторых метаданных в файлах мультимедиа, данные в теле файлов мультимедиа являются неструктурированными.
Данные фотографий и видео классифицируются как неструктурированные.
Данные о бизнесе
Специалисты по аналитике хотят внедрить систему бизнес-аналитики, позволяющую выполнять оценку конвейера поставок и анализ данных о продажах. Для выполнения этих операций нужно объединить данные за несколько месяцев работы и подготовить их для обработки запросов. Высокая потребность в статистической обработке сходных данных предполагает создание четкой структуры, которая позволит сравнивать данные за разные месяцы.
Бизнес-данные классифицируются как структурированные.