///История развития моделей данных

История развития моделей данных

Итак, прыгайте на борт и наслаждайтесь путешествиями во времени наших попыток справиться с временностью в моделях данных.

Оглавление

Итак, прыгайте на борт и наслаждайтесь путешествиями во времени наших попыток справиться с временностью в моделях данных.

КОДАСИЛ (1966)

Первый официальный стандарт для языков баз данных был определен CODASYL (Конференция по языкам систем данных), которая была опубликована в 1966 году. Он появился в результате работы Чарльза Бахмана с IDS (Интегрированным хранилищем данных) в GE. И набрал скорость как IDMS на мэйнфреймах IBM в 1974 году.

 

Несмотря на то, что они не разбираются в датах, так называемые сетевые СУБД, такие как IDMS, предлагают несколько полезных методов.

 

Вот самодельная IDMS «диаграмма вхождений», показывающая экземпляры Employees, Jobs и Empositions:

Я не буду вдаваться в подробности, но идея состояла в том, чтобы организовать данные, используя два строительных блока:

  1. «Типы записей», такие как JOB, EMPLOYEE и EMPOSITION выше
  2. Именованные «Settypes», которые связывают типы записей друг с другом, как, например, EMPOSITION, в которой перечислены работы, выполняемые сотрудниками посредством двух «наборов»:
    1. Job-Emposition (красный), и
    2. Emp-Emposition (черный)

У нас есть два набора типов каждый с двумя вхождениями, потому что у нас есть два сотрудника, каждый с двумя заданиями. И что? Хитрость в том, что наборы могут быть «отсортированы» (что сегодня будет называться упорядоченным). И если «ключом сортировки» была дата (замаскированная под символьную строку), вы могли бы упорядочить набор в последовательности дат (так или иначе). Порядок набора для отсортированных наборов: First-> Next * -> Last (закрытие цикла). Таким образом, EMP-EMPOSITION может перечислять вакансии в порядке «От даты» на сотрудника.

 

Была даже такая альтернатива: Emp-Emposition можно было заказать «FIRST»

 

Это означает, что новые члены Emp-Emposition (то есть термин) были добавлены в начале набора, что означает, что последовательное чтение от начала до конца было в порядке даты. Вы также можете заказать их в последний раз.

 

Хотя это было далеко от совершенства, это было что-то. Вы могли бы даже сделать два отдельных набора для Emp-Emposition, один для временной шкалы транзакции, а другой для действительной временной шкалы. «Битемпораль» в 1966 году! – используя цепочки указателей!

TSQL2 и TimeCenter (1985)

Уже в 1985 году Ричард Снодграсс вместе с Ильсо Ан (в записи ACM SIGMOD) предложили «временные базы данных». Вместе с рядом других ученых он сформировал Комитет по разработке языка TSQL2, который опубликовал предложение о временном расширении SQL-92. TSQL2 был выдвинут в 1994 году.

 

В 1999 году он опубликовал статью «Разработка ориентированных на время приложений баз данных на SQL», которая является плодотворной работой в экосфере временных баз данных.

 

TSQL2 был первым местом, где концепции действительного времени и времени транзакции перешли в настоящий синтаксис; по этим направлениям: «… ДЕЙСТВИТЕЛЬНО (X) ПЕРЕКРЫВАЕТСЯ ДЕЙСТВИТЕЛЬНО (Y) И ПЕРЕКЛЮЧЕНИЕ (Z) ДАТА ПЕРЕКРЫТИЯ« теперь – 14 дней »…».

 

TSQL2 был введен в процесс стандартизации SQL с намерением стать частью стандарта SQL3 в 1999 году. Однако немаловажная критика со стороны теоретиков реляций Хью Дарвена и Криса Дейта остановила этот процесс. Это были дебаты о соответствии собственно реляционной модели. TSQL2, как и раньше, сменил имя на SQL / Temporal и ждал еще несколько лет. (За исключением Teradata, который внедрил его в 2010 году, но затем стандарт SQL перешел в 2011 году, см. Ниже).

Красный кирпич, Кимбалл и пространственное моделирование (1990)

