【发布时间】:2011-04-01 20:46:47
【问题描述】:
我正在尝试设置一个自动化流程来定期转换大型 MS SQL 2008 数据库并将其导出到 MongoDB。
SQL 中的表和 MongoDB 中的集合之间不是一一对应的——例如 SQL 中的 Address 表被翻译成嵌入在 Mongo 中每个客户记录中的数组等等。
现在我有一个 3 步流程:
- 使用 FOR XML 查询将数据库的所有相关部分导出为 XML。
- 使用 XSLT 将 XML 转换为 mongoimport 友好的 JSON
- 使用 mongoimport 导入到 mongo
现在的瓶颈似乎是#2。使用 libxslt 对 300 万条客户记录(每条都包含人口统计信息和嵌入的地址和订单数组)进行 XML->JSON 转换需要数小时。
似乎很难相信目前还没有某种预先构建的方法可以做到这一点,但我似乎在任何地方都找不到。
问题:
A) 是否有任何预先存在的实用程序可以用来执行此操作?
B) 如果没有,有什么方法可以加快我的进程吗?
C)我是否以错误的方式处理整个问题?
【问题讨论】:
-
更新:为 mongodb 友好的 JSON 创建一个 SSIS 目标组件。转入和转出 XML 似乎是额外的步骤。我希望能够使组件足够灵活,以进行必要的转换/非规范化/无论你怎么称呼它。
标签: sql sql-server mongodb database