Лучший способ построить DataMart из нескольких внешних систем?

Я нахожусь на стадии планирования создания SQL Server DataMart для контактной информации и истории почты/электронной почты/SMS. Каждая часть данных находится в другой внешней системе. Из-за этого адреса электронной почты не имеют номеров учетных записей, а номера телефонов SMS не имеют адресов электронной почты и т. д. Другими словами, общего первичного ключа не существует. Некоторые данные перекрываются, но я мало что могу сделать, кроме как сохранить наиболее полную версию, когда возникают дубликаты.

Есть ли наилучшая практика для создания DataMart с этими данными? Было бы приемлемо создать таблицу ключей со столбцом для каждого внешнего ключа? Затем можно назначить уникальный первичный идентификатор, чтобы связать его с другими таблицами DataMart.

Ищу идеи/предложения по подходам, о которых я, возможно, еще не думал.

Спасибо.


person MattB    schedule 12.10.2010    source источник


Ответы (3)


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

Знакомы ли вы с методами хранилища данных и шаблонами проектирования? Если у вас нет предыдущих знаний или опыта, подумайте о том, чтобы нанять помощника. Проекты BI / хранилища данных имеют очень высокий процент отказов, а ошибки могут дорого обойтись.

person nvogel    schedule 12.10.2010
comment
А, суррогатные ключи, наверное, то, что мне нужно. Спасибо. Я рассмотрел схемы типа «звезда», процессы ETL, кубы и т. д. Я, безусловно, ценю советы. Поскольку масштаб проекта в тестовой среде изначально меньше, я просто не думаю, что в данный момент было бы целесообразно нанимать помощь со стороны. У нас уже есть персонал на месте, и мы, вероятно, передадим его, как только концептуально завершим. Мы сейчас на стадии планирования. - person MattB; 14.10.2010

Больше информации нашел здесь:

http://en.wikipedia.org/wiki/Extract,_transform,_load#Dealing_with_keys

person MattB    schedule 28.10.2010

Что ж, без какой-либо другой информации, которая могла бы связать воедино разрозненные фрагменты, ваша витрина данных будет довольно рудиментарной. Вы сможете получать типы данных (смс, электронная почта, почта), метрики для каждого типа с течением времени («на этой неделе/месяце/квартале/годе мы получали в среднем 42,5 смс-сообщения в день и 8000 писем в месяц! w00t !"). Имея только номера телефонов и адреса электронной почты, ваши «другие витрины данных», скорее всего, должны быть названиями телефонных компаний или интернет-доменами. Я думаю, вы могли бы связать это с какой-то географической информацией (местоположение интернет-провайдера?) Или, может быть, с финансовой информацией для компаний. Вид размытия, если вы еще не знаете, в каком направлении хотите двигаться.

Честно говоря, это звучит так, как будто у кого-то из высокопоставленных лиц рефлекторная реакция на модное словечко «киоск данных» в сочетании с тем, что он услышал что-то о том, насколько важны коммуникационные метрики, поэтому они отправили приказы вниз по цепочке, чтобы «доставить нам несколько киосков данных для вести статистику по всем нашим электронным письмам!»

Вам нужно выяснить, что вы или ваш работодатель ожидаете получить от этого проекта, а затем затем выяснить, дают ли данные, которые вы в настоящее время собираете, путь к этой информации. . Прямо сейчас это звучит так, как будто вы делаете это в обратном порядке («У меня есть эти данные, для чего они нужны?»). Вполне возможно, что у вас в данный момент нет нужных данных, а значит, вам нужно будет их купить (кто знает, сможете ли вы) или начать их собирать, и в этом случае у вас не будет красивых графиков и трендов. строки для высшего руководства, на которые следует обратить внимание в течение некоторого времени ... в соответствии с предупреждением, которое dportas дал вам во втором абзаце;)

person Brett Rossier    schedule 14.10.2010
comment
Наша цель — сделать контактную информацию, историю контактов и поведение более доступными в централизованном месте, а не использовать перемешанную электронную таблицу Excel с данными из нескольких систем. В настоящее время у нас нет возможности легко отслеживать историю контактов. Таким образом, мы стремимся объединить эти данные в централизованной среде, которая будет гораздо более доступной для всех. Проблема в том, что данные фрагментированы и труднодоступны. Это то, что мы надеемся изменить. Он меньше по масштабу и изначально будет использоваться только 3 людьми. - person MattB; 14.10.2010
comment
Максимально упростите сбор данных. Входящие электронные письма должны находиться где-то на почтовом сервере, чтобы вы могли извлечь из него информацию. Телефонные звонки, вероятно, регистрируются в системе АТС, и если это цифровая система, вы сможете получить информацию из нее. SMS... не знаю, как вы собираетесь регистрировать эту информацию, если только у вас нет системы, находящейся между двумя людьми, отправляющими текстовые сообщения. Если вы это сделаете, у него должна быть информация, которую вы могли бы извлечь. Во всех трех случаях потребуется, чтобы кто-то знал, как получить доступ к данным каждой системы и выяснить, как доставить их на витрину данных. - person Brett Rossier; 15.10.2010
comment
Каждая система может хранить огромную историю информации или информацию только за месяц, и это невозможно узнать, если вы не знаете систему. Таким образом, предполагая, что он не хранит бесконечный журнал, вам нужно составить график регулярного получения данных из каждой системы. Затем у вас должен быть подходящий дизайн витрины данных для этих извлеченных данных, чтобы вы могли создавать нужные вам показатели. Кстати, если вы в настоящее время не записываете историю контактов, то вы говорите о том, чтобы протолкнуть новое приложение перед своими пользователями, хитрость заключается в том, чтобы заставить их действительно использовать его правильно. Дьявол в деталях - person Brett Rossier; 15.10.2010
comment
Хорошая новость заключается в том, что у нас есть доступ к этим вещам и мы знаем системы, с которыми имеем дело. Что касается контактной информации, я говорю больше с точки зрения маркетинговой кампании. Поскольку я работаю в отделе, у нас есть доступ к этим данным. Однако вы правы в том, что нам необходимо обеспечить регистрацию данных о получателях кампании как часть нашего процесса. Мой вопрос был в основном техническим с точки зрения передовой практики при связывании контактных данных. Это некоторые из деталей, которые мы хотим тщательно продумать, прежде чем представить их ИТ-специалистам, если мы пойдем по этому пути. - person MattB; 16.10.2010