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

走好信創(chuàng)落地“最后一公里”

原創(chuàng)
開發(fā) 架構(gòu)
作為核心技術(shù)軟件之一,數(shù)據(jù)庫(kù)在其中無(wú)疑扮演著重要的角色,且具有非常高的復(fù)雜性。一方面是作為基礎(chǔ)軟件之一,數(shù)據(jù)庫(kù)自身復(fù)雜度就比較高;另一方面近些年數(shù)據(jù)庫(kù)技術(shù)發(fā)展迅猛,以分布式、多模、HTAP為代表新型數(shù)據(jù)庫(kù)架構(gòu)不斷涌現(xiàn)。

?隨著近些年來(lái)內(nèi)外部形勢(shì)的劇烈變化及企業(yè)自身發(fā)展訴求,國(guó)內(nèi)企業(yè)愈發(fā)重視基礎(chǔ)軟件的自主可控。特別是對(duì)于某些涉及國(guó)計(jì)民生的重點(diǎn)行業(yè),監(jiān)管層面也提出了非常明確的指導(dǎo)意見,在指定時(shí)間內(nèi)完成技術(shù)改造。

作為核心技術(shù)軟件之一,數(shù)據(jù)庫(kù)在其中無(wú)疑扮演著重要的角色,且具有非常高的復(fù)雜性。一方面是作為基礎(chǔ)軟件之一,數(shù)據(jù)庫(kù)自身復(fù)雜度就比較高;另一方面近些年數(shù)據(jù)庫(kù)技術(shù)發(fā)展迅猛,以分布式、多模、HTAP為代表新型數(shù)據(jù)庫(kù)架構(gòu)不斷涌現(xiàn)。這些都會(huì)帶來(lái)較高的復(fù)雜度,同時(shí)我們也看到國(guó)內(nèi)數(shù)據(jù)庫(kù)發(fā)展活躍、廠商產(chǎn)品能力參差不齊,用戶在選型、研發(fā)、遷移、使用上面臨諸多痛點(diǎn)。特別是在整體改造的最后階段,涉及將系統(tǒng)從原有技術(shù)棧遷移到新技術(shù)棧,這其中蘊(yùn)含了較多工作及風(fēng)險(xiǎn)。本文嘗試從信創(chuàng)改造角度出發(fā),重點(diǎn)談在改造中往往處于最后改造的數(shù)據(jù)庫(kù)部分,即所謂信創(chuàng)改造“最后一公里”所面臨的痛點(diǎn)問題及可能解決思路。

1. 信創(chuàng)改造階段劃分

在企業(yè)的信創(chuàng)改造過程,我大致將其劃分為四個(gè)階段。

架構(gòu)選型階段

這一階段完成信創(chuàng)技術(shù)棧的選型問題。當(dāng)然這部分需要考慮的因素是比較多的,我在之前的文章中也提到過關(guān)于選型的諸多難點(diǎn)。

研發(fā)測(cè)試階段

這一階段完成業(yè)務(wù)系統(tǒng)針對(duì)信創(chuàng)技術(shù)棧的改造及測(cè)試。這其中涉及到較大的成本(人力、時(shí)間)的投入。

系統(tǒng)驗(yàn)證階段

這一階段完成業(yè)務(wù)系統(tǒng)改造后,需針對(duì)新平臺(tái)的功能、穩(wěn)定性、可用性等方面進(jìn)行驗(yàn)證。一般為保證真實(shí)性,可通過業(yè)務(wù)并行方式進(jìn)行。

系統(tǒng)上線階段

這一階段是在系統(tǒng)已經(jīng)得到充分驗(yàn)證后,將業(yè)務(wù)系統(tǒng)從原技術(shù)棧完全遷移到新技術(shù)棧。此階段需重點(diǎn)解決遷移及出現(xiàn)問題的保障維護(hù)方面。

2. 階段:架構(gòu)選型

信創(chuàng)技術(shù)棧分散

