Моделирование якоря

Методика моделирования гибкой базы данных
Рисунок, демонстрирующий концепцию моделирования якоря

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

В отличие от схемы «звезда» ( многомерное моделирование ) и классической реляционной модели (3NF), моделирование хранилищ данных и якорей хорошо подходят для фиксации изменений, которые происходят при изменении или добавлении исходной системы, но считаются передовыми методами, требующими опытных архитекторов данных . [2] И хранилища данных, и якорные модели являются моделями на основе сущностей , [3] но якорные модели имеют более нормализованный подход. [ требуется ссылка ]

Философия

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

История

Первые инсталляции с использованием якорного моделирования были осуществлены в 2004 году в Швеции, когда с использованием этой технологии было создано хранилище данных для страховой компании.

В 2007 году эта техника использовалась в нескольких хранилищах данных и одной системе обработки онлайн-транзакций (OLTP), а на международном уровне она была представлена ​​Ларсом Рённбеком на конференции 2007 Transforming Data with Intelligence (TDWI) в Амстердаме . [4] Это вызвало достаточный интерес, чтобы техника заслуживала более формального описания. С тех пор исследования, касающиеся моделирования якорей, проводятся в сотрудничестве между создателями Олле Регардтом и Ларсом Рённбеком и командой из Департамента компьютерных и системных наук Стокгольмского университета .

Первая статья, в которой формализовано якорное моделирование, была представлена ​​в 2008 году на 28-й Международной конференции по концептуальному моделированию и получила награду за лучшую статью. [5]

Коммерческий веб-сайт предоставляет материал по моделированию якорей, который можно использовать бесплатно по лицензии Creative Commons . Также доступен инструмент онлайн-моделирования, который можно использовать бесплатно и с открытым исходным кодом . [6]

Основные понятия

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

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

Пример моделирования якоря

Временные аспекты

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

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

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

Реляционное представление

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

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

