gpt4 book ai didi

xml - SSIS 可以从中提取数据的最大 XML 文件是多少?

转载 作者:数据小太阳 更新时间:2023-10-29 02:05:55 25 4
gpt4 key购买 nike

我们有一个架构,在将数据导出到生产环境之前,我们使用 SSIS 将数据从 XML 批处理文件提取到临时数据库中进行验证。

我们在某种程度上控制了 XML 格式,我被要求确定 XML 批处理文件应包含的最大记录数。基于 XML 架构和一些示例数据,我可以估计平均记录大小并据此进行一些预测。

但是,从另一个角度来看,我想了解 SSIS 在处理大型 XML 文件时的技术局限性。

我知道 SSIS 会将 XML 文档展平并转换成它自己的表格、内存中表示,因此 RAM 成为一个明显的限制因素,但比例是多少?

您能说类似的话吗,SSIS 要求可用内存至少是您尝试加载的文件大小的 2.5 倍?假设我有一个 32GB 的盒子专用于此数据加载功能,那么我的 XML 文件可以有多大?

我知道可能还包括其他因素,例如架构的复杂性、嵌套元素的数量等,但最好有一个起点。

最佳答案

Xml Source 不会将整个文档加载到内存中,而是在从 XML 文件中读取数据时将其流出。因此,如果您正在阅读 XML 并将其写入例如没有复杂转换的文本文件,您需要相对较少的内存。此外,当 XML 文件增长时,您需要的内存量(在某个阈值之后)停止增长 - 因此您可以处理可能无限的 XML 文件。

例如这家伙导出了整个维基百科内容(20Gb XML 文件): http://www.ideaexcursion.com/2009/01/26/import-wikipedia-articles-into-sql-server-with-ssis/

当然,您可能会对这些数据做一些事情,例如加入来自 XML 源的多个流。根据您的需要,您可能需要大量内存,因为某些转换会将整个数据集保存在内存中,或者如果您有足够的内存用于整个数据集,则性能会更好。

关于xml - SSIS 可以从中提取数据的最大 XML 文件是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/687913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com