Что такое моделирование данных?
Моделирование данных – это процесс создания визуального представления или чертежа, определяющего системы сбора и управления информацией в любой организации. Этот план или модель данных помогает различным заинтересованным сторонам, таким как аналитики данных, ученые и инженеры, создать единое представление о данных организации. Модель описывает, какие данные собирает компания, взаимосвязь между различными наборами данных и методы, которые будут использоваться для хранения и анализа данных.
Почему моделирование данных важно?
Сегодня организации собирают большое количество данных из множества различных источников. Однако необработанных данных недостаточно. Вам необходимо анализировать данные для получения действенных выводов, которые помогут вам принимать выгодные бизнес-решения. Точный анализ данных требует их эффективного сбора, хранения и обработки. Существует несколько технологий баз данных и инструментов обработки данных, а разные наборы данных требуют разных инструментов для эффективного анализа.
Моделирование данных дает вам возможность понять ваши данные и сделать правильный выбор технологии для их хранения и управления ими. Подобно тому, как архитектор разрабатывает чертеж перед строительством дома, заинтересованные стороны бизнеса разрабатывают модель данных, прежде чем создавать решения баз данных для своей организации.
Моделирование данных дает следующие преимущества:
- Сокращает количество ошибок при разработке программного обеспечения для баз данных
- Способствует скорости и эффективности проектирования и создания баз данных
- Обеспечивает согласованность документации данных и системного дизайна в рамках всей организации
- Способствует коммуникации между инженерами по данным и командами бизнес-аналитики
Какие существуют типы моделей данных?
Моделирование данных обычно начинается с концептуального представления данных, а затем их повторного представления в контексте выбранных технологий. Аналитики и заинтересованные стороны создают несколько различных типов моделей данных на этапе проектирования данных. Ниже перечислены три основных типа моделей данных:
Концептуальная модель данных
Концептуальные модели данных дают общее представление о данных и объясняют следующее:
- данные, которые содержит система;
- атрибуты данных и условия или ограничения на данные;
- бизнес-правила, к которым относятся данные;
- оптимальная организация данных;
- требования к безопасности и целостности данных.
Заинтересованные стороны и аналитики обычно создают концептуальную модель. Это простое диаграммное представление, которое не следует формальным правилам моделирования данных. Важно то, что оно помогает как техническим, так и нетехническим заинтересованным сторонам разделить общее видение и согласовать цель, объем и дизайн проекта по работе с данными.
Пример концептуальной модели данных
Например, концептуальная модель данных для автосалона может представлять собой следующие сущности данных:
- Сущность «Шоурум», которая представляет информацию о различных торговых точках дилерского центра.
- Сущность «Автомобили», которая представляет несколько автомобилей, имеющихся у дилерского центра в настоящее время.
- Сущность «Клиенты», которая представляет всех клиентов, совершивших покупку в дилерском центре.
- Сущность «Продажи», которая представляет информацию о фактической продаже.
- Сущность «Продавец», которая представляет информацию обо всех продавцах, работающих в дилерском центре.
Эта концептуальная модель также будет включать бизнес-требования, например:
- Каждый автомобиль должен принадлежать определенному шоуруму.
- Каждая продажа должна иметь как минимум одного продавца и одного клиента, связанных с ней.
- Каждый автомобиль должен иметь название марки и номер продукта.
- Каждый клиент должен указать свой номер телефона и адрес электронной почты.
Таким образом, концептуальные модели выступают в качестве моста между бизнес-правилами и лежащей в их основе физической системой управления базами данных (СУБД). Концептуальные модели данных также называются моделями домена.
Логическая модель данных
Логические модели данных отображают концептуальные классы данных на технических структурах данных. Они дают более подробную информацию о концепциях данных и их сложных отношениях, которые были определены в концептуальной модели данных, например:
- Типы данных различных атрибутов (например, строка или число)
- Взаимосвязи между объектами данных
- Первичные атрибуты или ключевые поля в данных
Архитекторы данных и аналитики совместно работают над созданием логической модели. Они следуют одной из нескольких формальных систем моделирования данных для создания представления. Иногда гибкие команды могут пропустить этот шаг и перейти от концептуальных к физическим моделям напрямую. Однако эти модели полезны для проектирования больших баз данных, называемых хранилищами данных, и для проектирования систем автоматической отчетности.
Пример логической модели данных
В нашем примере с автосалоном логическая модель данных расширяет концептуальную модель и позволяет глубже рассмотреть классы данных следующим образом:
- Сущность «Шоурум» имеет такие поля, как название и местоположение в виде текстовых данных и номер телефона в виде числовых данных.
- Сущность «Клиенты» имеет поле адреса электронной почты с форматом xxx@example.com или xxx@example.com.yy. Длина имени поля может составлять не более 100 символов.
- Сущность «Продажи» имеет в качестве полей имя клиента и имя продавца, а также дату продажи как тип данных даты и сумму как десятичный тип данных.
Таким образом, логические модели служат связующим звеном между концептуальной моделью данных и базовой технологией и языком баз данных, которые разработчики используют для создания базы данных. Однако они не зависят от технологии, и вы можете реализовать их на любом языке баз данных. Инженеры по данным и заинтересованные стороны обычно принимают технологические решения после создания логической модели данных.
Физическая модель данных
Физические модели данных отображают логические модели данных на конкретную технологию СУБД и используют терминологию программного обеспечения. Например, они предоставляют подробную информацию о следующем:
- Типы полей данных, представленные в СУБД
- Отношения между данными, представленные в СУБД
- Дополнительные детали, такие как настройка производительности
Инженеры по обработке данных создают физическую модель перед окончательной реализацией дизайна. Они также следуют формальным методам моделирования данных, чтобы убедиться, что охватили все аспекты проектирования.
Пример физической модели данных
Предположим, что автосалон решил создать архив данных в сервисе Гибкое извлечение данных Amazon S3 Glacier. Их физическая модель данных описывает следующие характеристики:
- В «Продажах» сумма продажи – это тип данных float, а дата продажи – тип данных timestamp.
- В «Клиентах» имя клиента является строковым типом данных.
- В терминологии S3 Glacier Flexible Retrieval хранилище – это географическое местоположение ваших данных.
Ваша физическая модель данных также включает дополнительные детали, например в каком регионе AWS вы создадите свое хранилище. Таким образом, физическая модель данных выступает в качестве моста между логической моделью данных и конечной технологической реализацией.
Какие существуют методы моделирования данных?
Методы моделирования данных – это различные методы, которые вы можете использовать для создания различных моделей данных. Эти подходы развивались с течением времени в результате инноваций в концепциях баз данных и управления данными. Ниже представлены основные типы моделирования данных.
Иерархическое моделирование данных
При иерархическом моделировании данных вы можете представить отношения между различными элементами данных в древовидном формате. Иерархические модели данных представляют собой отношения «один ко многим», когда родительские или корневые классы данных отображаются на несколько дочерних.
В примере с автосалоном родительский класс Шоурумы будет иметь дочерние сущности Автомобили и Продавцы, поскольку в одном шоуруме есть несколько автомобилей и работает несколько продавцов.
Графовое моделирование данных
Иерархическое моделирование данных со временем превратилось в графовое. Графовые модели данных представляют отношения данных, в которых сущности рассматриваются одинаково. Сущности могут связываться друг с другом отношениями «один ко многим» или «многие ко многим» без понятия «родительский» или «дочерний».
Например, в одном шоуруме может работать несколько продавцов, а один продавец может также работать в нескольких шоурумах, если их смены отличаются в зависимости от местоположения.
Реляционное моделирование данных
Реляционное моделирование данных – это популярный подход к моделированию, который визуализирует классы данных в виде таблиц. Различные таблицы данных соединяются или связываются друг с другом с помощью ключей, которые представляют реальные отношения между сущностями. Вы можете использовать технологию реляционных баз данных для хранения структурированных данных, а реляционная модель данных – это полезный метод представления структуры реляционной базы данных.
Например, автосалон будет иметь реляционные модели данных, представляющие таблицу «Продавцы» и таблицу «Автомобили», как показано здесь:
Идентификатор продавца | Имя |
1 | Ольга |
2 | Иван |
Идентификатор автомобиля | Бренд автомобиля |
C1 | XYZ |
C2 | ABC |
Идентификатор продавца и идентификатор автомобиля – это первичные ключи, которые однозначно идентифицируют отдельные объекты реального мира. В таблице шоурума эти первичные ключи действуют как внешние ключи, связывающие сегменты данных.
Идентификатор шоурума | Название шоурума | Идентификатор продавца | Идентификатор автомобиля |
S1 | NY Showroom | 1 | C1 |
В реляционных базах данных первичный и внешний ключи работают вместе, чтобы показать взаимосвязь данных. В предыдущей таблице показано, что в шоурумах могут быть продавцы и автомобили.
Моделирование данных «сущность-связь»
Моделирование данных «сущность-связь» (ER) использует формальные диаграммы для представления отношений между сущностями в базе данных. Архитекторы данных используют несколько инструментов ER-моделирования для представления данных.
Объектно-ориентированное моделирование данных
В объектно-ориентированном программировании для хранения данных используются структуры данных, называемые объектами. Эти объекты данных являются программными абстракциями объектов реального мира. Например, в объектно-ориентированной модели данных автосалон будет иметь такие объекты данных, как «Клиенты», с такими атрибутами, как имя, адрес и номер телефона. Вы будете хранить данные о клиентах таким образом, чтобы каждый реальный клиент был представлен в виде объекта данных о клиенте.
Объектно-ориентированные модели данных преодолевают многие ограничения реляционных моделей данных и популярны в мультимедийных базах данных.
Многомерное моделирование данных
Современные корпоративные вычисления используют технологию хранилищ данных для хранения больших объемов данных для аналитики. Вы можете использовать проекты многомерного моделирования данных для их высокоскоростного хранения и извлечения из хранилища. Многомерные модели используют дублирование или избыточные данные и отдают приоритет производительности, а не использованию меньшего пространства для хранения данных.
Например, в многомерных моделях данных автосалон имеет такие измерения, как «Автомобиль», «Шоурум» и «Время». Показатель «Автомобиль» имеет такие атрибуты, как название и марка, а «Шоурум» – штат, город, название улицы и название шоурума.
В чем заключается процесс моделирования данных?
Процесс моделирования данных состоит из последовательности шагов, которые необходимо повторять до тех пор, пока не будет создана полная модель данных. В любой организации различные заинтересованные стороны объединяются для создания полного представления данных. Хотя этапы зависят от типа моделирования данных, ниже приведен общий обзор.
Шаг 1. Определите объекты и их свойства
Определите все сущности в вашей модели данных. Каждая сущность должна быть логически отличной от всех других сущностей и может представлять людей, места, вещи, понятия или события. Каждая сущность отличается от других, поскольку обладает одним или несколькими уникальными свойствами. В своей модели данных вы можете рассматривать сущности как существительные, а атрибуты – как прилагательные.
Шаг 2. Определите отношения между сущностями
В основе моделирования данных лежат отношения между различными сущностями. Бизнес-правила изначально определяют эти отношения на концептуальном уровне. Вы можете рассматривать отношения как глаголы в вашей модели данных. Например, продавец продает много автомобилей или в шоуруме работает много продавцов.
Шаг 3. Выберите метод моделирования данных
После концептуального осознания сущностей и их взаимосвязей вы можете определить метод моделирования данных, который лучше всего подходит для вашего случая. Например, вы можете использовать реляционное моделирование данных для структурированных данных, а многомерное – для неструктурированных.
Шаг 4. Оптимизируйте и примените на практике
Вы можете дополнительно оптимизировать модель данных в соответствии с вашими требованиями к технологии и производительности. Например, если вы планируете использовать Amazon Aurora и структурированный язык запросов (SQL), поместите свои сущности непосредственно в таблицы и определите связи с помощью внешних ключей. А если вы решите использовать Amazon DynamoDB, вам нужно будет продумать модели доступа до того, как вы смоделируете свою таблицу. Поскольку для DynamoDB приоритетом является скорость, вы сначала определяете, как будете обращаться к своим данным, а затем моделируете их в той форме, в которой они будут доступны.
Как правило, вы будете неоднократно пересматривать эти шаги по мере изменения технологии и требований с течением времени.
Как AWS может помочь с моделированием данных?
Вы также можете использовать AWS Amplify DataStore для более быстрого и простого моделирования данных при создании мобильных и веб-приложений. У него есть визуальный и основанный на коде интерфейс для определения модели данных с отношениями, что ускорит разработку приложения.
Начните работу с моделированием данных в AWS, создав бесплатный аккаунт уже сегодня.
Следующие шаги на AWS
Получите мгновенный доступ к уровню бесплатного пользования AWS.