信創(chuàng)技術(shù)棧分散,尚未形成選型標(biāo)準(zhǔn),用戶選型困難。在生態(tài)兼容性上,有兼容MySQL、PG、Oracle、自有標(biāo)準(zhǔn)等多種形式。架構(gòu)上包括單機(jī)、集中式、分布式等多種,包括以NewSQL為代表的產(chǎn)品受到關(guān)注。在部署平臺(tái)上,包括私有部署及云端部署(含私有云帶底座、公有云)等多種形式。

解決思路

解決上述問題的思路是用戶在選型時(shí),盡量采用“生態(tài)兼容”而非簡(jiǎn)單的選擇產(chǎn)品,同時(shí)針對(duì)選擇多產(chǎn)品問題,需形成標(biāo)準(zhǔn)統(tǒng)一的數(shù)據(jù)管理能力。針對(duì)前者,推薦的方式是形成企業(yè)內(nèi)部數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)訪問層;針對(duì)后者,則需形成數(shù)據(jù)標(biāo)準(zhǔn)管理層。

  • 數(shù)據(jù)庫(kù)訪問標(biāo)準(zhǔn)層

首先需統(tǒng)一企業(yè)內(nèi)部的數(shù)據(jù)庫(kù)生態(tài),明確采用如MySQL、PG等為代表的事實(shí)標(biāo)準(zhǔn)生態(tài)。針對(duì)同生態(tài)產(chǎn)品間(如MySQL生態(tài)的TDSQL、GoldenDB、TiDB等),提供標(biāo)準(zhǔn)能力兼容支持;針對(duì)異構(gòu)生態(tài)產(chǎn)品間(如Oracle、DB2)到MySQL或PG生態(tài),提供等價(jià)改寫、異常處理(當(dāng)然前提是收斂異構(gòu)間數(shù)據(jù)庫(kù)差異,規(guī)范標(biāo)準(zhǔn)寫法)。

其次需統(tǒng)一企業(yè)內(nèi)部的數(shù)據(jù)庫(kù)協(xié)議,可通過標(biāo)準(zhǔn)的MySQL或PG協(xié)議,訪問多種異構(gòu)數(shù)據(jù)庫(kù)。例如通過標(biāo)準(zhǔn)MySQL協(xié)議接入,底層可對(duì)接不同數(shù)據(jù)源(如Oracle、DB2)。當(dāng)前執(zhí)行的語(yǔ)法為目標(biāo)數(shù)據(jù)源。這種統(tǒng)一接入管理方式,對(duì)企業(yè)內(nèi)部數(shù)據(jù)庫(kù)管理帶來(lái)極大便利。

  • 數(shù)據(jù)標(biāo)準(zhǔn)管理層

面對(duì)企業(yè)內(nèi)部多數(shù)據(jù)庫(kù)產(chǎn)品并存的情況,需從全局視角出發(fā)擬定數(shù)據(jù)管理策略。之前豎井式的管理方式,在現(xiàn)有碎片化現(xiàn)狀下將更加困難??煽紤]建立數(shù)據(jù)標(biāo)準(zhǔn)管理層,將常用的數(shù)據(jù)管理職能(如訪問安全、數(shù)據(jù)加密)等統(tǒng)一處理。

產(chǎn)品能力層次不齊

如之前所談,信創(chuàng)數(shù)據(jù)庫(kù)產(chǎn)品能力層次不齊,不同產(chǎn)品間功能差異明顯,包括內(nèi)核層面、周邊生態(tài)層面及管理維護(hù)層面等多方面。這對(duì)于用戶來(lái)說,無(wú)法面對(duì)統(tǒng)一的服務(wù)界面會(huì)很困難。此外,在產(chǎn)品部署形態(tài)上,云數(shù)據(jù)庫(kù)產(chǎn)品成為很多企業(yè)的選擇。但在云產(chǎn)品選擇上,用戶的自主權(quán)較差,存在與原有方式的管理差異。

