根據附件,我們有一個平衡數據分銷商在一個數據轉換中設置了大約200萬行。腳本任務是相同的 - 每個人都打開一個到oracle的連接並首先執行刪除操作,然後執行插入操作。 (這是不相關的,但它這樣做的方式,由於與OLE DB命令和Microsoft OLE DB提供程序用於Oracle參數問題...)SSIS平衡數據分配器 - 增加操作的數量?
我遇到的問題是沒有無論我做多少緩衝區或配置了多少併發執行,BDD一次不會執行多於5個併發進程。
我已經在一個更大的緩衝區中拉回了數十萬行,並且它只是分成5種方式。我已經在多臺機器上嘗試了這一點 - 當前鏡頭來自16核心服務器,在軟件包上配置了-1個併發執行 - 無論如何,它總是5個並行作業。
5比1更好,但是有250萬行插入/更新,在5次併發執行時每秒15行並不比每秒2-3行更好,併發執行1次。
我可以強制BDD使用更多路徑,如果是這樣的話?
還沒有一個有效的BDD使用情況,但你將能夠改變你的模式是一條直線惰性成在Oracle臨時表,然後你通過執行SQL任務完成數據流完成後執行刪除和插入操作? – billinkc
這是問題的關鍵,但原始模式是完全刪除和重新填充。運行單線程時,插入部分(無刪除)需要4天。 SSIS中的Oracle連接使用情況非常緩慢。僅供參考,此特定流程現在更加智能化,大部分時間更新只有幾百行。這個問題關注於BDD,因爲我們將來會在這些類型的進程中使用更多類型的進程,並且我們需要更好的性能調優。 –
這看起來像一個我不知道的有趣的部分,所以我只看了Debarchan Sarkar的一段介紹視頻。他提到「最多可以有5次流動,效果最好」,但沒有透露任何有關它的限制。 http://technet.microsoft.com/en-us/sqlserver/hh369962.aspx – Metaphor