SSIS數(shù)據(jù)流優(yōu)化

一,數(shù)據(jù)流設(shè)計(jì)優(yōu)化

十余年的嘉定網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都營(yíng)銷網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整嘉定建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“嘉定網(wǎng)站設(shè)計(jì)”,“嘉定網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

數(shù)據(jù)流有兩個(gè)特性:流和在內(nèi)存緩沖區(qū)中處理數(shù)據(jù),根據(jù)數(shù)據(jù)流的這兩個(gè)特性,對(duì)數(shù)據(jù)流進(jìn)行優(yōu)化。

1,流,同時(shí)對(duì)數(shù)據(jù)進(jìn)行提取,轉(zhuǎn)換和加載操作

流,就是在source提取數(shù)據(jù)時(shí),轉(zhuǎn)換組件處理數(shù)據(jù),同時(shí)destination加載數(shù)據(jù),數(shù)據(jù)在不同組件之間,同時(shí)被處理。

所有的RDBMS操作都是同步的,基于集合的操作要求在將數(shù)據(jù)用于其他目的之前,該操作必須完成,這是由事務(wù)的原子特性決定的,然后數(shù)據(jù)流有流的特性,當(dāng)數(shù)據(jù)流通過(guò)pipeline時(shí),數(shù)據(jù)流task可以并行地處理鏈接,查詢以及其他轉(zhuǎn)換操作。在設(shè)計(jì)Data Flow時(shí),要充分利用流的特性,限制同步過(guò)程。

例如,執(zhí)行insert語(yǔ)句向Table1中插入數(shù)據(jù),然后再運(yùn)行update語(yǔ)句更新Table1,這意味著,直到insert腳本完成之前,是不能運(yùn)行update語(yǔ)句的,insert 和 update 語(yǔ)句是同步的。

優(yōu)化的設(shè)計(jì)方案是;設(shè)計(jì)一個(gè)數(shù)據(jù)流來(lái)實(shí)現(xiàn)與insert 語(yǔ)句相同的邏輯,同時(shí)使用轉(zhuǎn)換組件實(shí)現(xiàn)與Update語(yǔ)句相同的邏輯。

這種設(shè)計(jì)方案不會(huì)使用TSQL的insert 和 update語(yǔ)句,但是使用Data flow Task的Source,conversion 和 destination,充分利用了數(shù)據(jù)流的流的特性。在數(shù)據(jù)提取的同時(shí),轉(zhuǎn)換組件對(duì)數(shù)據(jù)流進(jìn)行轉(zhuǎn)換,實(shí)現(xiàn)數(shù)據(jù)的“insert”和“Update”同時(shí)進(jìn)行,減少整體的處理時(shí)間。

有時(shí),使用RDBMS會(huì)更快,例如,如果表中有合適的index,使用order by 子句對(duì)數(shù)據(jù)進(jìn)行排序,會(huì)比SSIS 排序轉(zhuǎn)換要快很多。 

2,SSIS Engine使用內(nèi)存緩沖區(qū)來(lái)暫時(shí)存儲(chǔ)數(shù)據(jù)流

SSIS Engine使用內(nèi)存緩沖區(qū)來(lái)暫時(shí)存儲(chǔ)數(shù)據(jù)流,對(duì)駐留在內(nèi)存中的數(shù)據(jù)執(zhí)行大多數(shù)的轉(zhuǎn)換操作,這使得SSIS的數(shù)據(jù)處理效率非常高,應(yīng)避免SSIS將數(shù)據(jù)流·駐留在Disk或其他IO速度非常低的存儲(chǔ)介質(zhì)上。

當(dāng)Server內(nèi)存不足時(shí),SSIS就將緩沖區(qū)復(fù)制到Disk中,Disk IO的速度遠(yuǎn)低于RAM的IO 速度,這會(huì)導(dǎo)致package的運(yùn)行速度將大大降低,其中最密集的內(nèi)存轉(zhuǎn)換時(shí)阻塞和半阻塞轉(zhuǎn)換。所以,必須監(jiān)控阻塞和半阻塞轉(zhuǎn)換的內(nèi)存使用情況,避免出現(xiàn)內(nèi)存過(guò)低的情況。

二,數(shù)據(jù)流轉(zhuǎn)換優(yōu)化

1,緩沖區(qū)和執(zhí)行樹(shù)

針對(duì)數(shù)據(jù)流中的每個(gè)執(zhí)行樹(shù),都使用了一個(gè)不同的緩沖區(qū)配置文件,這意味著執(zhí)行樹(shù)下游的組件可能會(huì)根據(jù)處理邏輯的不同而需要不同的Column set。因?yàn)閿?shù)據(jù)流的緩沖區(qū)的性能直接和緩沖區(qū)的行寬相關(guān)聯(lián),窄緩沖區(qū)可以容納更多的數(shù)據(jù)行,從而允許更高的數(shù)據(jù)流吞吐量。

上游執(zhí)行樹(shù)所使用的columns可能并不是下游執(zhí)行樹(shù)所需要的,當(dāng)執(zhí)行樹(shù)中的列不在被任何下游執(zhí)行樹(shù)使用時(shí),SSIS會(huì)提供相應(yīng)的警告。每一個(gè)警告表示某一列在下游組件中不再被使用,英愛(ài)在初始使用后,從Pipeline中刪除。任何異步轉(zhuǎn)換輸出的組件,都可以選擇刪除輸出中的column。

2,Engine Thread

通過(guò)為數(shù)據(jù)流增加更多的執(zhí)行線程,提高CPU的利用率。將數(shù)據(jù)流屬性EngineThreads屬性的值設(shè)置為大于執(zhí)行樹(shù)的數(shù)量和組件的數(shù)量,從而確保SSIS有足夠的線程可供使用。

新聞標(biāo)題:SSIS數(shù)據(jù)流優(yōu)化
當(dāng)前鏈接:http://muchs.cn/article8/pgogip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)公司、面包屑導(dǎo)航軟件開(kāi)發(fā)、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)