解決思路

數(shù)據(jù)庫(kù)增強(qiáng)能力

增強(qiáng)數(shù)據(jù)庫(kù)及周邊生態(tài)的能力,例如針對(duì)單機(jī)數(shù)據(jù)庫(kù)短板,通過引入中間層解決分布式能力,在不改變底層技術(shù)棧的情況下,提升數(shù)據(jù)庫(kù)的上限能力。

云適配能力

云,為用戶帶來(lái)資源供給方式的變化,這會(huì)帶來(lái)收益;但同時(shí)也存在一些問題。一方面來(lái)自于基礎(chǔ)底座變化帶來(lái)的管理體驗(yàn)的變化,一方面來(lái)自于云廠商綁定的問題。用戶希望可通過一層能力屏蔽底層變化和管理方式的差異。

3. 階段:研發(fā)測(cè)試

原系統(tǒng)遷移評(píng)估難

在實(shí)際工作中,經(jīng)常會(huì)面臨一類問題就是舊有系統(tǒng)已無(wú)人了解或干脆是由第三方開發(fā)的。如在存量業(yè)務(wù)的改造中,缺乏有效的手段去收集、進(jìn)而很難評(píng)估改造任務(wù)工作量。

解決思路

  • 源系統(tǒng)評(píng)估工具

提供對(duì)數(shù)據(jù)庫(kù)的評(píng)估工具,實(shí)現(xiàn)抓取數(shù)據(jù)庫(kù)的語(yǔ)句、負(fù)載,支持回放能力。針對(duì)數(shù)據(jù)庫(kù)特有的方言、函數(shù)等個(gè)性化需改造內(nèi)容,可生成報(bào)告方便工作量評(píng)估及改造工作。當(dāng)然如果沒有工具,通過調(diào)研表的方式也可以完善對(duì)之前情況的評(píng)估,公眾號(hào)之前寫過類似主題,可參考。

遷移過程成本高

很多應(yīng)用系統(tǒng),對(duì)原有技術(shù)棧依賴嚴(yán)重,之前大多采用Oracle、DB2為代表大型商業(yè)數(shù)據(jù)庫(kù),應(yīng)用端對(duì)商業(yè)數(shù)據(jù)庫(kù)方言、庫(kù)內(nèi)計(jì)算(存儲(chǔ)過程、觸發(fā)器、函數(shù)等)、生態(tài)工具(SQL優(yōu)化、數(shù)據(jù)集成、管控維護(hù))等,都存在較重依賴。而新技術(shù)棧產(chǎn)品差異明顯,通過應(yīng)用研發(fā)改造也存在工作量極大的情況。大量基于商業(yè)數(shù)據(jù)庫(kù)的開發(fā)邏輯,需改造遷移。一部分需改造適應(yīng)新架構(gòu)數(shù)據(jù)庫(kù),一部分需考慮在異構(gòu)平臺(tái)(如大數(shù)據(jù)平臺(tái)、緩存平臺(tái))或應(yīng)用層解決。部分改造內(nèi)容,不等價(jià)實(shí)現(xiàn),提高了改造難度。

解決思路

  • 輔助開發(fā)平臺(tái)

為滿足在新技術(shù)棧下的開發(fā),需秉承在架構(gòu)選型階段談到的數(shù)據(jù)庫(kù)訪問標(biāo)準(zhǔn)層的理念,簡(jiǎn)化對(duì)數(shù)據(jù)庫(kù)的使用。但對(duì)于重度依賴的原有系統(tǒng),需提供一種方式可完成將舊邏輯向新邏輯的轉(zhuǎn)換,這點(diǎn)是比較難的,通常很難做到完全的等價(jià)轉(zhuǎn)換。目前有些工具已經(jīng)能夠?qū)崿F(xiàn)將復(fù)雜的庫(kù)內(nèi)計(jì)算(如存儲(chǔ)過程、觸發(fā)器等)轉(zhuǎn)化為業(yè)務(wù)語(yǔ)言實(shí)現(xiàn)(如Java),這一方式可大大加速這一過程。當(dāng)然,更為重要的還是將兩者的差異充分暴露給開發(fā)者,讓大家有的放矢地去改造,明確知道潛在的工作量。更進(jìn)一步的,可提供一些諸如數(shù)據(jù)集成、數(shù)據(jù)管理、SQL診斷優(yōu)化等工具,方便在改造過程中提高開發(fā)效率。

  • 提升兼容性的平臺(tái)

