Это похоже на инженерную задачу, которую легко делегировать и безопасно игнорировать любому, кто управляет бизнесом: модель данных — как ваше программное обеспечение представляет клиента, заказ, проект и как эти вещи связаны. Но модель данных не является технической деталью. Он незаметно решает, на какие вопросы вы можете ответить, что можно автоматизировать и что вообще можно увидеть. Ваша модель данных — ваша стратегиянезависимо от того, выбрали ли вы это намеренно или унаследовали случайно.
Модель решает, что возможно.
Рассмотрим простой вопрос: «Покажите мне каждого клиента, который купил продукт А, открыл заявку в службу поддержки и не продлил подписку». Сможете ли вы ответить на этот вопрос (да вообще легко) полностью зависит от вашей модели данных. Если покупки, билеты и продления находятся в одной модели, где «клиент» — это одна сущность, это запрос. Если они живут тремя инструментами с тремя понятиями о клиенте, это многодневный проект, и это, вероятно, неправильно. Стратегия «повторное привлечение клиентов из группы риска» доступна первому бизнесу и фактически закрыта для второго — не из-за амбиций, а из-за архитектуры.
Стратегия — это набор действий, которые вы намереваетесь сделать. Ваша модель данных — это набор вещей, которые вы действительно можете сделать. Когда они расходятся, побеждает модель данных.
Фрагментированная модель — это фрагментированная стратегия.
Когда ваши данные хранятся в двенадцати инструментах, у вас нет одной модели данных — у вас их двенадцать, каждая со своим собственным определением основных сущностей, ни одна из которых не полностью согласуется. Эта фрагментация не является нейтральной. Он молчаливо исключает любую стратегию, требующую рассмотрения фрагментов: персонализацию, автоматизацию жизненного цикла, настоящий анализ прибыльности, все, что требует полного представления клиента в одном представлении. Ваша стратегия незаметно сжимается, чтобы соответствовать тому, что могут поддерживать ваши разбросанные данные, и вы можете никогда не заметить удаленные варианты.
Модель выбирала осознанно.
Стратегический ход — относиться к вашей модели данных как к стратегическому решению (потому что она таковая) и выбирать ее намеренно. Единая модель, в которой основные сущности определяются один раз и все к ним относится, сохраняет максимальное количество доступных вам стратегий. Это архитектурный эквивалент открытого выбора: вам не нужно сегодня знать, какие сквозные возможности вам понадобятся через два года, но последовательная модель данных гарантирует, что это будет возможно, когда вы это сделаете.
Вам не обязательно заботиться о базах данных, чтобы заботиться об этом, потому что последствия не технические, а стратегические. То, как ваш бизнес представляет свой мир, определяет, на что способен ваш бизнес. Выберите унифицированную модель, и вы сохраните свои стратегические возможности открытыми. Унаследуйте фрагментированную систему, и вы проведете годы, натыкаясь на невидимые стены, построенные по архитектуре, которую никто не выбирал.