Мне поручено внедрить систему для непрерывного получения большого количества данных от партнера. Схема данных со стороны партнеров отличается от нашей, поэтому некоторые преобразования должны иметь место, когда данные получены и импортированы в нашу базу данных.Передача данных от партнера постоянно
Каков наилучший подход для решения этой задачи?
У меня есть некоторый контроль над обеими сторонами уравнения, то есть если мы решили использовать WCF, наш партнер реализует эту услугу. Но важно ограничить объем программирования, который должен иметь место на стороне партнеров, насколько это возможно. В идеале они использовали бы некоторую функцию SQL Server для экспорта своих данных, а затем давайте общаемся с остальными.
Другие соответствующие факторы:
- SQL Server используется на обеих сторонах (2008 на нашей стороне, неизвестные для партнера).
- .NET 4 и/или что-либо, что выходит из коробки от Microsoft, без сторонних продуктов.
- Передача в одну сторону, то есть от партнера к нам.
- Объем данных около десятков тысяч обновленных записей/объектов, передаваемых ежедневно.
- Модель данных довольно сложная, с несколькими таблицами и отношениями.
- Решение должно быть терпимым к изменениям на партнеров стороне (мы не знаем, когда & как они меняют свою модель)
- ремонтопригодность и надежность являются более важными, чем производительность, то есть нам не нужно последняя данных, но сервис должен быть легко модифицирован, и он не может терпеть неудачу/остановить.
Я задаю этот вопрос, потому что я переполнил, но количество способов это можно выполнить. Как разработчик .NET, я склоняюсь к внедрению WCF или, возможно, даже к обычным обменам на основе xml. Но я знаю, что Biztalk, вероятно, поместит счет здесь, и у SQL Server, возможно, есть отличные функции, которые я не знаю.
Любые указатели, идеи и предложения приветствуются!
Что такое большие объемы данных? 100GB/час? Как быстро должна быть репликация. Предполагается, что это какая-то запланированная массовая нагрузка или больше событий на основе записи? –
Извините, «большой» я имел в виду «десятки тысяч записей дня», что потребует некоторых процессов, но вряд ли сильно повлияет на нашу пропускную способность. Массовое или управляемое событиями также зависит от нашего предлагаемого решения. Это может быть ночная работа или просто непрерывный поток отдельных обновленных записей/объектов. –