可通過兩種手段進(jìn)一步減少改造工作量,一方面是提升目標(biāo)平臺(tái)對(duì)源平臺(tái)的兼容性能力,一方面是通過中間層實(shí)現(xiàn)必要的改寫,自動(dòng)完成不兼容改造。針對(duì)第二方面的訴求,可以通過第三方平臺(tái)實(shí)現(xiàn),它可兼容新舊平臺(tái)的語(yǔ)法,同時(shí)完成等價(jià)轉(zhuǎn)化。針對(duì)不能轉(zhuǎn)化的部分,給出異常提示。配合前面的改造改寫工具,完成內(nèi)容的修改,不斷收斂?jī)烧叩牟町悺?/p>

遷移結(jié)果評(píng)估難

對(duì)很多新架構(gòu)產(chǎn)品提供的兼容性能力存疑,僅通過語(yǔ)法層面的兼容或少量改造,很難保證語(yǔ)義上的一致性,這會(huì)造成未來(lái)上線的風(fēng)險(xiǎn)。缺乏有效的評(píng)測(cè)手段,針對(duì)應(yīng)用遷移前后的語(yǔ)義等價(jià)(數(shù)據(jù)一致性)及性能等能做到評(píng)估。

?解決思路

  • 遷移結(jié)果評(píng)估工具

針對(duì)遷移后的運(yùn)行狀態(tài),可提供一種機(jī)制能驗(yàn)證運(yùn)行結(jié)果,包括但不限于對(duì)執(zhí)行結(jié)果一致性的檢查、運(yùn)行效率的檢查等等。通過這一能力,可有效降低系統(tǒng)上線后的風(fēng)險(xiǎn)。

4. 階段:系統(tǒng)驗(yàn)證

系統(tǒng)驗(yàn)證階段,是很多重要系統(tǒng)正式上線前必須經(jīng)歷的階段。通過這一方式,可以大幅降低可能的技術(shù)風(fēng)險(xiǎn),提高系統(tǒng)上線成功率。

遷移風(fēng)險(xiǎn)高,無(wú)法回退

為了在驗(yàn)證階段,驗(yàn)證系統(tǒng)是否工作正常,一般需要開發(fā)大量驗(yàn)證類的代碼。這部分工作主要是為了滿足系統(tǒng)支持新舊技術(shù)棧及必要的對(duì)比等工作,但這部分往往工作量巨大。如很多應(yīng)用常見的數(shù)據(jù)雙發(fā)邏輯,就是通過數(shù)據(jù)雙寫,同步驗(yàn)證兩邊執(zhí)行結(jié)果。為達(dá)到這一訴求,不得不在原有業(yè)務(wù)邏輯上開發(fā)兩套適應(yīng)不同技術(shù)棧的代碼。

解決思路

  • 數(shù)據(jù)雙寫平臺(tái)

提供基于中間層的輕量級(jí)實(shí)現(xiàn),在應(yīng)用側(cè)無(wú)需改動(dòng)或少量改動(dòng)代碼,即可完成數(shù)據(jù)的雙發(fā)寫入,滿足數(shù)據(jù)同步寫入到異構(gòu)平臺(tái)中。為保證數(shù)據(jù)的一致性,還需提供必要的事務(wù)性保證,保證異構(gòu)數(shù)據(jù)庫(kù)間數(shù)據(jù)的一致性。但當(dāng)一方平臺(tái)出現(xiàn)異常時(shí),應(yīng)可自動(dòng)退化,不影響另一套平臺(tái)正常使用。從前端業(yè)務(wù)可自動(dòng)感知這一變化,可自動(dòng)適應(yīng)這一過程,業(yè)務(wù)無(wú)感。但系統(tǒng)修復(fù)后,又可以手工添加回雙發(fā)狀態(tài)(需提供異常期間的數(shù)據(jù)補(bǔ)償能力)。這一思路的難點(diǎn)在于如何實(shí)現(xiàn)應(yīng)用代碼邏輯不變的情況下,支持寫入異構(gòu)庫(kù)。常見的思路是通過將于數(shù)據(jù)庫(kù)的交互語(yǔ)言-SQL,從一種方言翻譯到另一種方言,當(dāng)然前提是語(yǔ)義等價(jià)。此時(shí),就可以參考之前在架構(gòu)選型階段談到的-數(shù)據(jù)庫(kù)訪問標(biāo)準(zhǔn)層,收斂企業(yè)內(nèi)數(shù)據(jù)庫(kù)的訪問,盡量簡(jiǎn)化、標(biāo)準(zhǔn)化對(duì)數(shù)據(jù)庫(kù)的使用,這也是對(duì)雙發(fā)驗(yàn)證階段可執(zhí)行對(duì)比的前提。

遷移驗(yàn)證,無(wú)從下手

在驗(yàn)證階段還有一個(gè)比較難的地方在于如何驗(yàn)證,最好的驗(yàn)證方式是帶著真實(shí)流量的驗(yàn)證,但同時(shí)還需考慮風(fēng)險(xiǎn)問題。如果對(duì)業(yè)務(wù)訪問做好精準(zhǔn)的控制,按需求進(jìn)行業(yè)務(wù)驗(yàn)證,且還需提供必要的退化能力保證安全。如常用的基于讀寫的分配、基于流量的分發(fā)(甚至基于業(yè)務(wù)特征的分發(fā)能力)。

解決思路

  • 流量分發(fā)平臺(tái)

提供流量分發(fā)平臺(tái),滿足在多平臺(tái)在線情況下,根據(jù)策略分配業(yè)務(wù)訪問??删珳?zhǔn)地控制其流向,如痛點(diǎn)中提到的讀寫流量、比例流量亦或是帶有業(yè)務(wù)特征的流量。可感知下方物理拓?fù)渥兓ㄉ踔潦钱悩?gòu)平臺(tái)間的變化),可對(duì)應(yīng)做流量重分發(fā),不影響業(yè)務(wù)正常運(yùn)行。這樣對(duì)上層來(lái)說,會(huì)帶來(lái)很大的靈活度,可根據(jù)需要隨時(shí)調(diào)整驗(yàn)證策略,降低驗(yàn)證期間的風(fēng)險(xiǎn)。

5. 階段:系統(tǒng)上線

遷移窗口短,遷移困難

在系統(tǒng)上線階段,一個(gè)突出問題是遷移窗口期的問題,其普遍的上線窗口期很短。這就需要在較短的時(shí)間內(nèi)能夠完成數(shù)據(jù)庫(kù)間(一般是異構(gòu))的數(shù)據(jù)的遷移工作,同時(shí)還需針對(duì)遷移后的數(shù)據(jù)提供質(zhì)量對(duì)比,能夠保證遷移數(shù)據(jù)是正確的。

解決思路

  • 離在線遷移工具

