青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆 - 181  文章 - 15  trackbacks - 0
<2006年8月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

My Tech blog

搜索

  •  

最新評(píng)論

閱讀排行榜

評(píng)論排行榜

4.不同版本數(shù)據(jù)庫之間的數(shù)據(jù)遷移

一旦你把程序和數(shù)據(jù)庫提交給用戶,那么只是重構(gòu)開發(fā)數(shù)據(jù)庫結(jié)構(gòu)就不是重構(gòu)的全部了。比如,如果一列被從一個(gè)表移動(dòng)到另外一個(gè)表,這個(gè)操作也許通過一條Sql語句完成,首先把這一列從源表中刪除,然后添加到目的表中。一旦重構(gòu)好的系統(tǒng)處于穩(wěn)定狀態(tài)并將提交給用戶的時(shí)候,我們就不得不面對(duì)不同版本之間數(shù)據(jù)的遷移。在這里,我們將要看到不同的數(shù)據(jù)遷移策略之于數(shù)據(jù)庫重構(gòu)的不同影響。

4.1數(shù)據(jù)庫模式的版本化

我們需要把已有的數(shù)據(jù)庫數(shù)據(jù)遷移到新的數(shù)據(jù)庫中去。當(dāng)然,在遷移過程當(dāng)中,老的數(shù)據(jù)庫還將運(yùn)轉(zhuǎn)。只有當(dāng)數(shù)據(jù)的遷移完畢以后,老的數(shù)據(jù)庫模式才可以被摒棄。

新老數(shù)據(jù)庫模式的存在有幾種不同的方式。你首先可以以版本來區(qū)分它們。比如起名為schema V1,schema V2之類。

當(dāng)然,數(shù)據(jù)庫中的表也同樣可以有版本號(hào)。比如Customer V1,Product V2,當(dāng)然,這多少會(huì)給重構(gòu)的結(jié)果帶來一些影響。畢竟,外健關(guān)系、約束、觸發(fā)器都是和表名有關(guān)系的。一旦新版本的模式被創(chuàng)建,諸如此類與表名有關(guān)系的部分可能都需要進(jìn)行調(diào)整。

為了減少這種情況的發(fā)生,我們往往采取每一個(gè)模式對(duì)應(yīng)一個(gè)版本號(hào)的方式。

模式的名稱讓程序能夠辨識(shí)現(xiàn)在正在使用的是那個(gè)版本。大量的經(jīng)驗(yàn)表明,這是數(shù)據(jù)遷移的一個(gè)先決條件。不要總以為大家都是使用的上一個(gè)版本的數(shù)據(jù)庫,而造成把前一個(gè)數(shù)據(jù)庫版本的數(shù)據(jù)混同更早版本的數(shù)據(jù)庫一起進(jìn)行數(shù)據(jù)的遷移。因而每一個(gè)人都應(yīng)當(dāng)清楚他所使用的那個(gè)數(shù)據(jù)庫的版本是什么。

4.2遷移步驟

就像前面說的那樣,當(dāng)開發(fā)的產(chǎn)品的受眾更多的時(shí)候,不要期待你的所有用戶都使用的是你的上一個(gè)版本的軟件。用戶往往會(huì)忽略一些版本的更新。

每進(jìn)行一次數(shù)據(jù)遷移,新的數(shù)據(jù)庫版本就是下一次數(shù)據(jù)遷移的源端。

這樣,當(dāng)新系統(tǒng)被安裝的時(shí)候,系統(tǒng)的版本識(shí)別器需要首先判斷當(dāng)前的數(shù)據(jù)模式是什么版本,然后依版本逐次進(jìn)行遷移,進(jìn)而讓數(shù)據(jù)庫的版本達(dá)到最新的狀態(tài)。這就預(yù)示著每一個(gè)安裝包都要整合以前所有的數(shù)據(jù)遷移程序。對(duì)于那些跑了很長時(shí)間的重要系統(tǒng),這就是個(gè)問題了。因?yàn)橛行├系臄?shù)據(jù)遷移程序已經(jīng)不被新的操作系統(tǒng)所兼容了。在這種情況下,就需要做出一些判斷,挑選出那些真正適宜于當(dāng)前操作系統(tǒng)的數(shù)據(jù)遷移程序進(jìn)行打包發(fā)布。

