Модель данных определяет, как организованы, связаны и доступны различные источники данных организации. По мере добавления источников данных и роста сложности модель данных оказывает большое влияние на производительность и эффективность любого сотрудника компании, который работает с данными.
Держите модель данных под контролем, следуя этим четырем советам:
Одним из самых больших преимуществ централизованной модели данных является то, что вы создаете универсально понятные термины, которые обеспечивают более прямое обсуждение.
Например; идея пользователя “session”. Этот термин довольно широко понимается среди продуктовых и маркетинговых команд, но точное определение может немного отличаться в зависимости от того, кого вы спрашиваете. Эти различия могут привести к путанице, когда аналитические вопросы становятся действительно конкретными. Если вы определяете начало сеанса как момент, когда пользователь нажимает на ваш сайт, доход от их покупки может попасть в совершенно другую категорию атрибуции, чем если бы вы определяли начало сеанса как момент входа пользователя в свою учетную запись. Точное определение сеанса и то, как ваша модель данных соотносит сеансы с расходами на рекламу и продажами, будет иметь реальное значение как для вашего квартального дохода, так и для вашего маркетингового бюджета, если учесть, что количество сеансов и сотен транзакций превышает тысячи. Модель данных должна содержать явное определение общих терминов, таких как сеансы, пользователи и т.д.
Абстракция часто включается как функция в технологии в стеке данных. Многие популярные инструменты включают функциональные возможности, которые, на первый взгляд, предлагают удалить сложность из модели данных путем абстрагирования общих задач. Но эти функции, как правило, требуют использования фирменной терминологии в модели данных для доступа к этим функциям. Это не только создает несогласованность в языке программирования, используемом для работы с данными, но и делает модель данных более трудной для чтения и обслуживания и менее доступной для новых работников.
Например, при построении модели данных активно используют dbt. Однако ограничивают зависимость от их функции макросов, которые затемняют выполняемый SQL. Как бы ни был полезен инструмент dbt, для нас более важно поддерживать языковую согласованность в нашей модели, чтобы мы не оказались в долгу перед каким-либо одним инструментом.
Модель данных может оказать существенное влияние на эффективность самих запросов. С хорошо структурированными данными запросы могут выполняться намного быстрее. Большинство сложных вычислений может быть выполнено заранее при построении связей в модели данных, так что дорогостоящая вычислительная работа не должна происходить каждый раз при выполнении нерегламентированного запроса. Это может гарантировать, что аналитики тратят время на сбор информации, а не на ожидание выполнения запросов. Дополнительные часы, которые аналитики получают, делая эту работу заранее, могут быть потрачены на все виды более ценной работы.
Все три вышеуказанные цели достигаются главным образом путем создания модели данных, состоящей из полезных сегментов. Необработанные данные из многих источников часто содержат гораздо больше информации, чем необходимо аналитику для выполнения своей работы, и большая часть состояния этих данных по умолчанию является беспорядочной.
Ваша модель данных должна исключить столбцы, которые не будут полезны для анализа, стандартизировать такие вещи, как типы данных timestamp и другие значения, и в целом уменьшить путаницу и обслуживание, необходимые для проведения анализа. Переименуйте заголовки столбцов, чтобы они были удобочитаемыми для тех, кто не работал с таблицей, и измените порядок столбцов таким образом, чтобы точки данных, которые, вероятно, будут считываться вместе, группировались вместе, а не оставляли их разбросанными по схеме.
Понимание и построение больших моделей данных – это целая область знаний. Если вы сами не являетесь экспертом, это должно быть то, о чем вы спрашиваете при создании своей группы данных.