<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    qileilove

    blog已經轉移至github,大家請訪問 http://qaseven.github.io/

    ETL學習筆記之三:MS SQL DTS

        對于MS SQL-Server的DTS,在使用MS SQL-Server2000時,有最基本的接觸,但僅限時簡單的數據導入/導出。當開始了解ETL時,才發現DTS原來就是ETL的應用之一。
        先不談論DTS的好壞,但它至少MS產品的特點,易學,易用。所以,要了解ETL的應用,從DTS開始,在我看來,是個不錯的選擇。我只是學習,所以我沒有能耐去評價它,下面,只能講DTS的功能一一列舉出來,可能這些與SQL-Server的聯機幫助有些重復,但對我來說,是一個加深記憶的方法。

        一:概念 
        自完全不同源的數據析取、轉換并合并到單個或多個目的。主要應用于企業數據倉庫的數據抽取過程,完成從源數據庫/文件到數據倉庫的抽取和轉換過程。 
        看看,這不就是ETL要做的事兒。

        二:特征 
        2.1:基于OLE DB,很方便從不同的數據源復制和轉換數據。 
        是了,MS總是首要支持自已的其它產品,所以,它選擇了最通用的Windows的標準。
        2.2:有圖形化設計器,也可通過編程二次開發。 
        這也是MS的長項,并且能把其它的東西一股腦兒的集成進來。
        2.3:執行效率高于普通ADO(SQL)操作
        據說是這樣地,我做過簡單的比較,確實不是一個數量級,原理呢?估計可能有較多特殊處理,比如批量插入bcp,傳輸前的數據壓縮等技術……,當然,這只是我的猜測。 
        2.4:可調度。 
        這對于Windows系統,那很容易了,可以利用現成的系統級調度。

        三:詳細 
        來說點詳細的東東,當然,這里的詳細并不指全部,實際上,我也只能挑出比較有代表性的功能點列舉一下,要是全部,那還不如抄襲聯機幫助了。

        3.1:包——最小的可調度單元 
        包是基本任務,由工作流連接而成。包可以嵌套(包中的單個任務可以是執行另一個已存在的包)。 
        包是調度的直接管理對象,嵌套包保證包任務的重用。 

        3.2:任務——最小的工作流連接單元 
        分為以下幾種任務: 
        導出和導入數據任務、轉換任務、復制數據庫對象、郵件/消息發送、Transact-SQL 語句或 Microsoft ActiveX&reg; 腳本執行包、采用COM自定義任務。
        其中,最常用的應該是普通轉換任務。這等同于ETL中的T。

        3.3: 數據連接——定義數據源和目的地 
        分為以下幾種: 
         標準數據庫(如 Microsoft SQL Server 2000、Microsoft Access 2000、Oracle、dBase、Paradox);與 ODBC 數據源的 OLE DB 連接;Microsoft Excel 2000 電子表格數據;HTML 源;以及其它 OLE DB 提供程序 
    文件連接數據鏈接連接(比較特殊) 
        注意:SQL-Server作為Windows應用產品,DTS自然也不支持Java。
        對于標準數據庫是最基本的應用,易于實現。文件連接涉及格式定義,還不算復雜。 

        3.4:轉換——數據轉換
        數據轉換,指列進行,有多種方式: 
        3.4.1:簡單復制方式。 
        3.4.2:簡單轉換(如,數據格式化,取字符串子串等……) 
        3.4.3:ActiveX腳本(實際上是vbScript和JavaScript) 
        3.4.4:調用自定的COM對象進行轉換。 
        通常會采用一二方式。如果要將DTS集成到你的應用中,可以第三種方式。 

        3.5:工作流 
        工作流包括成功,失敗,完成。工作流支持腳本控制。可編程控制。 
        工作流方式對于純數據抽取意義不大,但是考慮到任務包含收發郵件,信息,上/下傳文件,那就有必要了。當然,你也可以將這些任務單獨提出到應用端執行,而不采用DTS中的任務。 

        3.6:元數據 
        元數據方式更多的留備擴展,最基礎的應用是用來預定義數據表。

        3.7:數據驅動的查詢任務——(一種特珠的轉換方式)
        一種很特殊的轉換方式,支持參數。這里,單獨把它提出來,因為它不是那么容易理解,我花了一些時間,才將其弄明白。
        3.7.1:根據源數據的特征決定之后的查詢方式(指增,刪,改,查詢操作)。 
        3.7.2:支持參數,參數通過定義綁定表來關聯,通過定義轉換腳本,可以計算出綁定列參數。 
        3.7.3:轉換時可以定義批量處理。 
        3.7.4:轉換支持多階段抽取,可以定義階段代碼,階段分為:行轉換,轉換失敗,插入成功,插入失敗,批處理完成,抽取完成。 
        此種應用異常復雜,應屬高級應用。簡單的看,當轉換任務需要根據數據源來確定動作,這是非常有用的。比如你的應用存在多表存儲,就可能根據表內的時間來確定之后的動作,達到數據分多表存儲的目的。 

        3.8: 查找查詢
        作為轉換數據任務和數據驅動的查詢任務的一種功能。 
        查找查詢使您得以對源和目的之外的其它連接運行查詢和存儲過程。例如,通過使用查找查詢,可以在查詢過程中進行單獨的連接,并在目的表中包括來自連接的數據。 
        作為一種擴充功能,實現更復雜的查詢操作。

        3.9: 多任務支持事務處理 
        除了順序執行,可以進行并行執行步驟,且支持檢查點回滾。 
        當然,任務的事務仍然依賴于數據源所在所據庫是否支持事務。一般情況下,順序執行已經可以滿足抽取需求。

        好了,不管對錯,還是說說我的看法:
        首先:DTS中抽取流程定義比較清晰,數據轉換功能豐富,可視的設計工具強大,有一定的可擴展性(COM定制,腳本支持)。
        但是:但學習下來,隱隱約約覺得它有MS產品的通病,就是大而全,如果進行小型應用的集成,它是很方便和夠用的,但如果要在大型項目中集成DTS,它提供的二次開發方式,就顯得有些散亂,缺少一個總體的框架指導。當然,這可能與它的定位有關。
        對了,我看的SQL-Sever2000的DTS,對于2005,我不知有哪些方面的改進。

    posted on 2011-10-31 11:59 順其自然EVO 閱讀(181) 評論(0)  編輯  收藏

    <2011年10月>
    2526272829301
    2345678
    9101112131415
    16171819202122
    23242526272829
    303112345

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲成a人片在线观看中文!!!| 亚洲男人天堂影院| 一个人看的www免费高清| 在线观看亚洲成人| 37pao成人国产永久免费视频| 国产在线观看免费视频播放器| MM1313亚洲国产精品| 亚洲人JIZZ日本人| AV免费网址在线观看| 国产美女视频免费观看的网站 | 日韩精品免费一级视频| 亚洲男人天堂2018av| 国产精品亚洲高清一区二区| 免费a级黄色毛片| 久久精品国产亚洲综合色| 女人与禽交视频免费看| 国产JIZZ中国JIZZ免费看| 亚洲成电影在线观看青青| 免费少妇a级毛片人成网| 1000部免费啪啪十八未年禁止观看 | 亚洲国产精品一区二区三区久久| 免费人成毛片动漫在线播放| 亚洲人成人无码.www石榴| 久久综合九九亚洲一区| 免费va在线观看| 综合在线免费视频| 免费人成毛片动漫在线播放| 内射干少妇亚洲69XXX| 亚洲AⅤ无码一区二区三区在线| 亚洲综合免费视频| 免费观看一区二区三区| 精品亚洲视频在线| 精品丝袜国产自在线拍亚洲| 亚洲av无码一区二区三区网站| 亚洲国产激情一区二区三区| 成人av免费电影| 亚洲一区综合在线播放| 国产成人亚洲合集青青草原精品| 亚洲卡一卡2卡三卡4麻豆| 成人人观看的免费毛片| 国产亚洲精品影视在线产品|