Открыть сервис

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

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

История и развитие

Концепция структурированных данных возникла с развитием систем управления базами данных (СУБД). В 1960-х годах появились иерархические и сетевые модели данных, но настоящий прорыв произошёл в 1970 году, когда Эдгар Кодд из IBM предложил реляционную модель. Она основывалась на математическом понятии отношения и позволяла описывать данные в виде таблиц, связанных между собой ключами. Реляционная модель легла в основу языка SQL (Structured Query Language), который стал стандартом для работы со структурированными данными.

В 1980-1990-х годах реляционные СУБД (Oracle, MySQL, PostgreSQL) доминировали в корпоративном секторе. С ростом интернета и объёмов данных в 2000-х годах возникли новые подходы, такие как NoSQL-базы (например, Cassandra, MongoDB), которые пожертвовали строгой структурой ради горизонтального масштабирования. Однако для задач, требующих строгой согласованности и сложных запросов, структурированные данные в реляционных базах остаются основным инструментом. В веб-технологиях термин «структурированные данные» также используется для разметки контента на страницах (JSON-LD, Microdata, RDFa), помогая поисковым системам понимать смысл информации.

Характеристики и свойства

Структурированные данные обладают набором свойств, которые отличают их от других типов:

  • Схема (Schema): жёстко определённая структура, описывающая типы данных, ограничения (например, NOT NULL, UNIQUE) и связи между сущностями.
  • Типизация: каждое поле имеет строгий тип (целое число, строка фиксированной длины, дата, логическое значение).
  • Однозначность: данные интерпретируются одинаково всеми системами, что исключает двусмысленность.
  • Машиночитаемость: возможность автоматической обработки, поиска и анализа без участия человека.
  • Согласованность (ACID): поддержка атомарности, согласованности, изолированности и долговечности транзакций в реляционных СУБД.

Классификация и виды

Структурированные данные можно классифицировать по нескольким признакам:

По способу хранения

  • Реляционные базы данных: таблицы со строками и столбцами, связанные внешними ключами (например, PostgreSQL, MySQL).
  • Табличные форматы файлов: CSV, TSV, Excel (XLSX), Parquet, ORC. Эти форматы не требуют СУБД и широко используются для обмена данными.
  • Документо-ориентированные базы с фиксированной схемой: некоторые NoSQL-системы, где структура определена, но не обязательна для всех записей (например, MongoDB с валидацией схемы).

По типу данных

  • Числовые: целые, дробные, денежные единицы.
  • Текстовые: строки фиксированной или переменной длины, уникальные идентификаторы.
  • Временные: даты, временные метки, интервалы.
  • Логические: булевы значения (истина/ложь).
  • Бинарные: изображения, файлы, но в структурированном контексте обычно хранятся ссылки, а не сами файлы.

По области применения

  • Транзакционные данные: записи о покупках, банковских операциях, заказах — требуют высокой точности и согласованности.
  • Аналитические данные: агрегированные показатели, статистика, исторические срезы — часто хранятся в колоночных СУБД (ClickHouse, Vertica).
  • Справочные данные: каталоги товаров, классификаторы, коды валют — статичны и редко изменяются.

Применение

Структурированные данные лежат в основе большинства корпоративных информационных систем:

  • Финансовый сектор: банковские транзакции, бухгалтерский учёт, отчётность для регуляторов. Любая ошибка в структуре может привести к финансовым потерям.
  • Электронная коммерция: каталоги товаров, корзины покупок, история заказов. Структурированные данные позволяют быстро фильтровать товары по цене, категории, наличию.
  • Здравоохранение: электронные медицинские карты, записи о назначениях, результаты анализов. Строгая схема обеспечивает совместимость между разными системами.
  • Логистика: отслеживание грузов, складской учёт, маршруты доставки.
  • Веб-разработка и SEO: разметка Schema.org (например, для рецептов, событий, организаций) помогает поисковым системам показывать расширенные сниппеты (звёздные рейтинги, цены, время работы). В России Яндекс также активно использует структурированные данные для своих сервисов.

Преимущества и недостатки

Преимущества

  • Простота поиска: возможность выполнять сложные запросы (JOIN, GROUP BY, WHERE) с высокой скоростью.
  • Согласованность: гарантия, что данные не противоречат друг другу (например, сумма заказа не может быть отрицательной).
  • Эффективное хранение: сжатие и индексация позволяют экономить место и ускорять доступ.
  • Безопасность: возможность разграничения доступа на уровне строк и столбцов.

Недостатки

  • Жёсткость: изменение схемы (добавление нового поля) требует миграции и может быть трудоёмким для больших таблиц.
  • Сложность масштабирования: реляционные базы плохо подходят для распределённых систем с высокой нагрузкой (горизонтальное масштабирование требует шардинга и нарушает ACID).
  • Ограниченность: не все данные можно представить в виде таблиц (например, сложные графы или неструктурированные тексты).

Примеры

Простейший пример структурированных данных — таблица в Excel или CSV-файл:

IDИмяГородДата рожденияЗарплата
1Иванов И.Москва1990-05-1275000
2Петров П.Санкт-Петербург1985-11-0382000

Каждая строка — запись, каждый столбец — поле с определённым типом (ID — целое, Имя — строка, Дата — дата, Зарплата — число). В реляционной базе данных такие таблицы могут быть связаны: например, таблица «Города» с уникальным кодом города, а в таблице «Сотрудники» — внешний ключ на этот код.

Другой пример — разметка веб-страницы в формате JSON-LD для рецепта:

``json { "@context": "https://schema.org";, "@type": "Recipe", "name": "Борщ", "cookTime": "PT2H", "recipeIngredient": ["свёкла", "капуста", "мясо"] } ``

Критика и ограничения

Несмотря на широкое распространение, структурированные данные критикуются за избыточную жёсткость. В эпоху Big Data значительная часть информации (социальные сети, логи серверов, изображения) является неструктурированной или полуструктурированной. Попытки «загнать» её в таблицы приводят к потере контекста и сложности анализа. Кроме того, поддержание схемы в актуальном состоянии требует постоянных усилий разработчиков. В ответ на это появились подходы «схема на чтение» (schema-on-read), когда данные хранятся в сыром виде, а структура накладывается только при запросе (например, в Apache Spark).

Источники

  1. Кодд Э. Ф. «Реляционная модель данных для больших совместно используемых банков данных» (1970).
  2. Дата К. Дж. «Введение в системы баз данных» (8-е издание, 2003).
  3. Документация Schema.org (schema.org).
  4. Материалы Яндекса по структурированным данным для веб-мастеров (yandex.ru/support/webmaster/structured-data).
  5. Стандарт ISO/IEC 9075:2016 (SQL).
  6. Учебные материалы по базам данных (например, курс «Базы данных» на Stepik).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →