自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從Oracle向PG類數(shù)據(jù)庫(kù)遷移時(shí)應(yīng)注意哪些問題

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
實(shí)際上選擇數(shù)據(jù)庫(kù)的時(shí)候,我們還是要從遷移成本、使用成本、復(fù)雜業(yè)務(wù)支撐能力等方面入手。實(shí)際上最需要測(cè)試的第一方面就是與Oracle的兼容性,因?yàn)槲覀兇蠖鄶?shù)都是要把系統(tǒng)從Oracle上遷移下來(lái),與Oracle的兼容性越好,就意味著遷移成本越低。兼容性測(cè)試只要集中在一些SQL的特殊語(yǔ)法、窗口/統(tǒng)計(jì)函數(shù)、常用函數(shù)、SEQUENCE、PL/SQL存儲(chǔ)過程等方面。

最近涉及信創(chuàng)的事情比較多,很多朋友也和我討論信創(chuàng)數(shù)據(jù)庫(kù)改造時(shí)應(yīng)該注意一些什么問題。實(shí)際上最終涉及的問題包含兩方面,一方面是選型,一方面是遷移。從Oracle向國(guó)產(chǎn)、開源數(shù)據(jù)庫(kù)做數(shù)據(jù)遷移目前實(shí)際上是比較成熟的,有大量的工具可用。當(dāng)然對(duì)于大數(shù)據(jù)量的業(yè)務(wù)遷移還是有一些工作量的,不過都還是可以克服。

實(shí)際上目前我們遇到的第一大難題就是選擇的問題,國(guó)產(chǎn)數(shù)據(jù)庫(kù)太多了,怎么選都眼花。實(shí)際上可能很多數(shù)據(jù)庫(kù)選型都有些走偏,大家過多的去關(guān)注TPCC、TPCH這些很可能對(duì)實(shí)際選型沒太大影響的測(cè)試。每個(gè)數(shù)據(jù)庫(kù)廠商都會(huì)對(duì)這些基準(zhǔn)測(cè)試做很好的優(yōu)化,因此從這些測(cè)試中實(shí)際上也獲取不到很多有價(jià)值的數(shù)據(jù)。

實(shí)際上選擇數(shù)據(jù)庫(kù)的時(shí)候,我們還是要從遷移成本、使用成本、復(fù)雜業(yè)務(wù)支撐能力等方面入手。實(shí)際上最需要測(cè)試的第一方面就是與Oracle的兼容性,因?yàn)槲覀兇蠖鄶?shù)都是要把系統(tǒng)從Oracle上遷移下來(lái),與Oracle的兼容性越好,就意味著遷移成本越低。兼容性測(cè)試只要集中在一些SQL的特殊語(yǔ)法、窗口/統(tǒng)計(jì)函數(shù)、常用函數(shù)、SEQUENCE、PL/SQL存儲(chǔ)過程等方面。

除了兼容性外,第二重要的因素是高可用,高可用是確保業(yè)務(wù)SLA的關(guān)鍵,高可用切換方案是否能夠滿足業(yè)務(wù)SLA的需求,切換是否能夠自動(dòng)化,切換時(shí)是否順暢,這些都是需要認(rèn)真測(cè)試的。而且這種測(cè)試往往需要帶一定負(fù)載,甚至帶高負(fù)載進(jìn)行。

第三個(gè)重要特性是備份與恢復(fù),雖然所有數(shù)據(jù)庫(kù)都支持備份與恢復(fù),不過其能力差異很大。備份恢復(fù)操作是否順暢,與磁帶庫(kù)、虛擬帶庫(kù)之間的兼容性,與常用備份工具平臺(tái)的兼容性等都是需要考慮的因素。另外就是備份恢復(fù)的粒度,是否支持表級(jí)甚至塊級(jí)恢復(fù)也是十分關(guān)鍵的考慮因素。

可靠性測(cè)試是不容易做的,這需要做耐力測(cè)試,要想在有限的時(shí)間內(nèi)從耐力測(cè)試中發(fā)現(xiàn)問題,對(duì)于測(cè)試用例有極高的要求。

除此之外,我們還要十分關(guān)注一些CBO優(yōu)化器方面的問題。原生的PG數(shù)據(jù)庫(kù)與Oracle在HASH JOIN等高級(jí)表連接上面是有一些差異的。雖然說(shuō)PG也支持HASH JOIN,不過在有些場(chǎng)景下,PG的HASH JOIN支持并不完善。比如下面的場(chǎng)景:

圖片

我們創(chuàng)建兩張表,執(zhí)行一條帶or的表連接條件的查詢,就會(huì)發(fā)現(xiàn)執(zhí)行計(jì)劃并沒有走HASH JOIN,而是使用了NESTED LOOP。

圖片

而如果我們把Or的表連接條件去掉,則又走回了HASH JOIN這種性能比較好的連接方式。當(dāng)表的數(shù)據(jù)量很大時(shí)這兩種連接的性能差異很大。

我們把這個(gè)測(cè)試用例用到基于PG的一些國(guó)產(chǎn)數(shù)據(jù)庫(kù)上,得到的結(jié)果是類似的。比如在openGauss v3上,我們獲得了相類似的結(jié)果。

圖片

如果我們的應(yīng)用中有這樣的SQL,那么怎么辦呢?只能改寫,將這些SQL拆分或者用UNION語(yǔ)句來(lái)改寫。我手頭正好有一套OB4.0的環(huán)境,測(cè)試一下,執(zhí)行計(jì)劃是這樣的:

圖片

OB在CBO優(yōu)化器里自動(dòng)對(duì)這樣的SQL進(jìn)行了改寫,在執(zhí)行計(jì)劃里看到了UNION的操作。

類似這樣的問題在國(guó)產(chǎn)數(shù)據(jù)庫(kù)中還有很多,因此在做選擇的時(shí)候,最好能夠把自己的ERP,SCM,倉(cāng)儲(chǔ),財(cái)務(wù)等系統(tǒng)中相對(duì)比較復(fù)雜,數(shù)據(jù)量較大的SQL抽取一些出來(lái),在待選產(chǎn)品上做一些測(cè)試,可能能夠比對(duì)出更有價(jià)值的數(shù)據(jù)出來(lái)。

責(zé)任編輯:武曉燕 來(lái)源: 白鱔的洞穴
相關(guān)推薦

2018-05-17 11:06:52

數(shù)據(jù)庫(kù)SQL Server設(shè)計(jì)方案

2010-05-14 17:12:53

MySQL數(shù)據(jù)庫(kù)

2017-04-07 15:00:57

Lotus-NotesORACLE數(shù)據(jù)遷移

2010-04-09 09:46:38

Oracle RAC

2019-03-10 12:15:57

遷移云計(jì)算數(shù)據(jù)分析

2009-03-09 16:27:17

數(shù)據(jù)遷移PHPOracle

2011-09-16 15:05:33

云計(jì)算

2010-04-27 16:54:11

Oracle RAC

2010-04-02 16:31:58

Oracle RAC

2024-10-29 11:32:33

2010-03-18 09:28:14

Oracle數(shù)據(jù)庫(kù)遷移

2016-11-11 00:00:16

MySQLOracle數(shù)據(jù)

2010-05-20 17:31:17

MySQL數(shù)據(jù)庫(kù)

2010-07-12 10:48:21

SQL Server數(shù)

2011-03-18 13:23:47

SQL ServerOracle

2010-04-26 11:10:29

Oracle數(shù)據(jù)庫(kù)

2019-10-16 11:40:56

數(shù)據(jù)庫(kù)PostgreSQL Oracle

2010-05-07 17:56:10

Oracle數(shù)據(jù)庫(kù)安全

2010-04-06 13:22:24

Oracle數(shù)據(jù)庫(kù)

2023-11-29 09:53:29

數(shù)據(jù)庫(kù)遷移SQL Server
點(diǎn)贊
收藏

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