解決這一問題通常采用離在線遷移工具,可提供異構(gòu)數(shù)據(jù)源間的數(shù)據(jù)離在線的遷移能力??沙浞掷梦锢碣Y源,采用并行處理技術(shù)提升遷移效率,滿足時(shí)間窗口。對(duì)于海量數(shù)據(jù)遷移,通常是離線與在線相結(jié)合,即將靜態(tài)數(shù)據(jù)通過離線方式遷移,針對(duì)動(dòng)態(tài)(活躍)數(shù)據(jù)采取在線遷移方式,通過這一方法盡量壓縮遷移窗口。此外,還需提供數(shù)據(jù)對(duì)比能力,可根據(jù)用戶需要進(jìn)行比對(duì)。這里面臨兩個(gè)難點(diǎn),一是如何提升對(duì)比效率滿足海量數(shù)據(jù)對(duì)比;二是如何實(shí)現(xiàn)動(dòng)態(tài)變化的數(shù)據(jù)對(duì)比。針對(duì)前者,通常的解決思路是可以讓用戶選擇對(duì)比方法(算法),從簡(jiǎn)單計(jì)數(shù)、部分采樣、統(tǒng)計(jì)報(bào)表或復(fù)雜算法。針對(duì)后者,可通過流式窗口比較的方法,不斷擬合趨近于實(shí)時(shí)結(jié)果。

  • 新上系統(tǒng)不穩(wěn)定

系統(tǒng)上線后的穩(wěn)定性問題,也是用戶最為關(guān)心的。作為新產(chǎn)品、新架構(gòu),很難保證上線后一定不出問題。雖然可通過充分的測(cè)試、并行驗(yàn)證等多種手段盡量減少這個(gè)出現(xiàn)問題的風(fēng)險(xiǎn),但顯然無(wú)法完全避免。比較好的方式是提供一種能力,根據(jù)可能出現(xiàn)的運(yùn)行問題,通過一些手段可以盡量減少問題影響范圍,恢復(fù)業(yè)務(wù)。

解決思路

  • 流量治理平臺(tái)

提供數(shù)據(jù)庫(kù)流量的統(tǒng)一接入,并實(shí)現(xiàn)治理能力。通過多種手段(基于標(biāo)簽、SQL文本、用戶名、來(lái)源IP等)實(shí)現(xiàn)對(duì)SQL流量的精準(zhǔn)控制。例如針對(duì)低效SQL,可實(shí)現(xiàn)熔斷、限流;針對(duì)特定SQL,提供黑白名單;為滿足問題排查提供全量SQL的審計(jì)能力,可做到事后追蹤等。

  • 系統(tǒng)逃生平臺(tái)(方案)

為防止出現(xiàn)系統(tǒng)性風(fēng)險(xiǎn)或全局邏輯性錯(cuò)誤,需提供一種異構(gòu)“逃生”方案。所謂異構(gòu),一定是一種有別于現(xiàn)有技術(shù)棧的平臺(tái)或方案。兩套平臺(tái)間的數(shù)據(jù)是需要做到可控同步的,即可根據(jù)需要選擇實(shí)時(shí)同步、延遲同步和人工同步。同時(shí)在數(shù)據(jù)之上,還需提供切換的能力,可滿足在異常情況下短時(shí)可切換。

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

2015-04-23 10:30:42

華為

2022-07-29 09:03:17

AIOPS運(yùn)維工具

2015-12-11 10:46:01

2011-12-25 20:54:57

移動(dòng)支付

2012-09-24 15:07:09

云ERP恩信科技云應(yīng)用

2022-04-19 08:09:11

PON光纖網(wǎng)絡(luò)

2025-02-20 08:45:41

V3GPU資源

2023-11-05 10:04:47

2017-09-04 16:49:25

2023-12-12 08:31:44

智能運(yùn)維場(chǎng)景

2017-02-21 12:30:21

數(shù)據(jù)中心智能終端網(wǎng)絡(luò)

2017-02-21 13:30:42

數(shù)據(jù)網(wǎng)絡(luò)終端

2021-11-11 21:35:48

數(shù)字化

2015-11-03 13:55:44

物聯(lián)網(wǎng)最后一公里

2025-02-11 00:11:00

NULL運(yùn)算篩選
點(diǎn)贊
收藏

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