Примером якоря для идентичностей племянников Дональда Дака является набор 1-кортежей:
{⟨#42⟩, ⟨#43⟩, ⟨#44⟩}

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

Примером узла для родов является набор из 2-х кортежей:
{⟨#1, 'Male'⟩, ⟨#2, 'Female'⟩}

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

Примером статического атрибута для их имен является набор из 2-х кортежей:
{⟨#42, 'Huey'⟩, ⟨#43, 'Dewey'⟩, ⟨#44, 'Louie'⟩}

Примером связанного статического атрибута для их пола является набор из 2-кортежей:
{⟨#42, #1⟩, ⟨#43, #1⟩, ⟨#44, #1⟩}

Примером историзированного атрибута для (меняющихся) цветов их одежды является набор из 3-х кортежей:
{⟨#44, 'Orange', 1938-04-15⟩, ⟨#44, 'Green', 1939-04-28⟩, ⟨#44, 'Blue', 1940-12-13⟩}

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

Примером статической связи для родственных отношений является набор из 2-кортежей:
{⟨#42, #43⟩, ⟨#42, #44⟩, ⟨#43, #42⟩, ⟨#43, #44⟩, ⟨#44, #42⟩, ⟨#44, #43⟩}

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

По сравнению с другими подходами

В 2000-х годах было введено несколько шаблонов моделирования данных хранилищ данных с целью создания гибких хранилищ данных, включая формы ансамблевого моделирования, такие как моделирование якорей, моделирование хранилищ данных, моделирование фокальных точек и другие. [7]

Сравнение хранилищ данных

В 2013 году на конференции по моделированию данных BI Podium в Нидерландах Ларс Рённбек представил сравнение моделирования якорей и моделирования хранилищ данных. [8]

Сравненная характеристикаХранилище данныхПреимущество*Моделирование якоря
СемьяМоделирование ансамбля-Моделирование ансамбля
Парадигма
Приоритет отдается аудиту на основе данных
-Потребности , основанные на данных,
имеют приоритет
АрхитектураГибрид (несколько объектов обслуживания)-Реплицированные (отдельные объекты обслуживания)
ГруппировкаНасколько это возможно-Как можно меньше
Основная временная шкалаВремя записи-Время меняется
Обнаружение измененийДоступ к нескольким строкам/столбцамЯВЛЯЮСЬДоступ к одной строке/столбцу
СтрогостьСлабо формализовано.
Нет соглашения об именовании.
-Строго формализован.
Имеет соглашение об именовании.
Эволюция схемыРазрушительныйЯВЛЯЮСЬНеразрушающий
ТемпорализацияЛюбое время вручную,
конечная дата необязательна (не рекомендуется)
ЯВЛЯЮСЬОдновременно-временной по замыслу,
без конечной даты
ЗатягиваниеМогут потребоваться обновленияЯВЛЯЮСЬВставить только
Поддержка инструментовМножество инструментов
В основном коммерческие
ДВМало инструментов
Только с открытым исходным кодом
Адаптация к изменениямВсе еще громоздкоЯВЛЯЮСЬПочти без усилий
Обмен моделямиЧистый SQL с напечатанными
диаграммами некоторого вида
ЯВЛЯЮСЬСтандартизированный формат XML
и графическое обозначение
НеизменностьСуррогатная личность
и естественный ключ
ЯВЛЯЮСЬТолько суррогатная личность
Естественно суррогатное материнствоОдин к одному, статический
Физически реализованный (концентратор)
ЯВЛЯЮСЬ
Логическое представление данных «многие к одному» с возможностью ведения истории
Оптимизация запросаНесколько важных
Недавние базы данных
ДВОчень важно
Последняя версия базы данных
Возможность написания сценариевС некоторыми усилиямиЯВЛЯЮСЬФормализовано, автоматизировано
для всего
Виды и триггерыУпомянутый, сделанный вручную
и индивидуальный
ЯВЛЯЮСЬФормализовано, автоматизировано
для всего
ПредположенияСоздано на века
Потребности предположения
ЯВЛЯЮСЬСоздан для изменений.
Никаких предположений.
Доля рынкаМалый <1000 установок (2013)ДВОчень мало <100 установок (2013)

Ссылки

  1. ^ Л. Рённбек; О. Регардт; М. Бергхольц; П. Йоханнессон; П. Вохед (2010). «Моделирование якорей — гибкое информационное моделирование в развивающихся средах данных». Data & Knowledge Engineering . 69 (12): 1229– 1253. doi :10.1016/j.datak.2010.10.002. ISSN  0169-023X.(Препринт доступен здесь)
  2. ^ Порсби, Йохан. «Размещение файлов для структурирования данных». www.agero.se (на шведском языке) . Проверено 22 февраля 2023 г.
  3. ^ Порсби, Йохан. «Моделист данных для хранилищ данных». www.agero.se (на шведском языке) . Проверено 22 февраля 2023 г.
  4. ^ 6-я Европейская конференция TDWI - Домашняя страница TDWI Архивировано 20 июля 2011 г. на Wayback Machine
  5. ^ Регардт, Олле; Рённбек, Ларс; Берггольц, Мария; Йоханнессон, Пол; Вохед, Петия (2009). «Якорное моделирование». Материалы 28-й Международной конференции по концептуальному моделированию . скорая помощь '09. Грамаду, Бразилия: Springer-Verlag: 234–250 . ISBN. 978-3-642-04839-5.
  6. ^ Ларс Рённбек. "Anchor Modeling Academy". Рекламный сайт . Получено 20 мая 2017 г.
  7. ^ "Моделирование якоря". Блог Ганса . Получено 15.03.2023 .
  8. ^ Ларс Рённбек; Ганс Хультгрен (2013). «Сравнение моделирования привязки с моделированием хранилища данных» (PDF) .
  • Блог о моделировании Anchor с видеоуроками и исследовательской информацией
  • Онлайн-инструмент для моделирования якорей
Retrieved from "https://en.wikipedia.org/w/index.php?title=Anchor_modeling&oldid=1246035729"