2011-03-15 53 views
0

我們每天獲取需要加載到數據庫中的文件。這些文件將在不同於數據庫的服務器上傳送。從性能的角度來看,兩種方法中哪一種對ETL更好?SQL Server - ETL方法

  1. 將文件從傳送服務器傳送到數據庫服務器。做批量加載。從傳送服務器和負載

編輯補充

  • 開放數據庫連接:這些服務器都在同一個網絡上。

  • 回答

    1

    取決於源服務器是否,使用的驅動程序SQL服務器或其他技術(如果它是甲骨文的Microsoft驅動程序將嚴重的nerf你PERF,甲骨文更好),你想強加給數據庫的開銷的量(當一個服務器正在餵食另一個它們可能都是IO綁定的),磁盤佈局(例如,讀取一個raid並寫入另一個,通過1gig或100mb進行壓縮和傳輸可能更有效。通常壓縮很好地壓縮,但是作爲Beth已經注意到,測試它

    隨着轉儲您可以濫用並行轉換(如多個磁盤共享,並且多個處理器用於壓縮 - 使用7zip時間段。)與以太網YOu可能不會濫用盡可能多的paral lelism。同樣的事情會影響目標服務器。

    總而言之,像往常一樣,性能,測試,定量測試,量化,重複:)

    -1
    1. 在所有情況下。特別是如果文件非常大,則可以在通過網絡傳輸之前壓縮數據文件。
    0

    的「這取決於」的普遍迴應。這尤其取決於您使用的ETL技術。如果您的ETL與數據庫服務器的處理能力相關聯(SSIS,BODI(較低程度)),那麼您需要儘快將文件存入數據庫服務器。如果您有更多基於文件的ETL軟件包(Abinitio,Informatica)那麼您可以自由地在您的傳送服務器上進行轉換,然後將「準備加載」的數據移動到數據庫服務器上進行批量加載。