【发布时间】:2011-04-03 13:31:12
【问题描述】:
我的任务是实施一个系统,以持续接收来自合作伙伴的大量数据。合作伙伴的数据架构和我们的不一样,所以在接收数据并导入我们的数据库时必须进行一些转换。
解决此任务的最佳方法是什么?
我对等式的两边都有一定的控制权,即如果我们选择使用 WCF,我们的合作伙伴将实施该服务。但重要的是尽可能限制必须在合作伙伴方面进行的编程数量。理想情况下,他们会使用 SQL Server 的某些功能来导出数据,然后让我们处理其余的。
其他相关因素:
- 双方都使用 SQL Server(我们这边是 2008 年,合作伙伴未知)。
- .NET 4 和/或 Microsoft 开箱即用的任何产品,没有第 3 方产品。
- 转移是一种方式,即仅从合作伙伴转移给我们。
- 每天传输的数据量约为数万条更新记录/对象。
- 数据模型相当复杂,包含多个表和关系。
- 解决方案应该能够容忍合作伙伴方面的变化(我们不知道他们何时以及如何改变他们的模型)
- 可维护性和可靠性比性能更重要,即我们不需要最新数据,但服务应该易于修改并且不能失败/停止。
我问这个问题是因为我不知所措,但可以实现的方法有很多。作为 .NET 开发人员,我倾向于实现 WCF,甚至可能是一些基于 xml 的自定义交换。但我知道 Biztalk 可能适合这里的账单,而且 SQL Server 可能内置了一些我不知道的漂亮功能。
欢迎任何指点、想法和建议!
【问题讨论】:
-
什么是大数据量? 100GB/小时?复制速度必须有多快。它应该是某种预定的批量加载,还是更多的事件驱动/每条记录?
-
抱歉,我所说的“大”是指“每天数万条记录”,这将需要一些处理,但不会对我们的带宽造成太大压力。批量或事件驱动也取决于我们提出的解决方案。它可以是每晚的工作,也可以是单个更新的记录/对象的连续流。
标签: .net sql-server architecture data-transfer