不要讓客戶以為一步就能夠把老數(shù)據(jù)庫中的數(shù)據(jù)遷移到新的數(shù)據(jù)庫中來。甚至可能必須要進(jìn)行更多的步驟來進(jìn)行數(shù)據(jù)遷移。

dbrefactor3

4.3當(dāng)數(shù)據(jù)量很大時(shí)

當(dāng)數(shù)據(jù)量十分巨大時(shí),數(shù)據(jù)遷移的時(shí)間長短就成為了問題。不能指望十億條數(shù)據(jù)在很短的時(shí)間內(nèi)就完成轉(zhuǎn)移。而你總不能為了轉(zhuǎn)移數(shù)據(jù)讓銀行停止?fàn)I業(yè)吧。

當(dāng)然,從組織或技術(shù)視角看來,這個(gè)問題會(huì)有不同的解決辦法。從組織的角度,你就必須把握好什么時(shí)候去修改數(shù)據(jù)庫系統(tǒng),什么時(shí)候遷移數(shù)據(jù)在時(shí)間上才是充足的。并以此為依據(jù)制定你的時(shí)間表。對(duì)于數(shù)據(jù)庫的遷移來說,圣誕節(jié)或者東方的一些節(jié)日是些不錯(cuò)的選擇。

如果技術(shù)上允許的話,你可以嘗試進(jìn)行增量遷移數(shù)據(jù)的方式。數(shù)據(jù)只會(huì)在系統(tǒng)要用到它們的時(shí)候才進(jìn)行遷移。這樣的話,遷移的周期也會(huì)一定程度的延長,但是系統(tǒng)的活動(dòng)總是不會(huì)被打斷。對(duì)那些需要7乘24小時(shí)運(yùn)作的系統(tǒng)來說,這也是數(shù)據(jù)庫遷移的唯一途徑。

增量遷移的一個(gè)先決條件就是應(yīng)用系統(tǒng)能夠同時(shí)使用多個(gè)數(shù)據(jù)庫的版本。當(dāng)訪問數(shù)據(jù)庫的時(shí)候,系統(tǒng)必須知道從哪個(gè)數(shù)據(jù)庫能夠取得數(shù)據(jù)。所選擇的那些數(shù)據(jù)將總會(huì)被填充到新的數(shù)據(jù)庫中,然后舊數(shù)據(jù)庫中相對(duì)應(yīng)的數(shù)據(jù)被刪除。一旦舊數(shù)據(jù)庫不再包含任何數(shù)據(jù)的時(shí)候,它就可以下崗了。

如果增量的數(shù)據(jù)遷移比你發(fā)布一個(gè)新版本應(yīng)用程序的間歇期還要長,多于兩個(gè)的數(shù)據(jù)庫版本就會(huì)同時(shí)存在。

4.4數(shù)據(jù)遷移的技術(shù)

ETL工具可以大大簡化數(shù)據(jù)遷移。ETL即是Extract(抽取),Transform(轉(zhuǎn)換),Load(載入)。ETL工具支持從一個(gè)數(shù)據(jù)源抽取數(shù)據(jù),把抽取出來的數(shù)據(jù)進(jìn)行轉(zhuǎn)換,然后把它們裝載到目標(biāo)數(shù)據(jù)庫中去。ETL工具通常被用來整合不同的應(yīng)用。這讓它們?cè)贓AI(Enterprise Application Integration)領(lǐng)域里面變得舉足輕重。

不同版本之間的數(shù)據(jù)庫的數(shù)據(jù)遷移對(duì)于ETL來說只是一個(gè)附加用途。事實(shí)上,ETL被用來做比這重要的多的事情。這樣一個(gè)不幸的事實(shí)就產(chǎn)生了,作為附加用途來使用ETL,代價(jià)太昂貴了,畢竟ETL作為數(shù)據(jù)整合工具來發(fā)售,具有相當(dāng)高的售價(jià)。

