Обновление данных из нескольких разных источников - PullRequest
0 голосов
/ 11 мая 2010

Я нахожусь в процессе создания базы данных с информацией о клиентах. База данных будет обрабатывать данные клиента (идентификатор клиента, адрес, phonenr и т. Д.), А также некоторую базовую информацию о том, какому виду рекламы подвергался конкретный клиент и как он реагировал на него.

Данные будут храниться как из центрального хранилища данных, но дополнительная информация о клиентах и ​​рекламе также будет обновляться из других источников. Например, если внешнее рекламное агентство проводит кампанию, я хочу, чтобы они имели возможность передавать данные об OptOuts, отказов по электронной почте и т. Д. Я думаю, что мне нужен API, который можно легко передать любому количеству агентств. ,

Моей первой мыслью было настроить API веб-службы для всех внешних источников, но, поскольку мы, вероятно, будем говорить о больших объемах данных (миллионы записей в пакете), я не уверен, что веб-служба - лучший вариант. .

Итак, мой вопрос: какова лучшая практика здесь? Мне нужно решение, достаточно простое для использования рекламными агентствами (вероятно, со средним уровнем квалификации ИТ-специалистов). Простота имеет существенное значение - в данном случае я имею в виду «простота над производительностью». Если настройка становится слишком сложной, она не будет работать.

Скорее всего, система будет основана на технологии Microsoft.

Есть предложения?

1 Ответ

1 голос
/ 11 мая 2010

Процесс, который вы описываете, обычно называют интеграцией данных с использованием процессов ETL. ETL расшифровывается как Extract-Transform-Load. Идея состоит в том, чтобы создать ваше центральное хранилище данных, извлекая информацию из множества различных источников данных, преобразовывая ее и затем загружая в хранилище данных.

Для реализации такого процесса существует множество (также графических) инструментов. Поскольку вы сказали, что, вероятно, используете стек Microsoft, я предлагаю взглянуть на Sql Server Integration Services (SSIS).

Что касается вашего предложения по внедрению интеграции с использованием веб-сервиса, я не думаю, что это тоже хорошая идея. Точно так же я не думаю, что перенос бремени интеграции данных на ваших клиентов также является хорошей идеей. Вы должны договориться со своими клиентами о какой-либо форме формата обмена данными, это может быть простой файл CSV или XML, листы Excel, базы данных Access и использовать все, что вам подходит.

Любой современный инструмент ETL, такой как SSIS, способен работать с этими различными источниками данных.

...