繁体   English   中英

SQL Server-ETL方法

[英]SQL Server - ETL approach

我们获得需要加载到数据库的每日文件。 文件将在与数据库不同的服务器上传递。 从性能的角度来看,这两种方法中哪一种对ETL更合适?

  1. 将文件从传递服务器传输到数据库服务器。 做大负荷。
  2. 从交付服务器打开数据库连接并加载

编辑添加:服务器全部在同一网络上。

取决于源服务器是SQL服务器还是其他技术,所使用的驱动程序(如果是oracle,Microsoft驱动程序将严重影响您的性能,oracle更好),您要施加的数据库开销量(一台服务器在为另一台服务器提供服务时,它们可能都是受IO限制的),磁盘布局(即从一个RAID读取并写入另一个RAID,通过1gig或100mb压缩和传输可能更有效。通常,转储压缩得很好,但是正如Beth注意到的那样,对其进行测试)。

使用转储您可以滥用并行转换(例如,多个磁盘共享,并且多个处理器用于压缩-使用7zip周期。)使用以太网,您可能不会滥用太多的并行性。 同样的事情会影响目标服务器。

总之,与往常一样,对性能进行测试,量化,测试,量化,重复:)

“取决于”的普遍反应。 这尤其取决于您使用的ETL技术。 如果您的ETL依赖于数据库服务器的处理能力(SSIS,BODI(程度较低)),则需要尽快将文件放入数据库服务器。如果您有更多基于文件的ETL软件包(Abinitio,Informatica)那么您就可以在交付服务器上自由进行转换,然后将“准备加载”的数据移至数据库服务器以进行批量加载。

  1. 在所有情况下。 特别是如果文件很大,则可以在通过网络传输之前压缩数据文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM