成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

從一款工具談異構(gòu)遷移評(píng)估那些事

原創(chuàng)
數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
隨著國(guó)產(chǎn)化替換浪潮涌現(xiàn),正有越來(lái)越多的企業(yè)在計(jì)劃或正在進(jìn)行數(shù)據(jù)庫(kù)替換工作。異構(gòu)數(shù)據(jù)庫(kù)遷移評(píng)估,成為用戶(hù)實(shí)現(xiàn)替換的必備條件之一,也是困擾很多用戶(hù)的一點(diǎn)。

近期關(guān)注到云和恩墨發(fā)布的一款工具-SCA,它可以協(xié)助用戶(hù)評(píng)估異構(gòu)數(shù)據(jù)庫(kù)遷移。近些年個(gè)人參與了不少異構(gòu)數(shù)據(jù)庫(kù)遷移,自己也曾有想法做個(gè)工具用來(lái)評(píng)估異構(gòu)遷移的兼容性及性能等問(wèn)題。這一工具也給出一種實(shí)現(xiàn),可以對(duì)很多面臨數(shù)據(jù)庫(kù)遷移的用戶(hù)帶來(lái)現(xiàn)實(shí)參考意義。本文就嘗試從此工具的功能著手,談?wù)劗悩?gòu)數(shù)據(jù)庫(kù)遷移的那些事。

1. SCA 產(chǎn)品功能說(shuō)明

(1)功能概述

讓我們先來(lái)看看發(fā)布的此款工具的功能,下面信息取自部分 SCA 工具官網(wǎng)描述。SCA 全稱(chēng) SQL Compatible Analysis,是一款異構(gòu)數(shù)據(jù)庫(kù)遷移前的 SQL 兼容和性能評(píng)估工具。可用于異構(gòu)數(shù)據(jù)遷移前的兼容性評(píng)估,評(píng)估源數(shù)據(jù)庫(kù)中的實(shí)際業(yè)務(wù) SQL 在目標(biāo)庫(kù)中是否存在語(yǔ)法問(wèn)題,以及評(píng)估兩款異構(gòu)數(shù)據(jù)庫(kù)中的 SQL 實(shí)際執(zhí)行的性能差異。目前此工具支持五種源端數(shù)據(jù)庫(kù),包括:Oracle、MySQL、DB2、PostgreSQL、Informix、SQL Server。此工具執(zhí)行分為四個(gè)步驟,也包含很多執(zhí)行選項(xiàng)。簡(jiǎn)單整理如下:

(2)輸出解讀

這里我們重點(diǎn)看看其輸出報(bào)告,報(bào)告采用網(wǎng)頁(yè)或EXCEL文件的格式,內(nèi)部包含了豐富的信息。下面逐一說(shuō)明下:?數(shù)據(jù)庫(kù)畫(huà)像這部分通過(guò)掃描源庫(kù),收集到源數(shù)據(jù)庫(kù)基本信息、性能、對(duì)象、SQL等各類(lèi)信息。在基本信息部分,又包括有主機(jī)資源層面信息(CPU、MEM、NET)、數(shù)據(jù)庫(kù)信息(版本、角色、架構(gòu)、歸檔狀態(tài)、字符集)。

在性能部分,則包括有多維度數(shù)據(jù)庫(kù)性能指標(biāo),如 Oracle 數(shù)據(jù)庫(kù)就包括有 DB time、CPU time、連接數(shù)、TPS、QPS、Redo Size、邏輯讀,物理讀等。

在對(duì)象部分,則包括各對(duì)象類(lèi)型統(tǒng)計(jì)、非標(biāo)/保留對(duì)象列表、大對(duì)象統(tǒng)計(jì)以及各對(duì)象明細(xì)的統(tǒng)計(jì)信息。

對(duì)象兼容度匯總

這部分通過(guò)對(duì)比源庫(kù)與目標(biāo)庫(kù)的兼容能力,分析出對(duì)象層面的兼容情況,并分類(lèi)展示。在展示中按照用戶(hù)名、對(duì)象類(lèi)型、狀態(tài)進(jìn)行匯總,展示相關(guān)分類(lèi)的對(duì)象總數(shù)以及兼容情況。針對(duì)不兼容的對(duì)象,就需要考慮在真正遷移中進(jìn)行修改。

SQL 兼容度匯總

