gpt4 book ai didi

sql-server - 在 SQL Server 中将数据水平分区为 "archive"需要几个月的时间才能执行?

转载 作者:行者123 更新时间:2023-12-04 06:57:54 25 4
gpt4 key购买 nike

如果客户在特定时间范围内没有帐户事件,我的组织中有一个项目正在进行中,将客户数据和所有相关记录(计费交易等)从一个数据库移动到另一个数据库。

所有表中的总行数以百万计。可能有 1 亿行,所有不同的表组合在一起。模式或多或少地标准化了。该项目的设计者已决定使用 SSIS 来执行此操作,初步分析显示执行时间为 5 个月。

基本上,过程:

  • 填充与原始数据库具有相同架构的“归档”数据库
  • 从源数据库中删除原始行

  • 如有必要,我可以提供更多详细信息。我想知道的是,SSIS 是正确的方法吗?是否有某种规范的方式来移动非常大量的数据?是否存在需要避免的常见性能陷阱?

    我简直不敢相信这需要几个月的时间才能运行,我想知道是否还有其他事情需要我们研究。

    最佳答案

    SSIS 只是一个工具。你可以在 SSIS 中写一个 100M 行的传输需要 24 小时,你可以写它需要 5 个月。问题在于您编写的内容(即 SSIS 案例中的工作流),而不是 SSIS。

    没有任何特定于 SSID 的内容会规定“传输速度不能超过 5 个月”。

    此类任务的指导原则(对数据进行逻辑分区,并行处理每个逻辑分区,消除处理之间的访问和更新争用,批量提交更改,不要在线传输更多必要的数据,使用基于集合的处理作为尽可能地,能够暂停和恢复等)可以在 SSIS 上实现,就像任何其他技术一样(如果不是更好的话)。

    郑重声明,ETL world speed record每小时大约 2TB。使用 SSIS。事实上,我刚刚完成了 130M 行、~200Gb 数据的传输,花了大约 24 小时(我很懒,没有为 ETL 记录拍摄)。

    我会理解 5mo 用于开发、测试和部署,但不会理解 5mo 用于实际处理。这就像每秒 7 行,而且真的很蹩脚。

    关于sql-server - 在 SQL Server 中将数据水平分区为 "archive"需要几个月的时间才能执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2322612/

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