幸運(yùn)的是,在各個(gè)數(shù)據(jù)庫之間提供了一個(gè)相對(duì)“便宜”的ETL工具,那就是--SQL。使用SQL語句,數(shù)據(jù)可以簡單的抽取出來(使用Select),然后載入到另一個(gè)數(shù)據(jù)庫中(使用Insert,Update)。然而,SQL并沒有直接提供數(shù)據(jù)轉(zhuǎn)換的能力,但是記錄表或存儲(chǔ)過程是可以拿過來解決這些問題的。在記錄表中,源和目標(biāo)值總是能夠和某個(gè)字段進(jìn)行對(duì)應(yīng)。這樣對(duì)于一個(gè)字段中數(shù)據(jù)的遷移總是可以通過Insert-Select命令來實(shí)現(xiàn)。對(duì)于那些打算修改枚舉類型的顯示值的人來說,這是一種值得推薦的做法。比如如果一個(gè)字段以前用M來代表男性,用F來代表女性,而現(xiàn)在則分別要用0和1來取代它們,我們就可以做一個(gè)記錄表來指示這種對(duì)應(yīng)。

 可能現(xiàn)實(shí)中的一些數(shù)據(jù)遷移要復(fù)雜得多,這就必須編寫專門的數(shù)據(jù)遷移程序來做這些事情。今天,很多數(shù)據(jù)庫平臺(tái)允許直接在數(shù)據(jù)庫中運(yùn)行JAVA程序。這使得數(shù)據(jù)遷移受益匪淺,因?yàn)閿?shù)據(jù)不再需要從數(shù)據(jù)庫傳送到受理數(shù)據(jù)遷移的主機(jī)。因而數(shù)據(jù)遷移的效率將會(huì)大大提高。

posted on 2007-08-16 22:19 littlegai 閱讀(179) 評(píng)論(0)  編輯 收藏 引用