這部分通過(guò)對(duì)比源庫(kù)與目標(biāo)庫(kù)的SQL兼容情況,評(píng)估給出SQL兼容(直接兼容、改寫(xiě)兼容)及不兼容的情況。展示中按照用戶(hù)名、程序名、模塊名匯總,展示系統(tǒng)中采集到的所有 SQL,以及這些 SQL 在目標(biāo)庫(kù)支持情況。這些信息對(duì)于后續(xù)評(píng)估改造的工作量評(píng)估,有非常直觀的指導(dǎo)意義。

SQL 改寫(xiě)規(guī)則

這部分內(nèi)容根據(jù)掃描后的結(jié)果,結(jié)合系統(tǒng)內(nèi)置的改寫(xiě)規(guī)則,給出該條規(guī)則的觸發(fā)情況,包括該規(guī)則在 SQL 中的命中數(shù)量及為規(guī)則匹配的 SQL 數(shù)量。

SQL 復(fù)雜度分布

這部分則是通過(guò)復(fù)雜度評(píng)估標(biāo)準(zhǔn),判斷出復(fù)雜 SQL 的分布情況。這些復(fù)雜的 SQL 也是在遷移過(guò)后需要重點(diǎn)關(guān)注性能問(wèn)題,這樣可以有效避免性能問(wèn)題可能導(dǎo)致的業(yè)務(wù)故障。目前復(fù)雜度的評(píng)判標(biāo)準(zhǔn)包括有表關(guān)聯(lián)的數(shù)量、Connect By語(yǔ)法使用、自定義函數(shù)數(shù)量、函數(shù)執(zhí)行耗時(shí)。針對(duì)每條SQL的復(fù)雜度都會(huì)按照上述標(biāo)準(zhǔn)進(jìn)行匯總評(píng)估,給出SQL復(fù)雜度。

SQL 性能對(duì)比

這部分是在結(jié)構(gòu)、數(shù)據(jù)遷移完畢后,真實(shí)執(zhí)行SQL,采集源端和目標(biāo)端的執(zhí)行性能進(jìn)行比較。按照?qǐng)?zhí)行性能的總體情況及分列情況的展示。其中總體部分,可以簡(jiǎn)單評(píng)估下遷移完成后在目標(biāo)庫(kù)的整體運(yùn)行狀態(tài),包括性能有提升的SQL比例、性能下降的SQL比例、不支持的SQL比例等。

在分列的部分則可以按照工作負(fù)載、SQL、超時(shí)維度展示具體的TOP SQL的情況,包括此SQL的性能變化情況及對(duì)整體負(fù)載的影響情況。這一能力很贊,可以篩選出影響大的SQL,優(yōu)先優(yōu)化解決。

此外針對(duì)每條SQL可以詳細(xì)展開(kāi),包括SQL文本、綁定變量、執(zhí)行計(jì)劃、執(zhí)行詳情、關(guān)聯(lián)對(duì)象、統(tǒng)計(jì)信息等。

2. 異構(gòu)遷移評(píng)估的若干難點(diǎn)

SCA,這一工具給我們異構(gòu)數(shù)據(jù)庫(kù)遷移的一個(gè)很好的工程化實(shí)踐范例。那這一工具的實(shí)現(xiàn)功能上,也反映出遷移評(píng)估的若干難點(diǎn)問(wèn)題。這些問(wèn)題也正是困擾著用戶(hù)如何快速替換一款數(shù)據(jù)庫(kù)。這些難點(diǎn)問(wèn)題,簡(jiǎn)單整理如下:

(1)全面詳實(shí)地收集源庫(kù)各類(lèi)信息

在我們談異構(gòu)遷移之前,首要問(wèn)題就是如何全面詳實(shí)地收集源端庫(kù)的各類(lèi)信息。SCA 工具幫我們收集了如硬件、操作系統(tǒng)、數(shù)據(jù)庫(kù)基本信息、對(duì)象、SQL類(lèi)的信息,但從遷移角度來(lái)說(shuō)這些信息還是不夠的。之前筆者也曾經(jīng)寫(xiě)過(guò)一個(gè)模板,方便用收集源庫(kù)的信息,具體參見(jiàn)“調(diào)研模板”,這也是結(jié)合之前工作經(jīng)歷整理所得。但在實(shí)際使用中,收集效果往往大打折扣,原因一方面是因?yàn)楹芏嘈畔⒂脩?hù)也不清楚,另一方面也是覺(jué)得填寫(xiě)繁瑣、不愿意花精力填寫(xiě)。但按照以往的經(jīng)驗(yàn),這個(gè)過(guò)程是值得的。本人就曾經(jīng)遇到多次因?yàn)槭占畔⒉煌暾麑?dǎo)致遷移方案失敗,甚至到上線(xiàn)之前才知悉,再選擇其他方案代價(jià)很大。那么簡(jiǎn)化這一過(guò)程的最好方式就是工具化、自動(dòng)化,類(lèi)似 SCA 這樣的工具能夠幫助用戶(hù)極大簡(jiǎn)化這一過(guò)程。

