優化之Aggregator組件

Aggregator組件一般會下降性能,由於它們必須在處理數據以前對數據進行分組
Aggregator組件須要額外的內存來保存中間組結果

經過以下方式對Aggregator組件進行優化
  簡化group by字段
    1) group by避免使用複雜的表達式
    2) group by字段越少越好
    3) group by字段最好用數字,而不是字符或日期

  對input進行排序
    經過組件--> Properties --> 勾選Sorted Input選項對input數據進行排序
    Sorted Input選項勾選時,Integration Service會假定認爲input已經被sorted,所以會減小聚合緩存的使用,並以此提升性能
    當Integration Service讀取組的行時,它執行聚合計算。必要時,它將組信息存儲在內存中
    Aggregator組件的input數據最好是已排好序的,能夠與Sorter組件,或者Source Qualifier組件的Number of Sorted Ports選項一塊兒使用
    在具備多個分區的session中勾選Sorted Input選項能夠提升性能

  使用增量聚合
    若是source發生變更的數據小於target的一半,可以使用增量聚合
    使用增量聚合可只將本次改動的部分同步至target,而不是將總體重新同步
    也可在不產生系統分頁操做的狀況下,同構追加索引和數據緩存的方式將所有數據放入內存中處理

  聚合以前進行過濾
    在進行聚合操做以前,現將沒必要要的數據進行過濾,好比使用filter組件

  限制port鏈接數量
    限制鏈接的input/output port或output port的數量,以減小聚合時存儲在數據緩存中的數據量緩存

相關文章
相關標籤/搜索