В 1986 году Ральф Кимбалл основал компанию по разработке программного обеспечения под названием Red Brick Systems, которая в 1990 году выпустила реляционную СУБД под названием Red Brick Warehouse. Продукт был оптимизирован для хранения данных в тяжелых условиях и был основан на SQL. «Секретным соусом» подхода Кимбалла было Dimensional Modeling, которое вышло на главную улицу в 1996 году с оригинальной книгой The Warehouse Toolkit . Я имел удовольствие и привилегию работать с Red Brick, и меня обучал Ральф. Это изменило мою жизнь как разработчика моделей данных (как я уверен, что это сделало и для многих моих коллег).

 

Сегодня Dimensional Modeling является доминирующей методологией моделирования для хранилищ данных и бизнес-аналитики. Что касается нашего временного внимания, Кимбалл представил концепцию «Медленно меняющихся измерений» (и «Факты о позднем прибытии»). Вот упрощенный пример, когда Клиент меняет данные о местоположении:

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

 

На самом деле это немного сложнее, чем это, но это общая идея.

 

Я думаю, что это первый раз, когда «реальные сроки» материализовались в реальных моделях данных в широком масштабе, и это также первый случай, когда мы видим контуры стратегии постоянства, основанной на INSERT, а не на UPSERT (INSERT и затем ОБНОВИТЬ).

 

Действительно новаторский.

Реляционный классический и старый добрый SQL (1992)

Классическая реляционная модель (господа Кодд и Дата) появилась в 1969 году. Первая «реляционная» СУБД, основанная на SQL, появилась в 1974 году (прототип IBM System R). Но первый (1986) стандарт SQL ничего не сделал для временности. Именно в SQL-92 произошло нечто большее, чем стандартные добавленные типы данных даты и времени.

 

Конечно, вы можете имитировать «отсортированные наборы» IDMS с помощью индексации дат и с помощью предложений ORDER BY в инструкциях SELECT (возможно, с CURSOR сверху).

 

В таблице может быть несколько дат, но SQL для выражения, например, битемпоральных запросов, был (является) слишком сложным.

 

Увы, стремление заняться временными вопросами усилилось в девяностые годы. В академии.

СУБД Timeseries (1999)

Хотя первая СУБД временного ряда вышла в 1999 году, примерно в 2012 году концепция набирает обороты. На графике ниже показано количество новых продуктов в год:

Вышесказанное основано на очень полезном сайте, называемом DB-Engines , на котором сейчас перечислены 31 продукт СУБД временных рядов. Как правило, СУБД временных рядов ориентированы на сбор, хранение и запрос данных с большими объемами транзакций. И есть некоторые особые требования, такие как: данные понижающей дискретизации, сравнение с предыдущей записью и объединение временных рядов (по приблизительным временным меткам или их совокупностям).

Data Vault (2000)

Моделирование хранилища данных (DV) было задумано Дэном Линстедтом, который занимался моделированием для правительства США. Примерно в 2000 году он обнародовал его, и он приобрел довольно много последователей в таких модельных условиях, как правительство и финансы. Это умный способ использовать SQL-СУБД даже в сложных моделях данных с требованиями к широкой поддержке временных характеристик и с хорошей производительностью при загрузке данных хранилища данных.

 

Вот моя попытка объяснить DV в одной простой концептуальной карте:

Концептуальная модель выше представляет логический уровень DV. Концентраторы представляют собой «персону» типов бизнес-объектов. Это могут быть люди, продукты и т. Д., А концентраторы в основном содержат бизнес-ключи бизнес-объектов. Свойства бизнес-объектов делятся на «спутники», которые содержат свойства. Часто спутники разделяются из-за разных исходных систем и / или схем нагрузки (DV – это хранилище данных). Отношения представлены в виде «ссылок». В действительности ссылки могут быть разных типов.

 

Физический уровень немного сложнее. Конечные пользователи не видят модель данных DV, но получают доступ к данным через многомерные представления или витрины данных.

 

