Полуструктурированные данные - Semi-structured data

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

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

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

Типы

XML

XML , другие языки разметки, электронная почта и EDI - все это формы полуструктурированных данных. OEM (модель объектного обмена) была создана до XML как средство самоописания структуры данных. XML был популяризирован веб-службами, разработанными с использованием принципов SOAP .

Некоторые типы данных, описанные здесь как «частично структурированные», особенно XML, страдают от впечатления, что они неспособны к структурной строгости на том же функциональном уровне, что и реляционные таблицы и строки. Действительно, представление XML как частично структурированного по своей природе (ранее он назывался «неструктурированным») затрудняет его использование в расширяющемся диапазоне приложений, ориентированных на данные. Даже документы, которые обычно считаются воплощением полуструктуры, могут быть разработаны практически с той же строгостью, что и схема базы данных , обеспечены схемой XML и обработаны как коммерческими, так и пользовательскими программами, не снижая удобства их использования для читателей.

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

Однако концепция XML как «удобочитаемого для человека» может только пока продолжаться. Некоторые реализации / диалекты XML, такие как XML-представление содержимого документа Microsoft Word, реализованное в Office 2007 и более поздних версиях, используют десятки или даже сотни различных типов тегов, которые отражают конкретную проблемную область - в случае Word , форматирование на уровне символа, абзаца и документа, определения стилей, включение цитат и т. д., которые сложным образом вложены друг в друга. Понимание даже части такого XML-документа путем его чтения, не говоря уже о выявлении ошибок в его структуре, невозможно без очень глубокого предварительного понимания конкретной реализации XML, а также помощи программного обеспечения, которое понимает используемую схему XML. Такой текст не является «понятным для человека» точно так же, как книга, написанная на суахили (в которой используется латинский алфавит), была бы для американца или западноевропейца, не знающего ни слова на этом языке: теги - это символы, которые не имеют смысла для человек, незнакомый с доменом.

JSON

JSON или JavaScript Object Notation - это открытый стандартный формат, в котором используется читаемый человеком текст для передачи объектов данных, состоящих из пар атрибут-значение. Он используется в основном для передачи данных между сервером и веб-приложением в качестве альтернативы XML. JSON популяризировали веб-службы, разработанные с использованием принципов REST .

Существует новое поколение баз данных, таких как MongoDB и Couchbase, которые изначально хранят данные в формате JSON, используя преимущества архитектуры полуструктурированных данных.

Плюсы и минусы

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

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

Недостатки

  • Традиционная реляционная модель данных имеет популярный и готовый язык запросов SQL .
  • Склонен к «мусору на входе, мусоре на выходе»; устранение ограничений из модели данных снижает необходимость в предварительных размышлениях, необходимых для работы приложения данных.

Смотрите также

Рекомендации

  1. ^ Питер бунемановская (1997). «Полуструктурированные данные» (PDF) . Симпозиум по принципам систем баз данных .
  2. ^ Группа баз данных Penn имеет проект полуструктурированных и XML-данных.
  3. ^ СУБД Стэнфордского университета Lore

Внешние ссылки