(2)對(duì)目標(biāo)數(shù)據(jù)庫(kù)能力有充分理解

異構(gòu)數(shù)據(jù)庫(kù)遷移,一方面要盡量詳實(shí)地了解源數(shù)據(jù)庫(kù)的情況,另一方面也要對(duì)目標(biāo)數(shù)據(jù)庫(kù)的能力有個(gè)全面理解。特別是目標(biāo)庫(kù)如果采用的新架構(gòu)、新技術(shù)等,與源數(shù)據(jù)庫(kù)通常不能簡(jiǎn)單一一比對(duì)。例如之前源數(shù)據(jù)庫(kù)采用集中式架構(gòu)、目標(biāo)數(shù)據(jù)庫(kù)采用分布式架構(gòu),那么原有很多源庫(kù)的能力就不能簡(jiǎn)單照搬過(guò)來(lái),需要新的做法、甚至是在應(yīng)用、架構(gòu)層面做更多的考慮。

(3)正確理解“兼容”的概念

很多用戶(hù)理解兼容,是一個(gè)很美好的狀態(tài)。在應(yīng)用不需要任何修改的情況下,就可以全面照搬過(guò)來(lái)。其實(shí)兼容是個(gè)很復(fù)雜的事,本人之前也寫(xiě)過(guò)一篇關(guān)于兼容性的文章,參考“Oracle兼容性面面觀”。僅就 SQL 的兼容性問(wèn)題,就需要一方面考慮語(yǔ)法、語(yǔ)義的兼容情況,一方面考慮不同的兼容方式(完全兼容、等價(jià)兼容),還要考慮如性能表現(xiàn)、異常處理等情況。SCA 工具這方面做的不錯(cuò),給出了不同兼容的統(tǒng)計(jì)及性能數(shù)據(jù)的對(duì)比。

(4)復(fù)雜對(duì)象和語(yǔ)句的遷移問(wèn)題

很難有兩個(gè)數(shù)據(jù)庫(kù)是可以完美兼容適配的,針對(duì)源庫(kù)那些復(fù)雜對(duì)象和語(yǔ)句,如不能在目標(biāo)庫(kù)上有對(duì)等實(shí)現(xiàn)也要給出必要的解決路徑。從對(duì)象來(lái)看,如庫(kù)內(nèi)計(jì)算(包、存儲(chǔ)過(guò)程、觸發(fā)器、函數(shù))、視圖(含物化視圖)、序列(自增類(lèi)型)、特殊字段(大對(duì)象、JSON)等,是需要考慮目標(biāo)庫(kù)的實(shí)現(xiàn)機(jī)理和能力及是否有其他替代方案。例如很多存儲(chǔ)過(guò)程,就可以轉(zhuǎn)化為外置過(guò)程來(lái)解決。從SQL語(yǔ)句來(lái)看,復(fù)雜SQL的處理是容易出現(xiàn)問(wèn)題的,SCA 工具也意識(shí)到這點(diǎn)給出了專(zhuān)項(xiàng)的統(tǒng)計(jì)。即使在目標(biāo)庫(kù)可以實(shí)現(xiàn),也建議盡量簡(jiǎn)化語(yǔ)句邏輯,避免潛在的執(zhí)行風(fēng)險(xiǎn)。

(5)從“仿真”角度評(píng)估遷移結(jié)果

如何真實(shí)地還原源庫(kù)的工作負(fù)載,在目標(biāo)庫(kù)上進(jìn)行仿真重演,進(jìn)而評(píng)估遷移后的結(jié)果,這是最為準(zhǔn)確的評(píng)估。這里不僅是單一對(duì)象、語(yǔ)句的遷移評(píng)估,而是真實(shí)的、帶有業(yè)務(wù)負(fù)載的、有數(shù)據(jù)質(zhì)量差異(甚至是錯(cuò)誤數(shù)據(jù))下的測(cè)試結(jié)果,這樣才能真實(shí)反映出評(píng)估后的結(jié)果。很多時(shí)候,單一對(duì)象或語(yǔ)句都是可以很“完美”的跑出結(jié)果,但是放在真實(shí)環(huán)境下就會(huì)出現(xiàn)各種問(wèn)題。其結(jié)果的反饋,可以通過(guò)與源庫(kù)的結(jié)果對(duì)比來(lái)進(jìn)行評(píng)估。有的時(shí)候往往是一些很細(xì)節(jié)的地方非常容易出現(xiàn)問(wèn)題,例如空值的處理、精度問(wèn)題、時(shí)區(qū)問(wèn)題等。