Обратите внимание на повсеместное присутствие «Load DTS», отметок даты и времени загрузки. DV все больше и больше обрабатывается как «только вставка», не в последнюю очередь по причинам производительности. Это также закладывает хорошую основу для временных запросов, принимая во внимание не только рабочую дату / время, но и загрузку DTS. Наконец, он также поддерживает развитие контента с течением времени.

Временные и реляционные (2002)

В 2002 году Хью Дарвен и Крис Дейт вместе с Никосом Лоренцосом опубликовали новую книгу под названием « Временные данные и реляционная модель» (Морган Кауфман). Книга была предназначена для использования в качестве учебного пособия в учебных целях при «описании действительно реляционного подхода к проблеме данных» (текст на задней обложке). Он основан на языке «D», который является их предложением для правильного языка реляционных данных.

 

Несмотря на то, что мне нравился D намного лучше, чем SQL, D так и не добрался до базы данных Main Street. SQL все еще был королем дороги.

Онтологии и семантическая сеть (2006)

Эта довольно важная часть базы данных и области моделирования не всегда привлекает внимание, которого она заслуживает. Стандарт RDF (и связанные с ним СУБД) является одной из рабочих лошадок (веб-ориентированных) архитектур данных. Что касается временного, я знаю о «Онтологии времени в OWL» (см. W3C ), которая впервые появилась примерно в 2006 году. Я сам с ней не работал, но у меня сложилось впечатление, что она сосредоточена на временном геолокации. и что такие понятия, как действительное время (для битемпоральности) и временные ряды, в настоящее время не входят в сферу применения.

Временное моделирование и ORM (2008)

Я следил за сообществом «Моделирование на основе фактов» в течение многих лет. Это на самом деле восходит к семидесятым, и его наиболее известное воплощение называется ORM (Object-Role Modeling). Сегодня большинство практиков предпочитают называть это Факториентированным моделированием. Используется на концептуальном уровне. Визуалы бывают разных вкусов, но все они выглядят примерно так:

Обратите внимание, что объект Date связан с Employee (номером) в двух разных ролях. NB (важное наблюдение): временность должна применяться к самому низкому уровню детализации.

 

Я разместил это в 2008 году, потому что в этом году Терри Хэлпин опубликовал документ для конференции под названием Temporal Modeling и ORM . Это отличный обзор академической истории темпоральности во всех основных парадигмах модели данных.

 

Недавно инструмент моделирования, ориентированный на факты Casetalk, предложил использовать небольшую иконку часов для обозначения временных аспектов фактов . Хорошая идея, но почему бы не значок календаря?

Якорное Моделирование (2009)

Anchor Modeling в некотором роде похож на Data Vault, но у него, безусловно, есть и другие собственные идеи. Он возник из реальных сценариев использования, реализованных Ларсом Рённбеком и Олле Регардтом в Швеции, и сегодня он поддерживается исследованиями в Стокгольмском университете. Ларс и Олле представили его публике в 2009 году.

 

Вот упрощенная карта концепции «одного пейджера» Anchor Modeling:

Якоря – это типы бизнес-объектов, связи – это отношения, а атрибуты – свойства якорей. Узлы удобны для обработки простых наборов почти статических кодов и описаний, таких как коды стран и имена и т. Д.

 

Подход с открытым исходным кодом и хорошо работает с сильно (6 NF) нормализованных данных, и имеет хорошие временные качества. Как и DV, Anchor Modeling показывает, что требуется для временного моделирования поверх обычных баз данных – добавляя 6NF к уравнению.

 

Существует прекрасный веб-сайт для Anchor Modeling , и там вы даже можете найти бесплатный инструмент для моделирования!

SQL (2011)

CS Отдел в Univ. Аризоны подытожил, как TSQL2 (SQL / Temporal) наконец нашел свой путь в стандарт SQL: взаимодействия TSQL2 и SQL3 .

 

Ниже приведена сокращенная версия их заметок:

 

ISO / IEC 9075, Язык базы данных SQL: 2011 Часть 2: SQL / Foundation, опубликовано

 

15 декабря 2011 года включает в себя:

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

В том же документе упоминается около 10 продуктов, которые имеют реализации (части) этого стандарта. Вот пример запроса «по состоянию на», основанного на версионной временной таблице систем Microsoft SQL Server :