只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美.www| 99视频+国产日韩欧美| 久久久夜精品| 午夜精品一区二区在线观看| 一区二区三区 在线观看视| 亚洲高清自拍| 欧美激情精品久久久久久久变态| 免费观看成人网| 欧美激情在线播放| 一本久道综合久久精品| 亚洲欧美电影院| 久久天堂成人| 欧美日韩国产区| 国产精品一区二区在线观看不卡| 99天天综合性| 国产美女精品| 亚洲国产91精品在线观看| 91久久精品美女高潮| 999亚洲国产精| 午夜精品视频在线观看| 久久精品毛片| 亚洲国产综合在线| 午夜免费在线观看精品视频| 久久亚洲欧美国产精品乐播| 欧美另类亚洲| 国产欧美日韩在线| 日韩午夜av在线| 欧美在线视频一区| 亚洲国产三级在线| 亚洲永久精品国产| 欧美fxxxxxx另类| 国产精品日韩欧美| 亚洲福利视频专区| 欧美一区二区三区喷汁尤物| 欧美成人一品| 香蕉成人久久| 欧美视频三区在线播放| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲视频在线观看免费| 欧美成人dvd在线视频| 中文在线一区| 欧美日韩久久| 亚洲国产三级| 老司机aⅴ在线精品导航| 亚洲视频在线二区| 欧美精品1区| 亚洲黄色免费电影| 久久婷婷国产综合国色天香| 亚洲图片在区色| 欧美精品一区二区高清在线观看| 国内精品视频一区| 销魂美女一区二区三区视频在线| 亚洲国产一区在线| 欧美mv日韩mv国产网站app| 国产综合久久久久久| 亚洲欧美精品中文字幕在线| 亚洲激情视频网站| 老司机67194精品线观看| 国产精品一区二区a| 日韩亚洲一区在线播放| 美女主播精品视频一二三四| 亚洲一区在线观看视频| 欧美日韩在线综合| 亚洲精品在线三区| 欧美高清在线视频观看不卡| 欧美一区免费视频| 黄色国产精品| 久久久久九九视频| 久久精品国产v日韩v亚洲 | 亚洲精品国产精品国产自| 久久一区中文字幕| 亚洲图片欧美午夜| 国产精品v欧美精品∨日韩| 亚洲视频一区在线| 亚洲午夜精品福利| 国产精品一区二区视频| 久久久久久电影| 久久久精品日韩| 亚洲激情网址| 亚洲免费观看高清在线观看 | 日韩午夜在线视频| 亚洲日韩第九十九页| 欧美激情第六页| 中文av一区二区| 亚洲一级免费视频| 国产一区三区三区| 欧美成人一区二区三区在线观看 | 美女精品在线观看| 久久亚洲高清| 亚洲美洲欧洲综合国产一区| 亚洲免费观看高清在线观看| 国产精品美女久久久久久免费| 欧美亚洲一区三区| 美女脱光内衣内裤视频久久影院| 亚洲精品中文字幕有码专区| 日韩一区二区精品视频| 国产精品亚洲美女av网站| 毛片一区二区三区| 欧美另类综合| 欧美视频一区二区| 久久久久久久久久看片| 欧美肥婆在线| 欧美一级欧美一级在线播放| 久久精品国产第一区二区三区最新章节| 亚洲国产第一| 欧美一级视频| 日韩小视频在线观看| 先锋影音国产精品| 日韩亚洲综合在线| 久久精品在线视频| 午夜在线电影亚洲一区| 欧美~级网站不卡| 久久久久久国产精品mv| 欧美视频一区二区三区四区| 欧美11—12娇小xxxx| 国产女主播视频一区二区| 日韩视频精品在线观看| 亚洲第一综合天堂另类专| 亚洲欧美一级二级三级| 一区二区三区www| 欧美69视频| 久久国产日韩| 国产精品a级| 亚洲日本欧美| 亚洲色图自拍| 久久久久久穴| 亚洲综合激情| 久久嫩草精品久久久久| 亚洲一区二区三区四区五区黄| 欧美尤物巨大精品爽| 亚洲九九精品| 久久琪琪电影院| 久久国产66| 欧美日韩亚洲一区二区三区四区| 久久亚洲春色中文字幕久久久| 欧美亚洲成人免费| 亚洲人成网站在线观看播放| 黄网动漫久久久| 亚洲无吗在线| 亚洲欧美韩国| 欧美视频中文字幕在线| 最新精品在线| 亚洲美女在线国产| 欧美风情在线观看| 亚洲高清毛片| 91久久中文| 欧美大成色www永久网站婷| 欧美成人一区二免费视频软件| 狠狠色综合色综合网络| 久久久另类综合| 免费在线一区二区| 亚洲国产精品小视频| 蜜臀91精品一区二区三区| 女人色偷偷aa久久天堂| 亚洲国产婷婷香蕉久久久久久| 欧美福利影院| 99精品国产在热久久婷婷| 亚洲午夜女主播在线直播| 欧美亚男人的天堂| 性做久久久久久| 美女网站在线免费欧美精品| 亚洲精品国产精品乱码不99| 欧美精品激情在线观看| 一区二区三区精品久久久| 欧美一级夜夜爽| 亚洲高清免费视频| 欧美日韩99| 欧美在线视频一区二区三区| 欧美国产先锋| 午夜欧美电影在线观看| 黄网站色欧美视频| 欧美日韩黄色大片| 午夜欧美精品| 亚洲国产精品成人| 亚洲欧美日韩区| 亚洲第一免费播放区| 欧美日韩亚洲一区二区| 久久riav二区三区| 亚洲精品久久| 久久久久国产精品厨房| 亚洲精品激情| 国产婷婷一区二区| 欧美黄色一区二区| 欧美一级视频免费在线观看| 亚洲国产91精品在线观看| 午夜电影亚洲| 日韩视频一区二区三区| 国产精品系列在线播放| 欧美人成在线视频| 久久亚洲精品一区| 性伦欧美刺激片在线观看| 亚洲激情视频在线| 免费不卡在线视频| 性色av一区二区三区在线观看| 亚洲黄色三级| 久热精品视频在线免费观看 | 亚洲精品无人区| 另类尿喷潮videofree| 亚洲一区二区三区三| 亚洲人成网站在线播|