寫(xiě)在最后

隨著國(guó)產(chǎn)化替換浪潮涌現(xiàn),正有越來(lái)越多的企業(yè)在計(jì)劃或正在進(jìn)行數(shù)據(jù)庫(kù)替換工作。異構(gòu)數(shù)據(jù)庫(kù)遷移評(píng)估,成為用戶(hù)實(shí)現(xiàn)替換的必備條件之一,也是困擾很多用戶(hù)的一點(diǎn)。SCA 工具做了一個(gè)很好的嘗試,大大方便了用戶(hù)的遷移評(píng)估工作,有效地降低了遷移成本。國(guó)內(nèi)有很多廠(chǎng)商也有類(lèi)似的實(shí)現(xiàn),通過(guò)獨(dú)立的小工具完成此類(lèi)評(píng)估。從產(chǎn)品角度來(lái)講,也是一個(gè)不錯(cuò)的“引流”產(chǎn)品,并吸引用戶(hù)最終選擇自家數(shù)據(jù)庫(kù)。在這里也希望各廠(chǎng)商能夠更加關(guān)注這一能力的構(gòu)建,加速用戶(hù)落地實(shí)踐。

責(zé)任編輯:姜華 來(lái)源: 韓鋒頻道
相關(guān)推薦

2020-07-29 08:14:59

云計(jì)算云遷移IT

2015-03-27 15:07:55

云計(jì)算IaaS平臺(tái)Docker

2018-11-14 08:14:59

工具云遷移云計(jì)算

2012-03-26 21:47:23

蘋(píng)果

2024-04-02 07:32:32

數(shù)據(jù)庫(kù)遷移工具異構(gòu)數(shù)據(jù)庫(kù)

2023-09-14 08:39:45

2015-11-16 14:27:03

2019-11-11 08:00:00

Doppler遠(yuǎn)程監(jiān)測(cè)工具Linux

2020-05-28 09:33:07

Web調(diào)試代理工具Fiddler

2021-01-27 13:16:39

ScreenLinux命令

2016-03-29 14:54:36

2021-02-16 10:58:50

ScreenLinux命令

2022-08-15 08:15:07

Logseq開(kāi)源

2020-02-17 07:20:22

SSH遠(yuǎn)程連接工具Linux

2018-08-01 09:00:00

測(cè)試工具負(fù)載測(cè)試性能測(cè)試

2015-09-28 09:56:17

Github開(kāi)源工具編程

2013-10-15 09:26:12

2017-02-16 14:00:17

CloudStatsSaaS服務(wù)器

2020-12-22 10:30:47

Nagios工具監(jiān)控

2021-07-09 10:14:05

IP工具命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 风间由美一区二区三区在线观看 | 91成人在线视频 | 国产成人一区二区三区电影 | 日韩在线观看中文字幕 | 欧美中文视频 | 日韩视频在线观看一区二区 | 成人免费视频 | 成人精品一区二区三区 | 久久婷婷麻豆国产91天堂 | 99久久精品国产一区二区三区 | 国产视频中文字幕 | 另类专区亚洲 | 国产羞羞视频在线观看 | 精品国产免费一区二区三区演员表 | 久久综合伊人一区二区三 | 国产视频一区二区 | 亚洲社区在线 | 欧美a视频| 精品欧美一区二区精品久久久 | 亚洲精品视频一区二区三区 | 在线一区 | 欧美日韩精品专区 | 亚洲精品乱码久久久久久按摩 | 国产亚洲一区二区精品 | 欧美在线视频一区二区 | 久草在线青青草 | 日韩乱码在线 | 国产精品一区二区久久久久 | 国产精品乱码一二三区的特点 | 看片一区 | 99久久免费精品视频 | 国产精品久久久久久久7电影 | 成人网在线观看 | 国产在线观看免费 | 操操日 | a黄视频 | 宅男噜噜噜66一区二区 | 国产精品国产精品国产专区不卡 | 国产精品一区二区不卡 | 美女网站视频免费黄 | 日韩在线视频一区二区三区 |