(Скачано из документации MSDN на 2019-06-14).

 

Хотя этот временный стандарт SQL существует уже несколько лет, я не видел много реальных его применений в рабочих системах. Я хотел бы услышать о вашем опыте; пожалуйста, отправьте их на info graphdatamodeling.com. Спасибо!

Ансамблевое моделирование (2012)

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

 

Этот общий шаблон получил название в 2012 году, когда Ханс Халгрен опубликовал пост в блоге об Unified Decomposition ™. Чтобы идти в ногу с серьезными проблемами, такими как:

 

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

 

Это, конечно, очень помогает с временностью (а также с интеграцией, гибкостью и нагрузками только для вставки и т. Д.).

 

Посмотрите на концептуальные модели выше для Data Vault и Anchor Modeling, и то, что вы также видите в них, является метамоделью паттерна Ensemble Logical Modeling:

 

«Основная бизнес-концепция, например,« Клиент », представлена ​​(с точки зрения DW) как разложенный« ансамбль »своего хаба, его сателлитов и связей непосредственно с концепцией, основанной на ключе бизнеса».

 

Ханс Халтгрен назвал подход Ensemble Modeling ™ в своей книге 2012 года о Agile DW Development. Будучи человеком DV, Ханс Халтгрен описал это в терминах DV, но это также относится к моделированию якоря, а также к другим подходам 6-й нормальной формы . 6NF (в теории отношений) действительно «… предназначался для разложения переменных отношения на неприводимые компоненты». (Цитируется из ссылки на Википедию относительно 6NF чуть выше).

Том Джонстон: теория и практика битемпоральных данных (2014)

Том Джонстон решил подробно проанализировать всю проблему битемпоральных данных и опубликовал хорошо изученную и хорошо документированную книгу об этом в 2014 году. Это отличная книга, имеющая солидную теоретическую часть и столь же практическую часть. Пространство не позволяет мне вдаваться в подробности, поэтому, если вы столкнулись с этими проблемами, эта книга – хороший выбор. Вот очень короткая коллекция лакомых кусочков: и семантика, и онтологический аспект реляционной модели (и временности) подробно описаны (впервые). Содержит обширный, логичный »аннотированный глоссарий и удобную систему обозначений. Он предпочитает «время государства» и «время утверждения» в качестве лучших терминов. Утверждения как бы обволакивают реляционную модель временным слоем. Избранные новые термины: «Временные первичные ключи», «Референты и RefID», «Временные внешние ключи», «ИНТЕРВАЛ ГОСУДАРСТВА», «Онтология реляционной парадигмы …

 

Настоятельно рекомендуется для сложных битемпоральных проектов на основе баз данных SQL.

Что-нибудь новое после 2014 года?

Что ж, кроме все большего числа продуктов СУБД временных рядов, на ум приходит только одно: Ларс Рённбек, наиболее известный как Anchor Modeling, работает над «Переходным моделированием», которое расширяет перспективу от данных к контексту и от времени также реалистичность. Это работа в процессе. Посмотрите его формальную, углубленную статью: Моделирование противоречивой, ненадежной и изменяющейся информации. Его последний пост об этом проекте: « Переосмысление базы данных» .

Почитать еще

| Аналитика бизнеса

Машинное обучение

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

| Аналитика бизнеса

Выборка. Типы выборок

Суммарная численность объектов наблюдения (люди, домохозяйства, предприятия, населенные пункты и т.д.), обладающих определенным набором признаков

| Аналитика бизнеса

Обзор основных видов сегментации

Загрузить программу ВІ Демонстрации решений Аналитика бизнеса Оглавление Сегментация бренда Сегментация помогает принимать более эффективные

Несколько видео о наших продуктах

| Аналитика бизнеса
Проиграть видео
Презентация аналитической платформы Tibco Spotfire
| Аналитика бизнеса
Проиграть видео
Отличительные особенности Tibco Spotfire 10X
| Аналитика бизнеса
Проиграть видео
Как аналитика данных помогает менеджерам компании
2021-01-27T20:41:30+02:00