去O可能存在的難點及應對策略加以分析

2020-12-23 電子發燒友

去O可能存在的難點及應對策略加以分析

IT168 發表於 2020-12-21 11:12:21

去O的話題,可謂由來已久。從十年前阿里提出了這一口號,並率先在公司內部實現了資料庫的整體去O開始,到後面從網際網路公司到傳統企業也紛紛跟進,可以說去O的理念已逐步深入人心。但到直到現在,我們可以看到Oracle在國內的市場依然佔有相當大的比例。即使在對外的很多去O宣傳中,也大多是以非重度O記案例或非關鍵業務系統居多,大量核心、關鍵業務系統仍然採用O的方案。那造成這一現象的原因是什麼呢?本文嘗試對去O可能存在的難點及應對策略加以分析。下面文字代表個人觀點,僅供參考。

1. 難點:功能完備度

Oracle從上世紀七十年來發展而來,經過四、五十年的發展,其功能的完備程度達到相當高的水平。可以說,Oracle仍然是資料庫業內功能最為強大的一款產品。從早期關係模型的實現、率先提出集群理念、到引入多模異構存儲、軟硬體一體化、人工智慧在資料庫的應用等等。Oracle在產品能力上不斷增強。在本世紀早期的一段時間內,開源、大數據、雲等確實對Oracle造成了一定的衝擊,但後者加速迭代更新速度,可以說現在Oracle更是一個「全能」選手。在各個領域,均有著不俗的表現,甚至從某種程度來講,技術選型採用Oracle基本都可以滿足功能需要。但也正是這一現象,造成去O的選擇是困難的,很難找到一款產品可以完美替代Oracle的全部產品能力。所以,去O的過程往往不是一個簡單的「蘋果換桔子」的問題,而是需要從應用架構、基礎架構、資料庫架構綜合考慮,進而造成較大的困難。舉個簡單的例子,很多案例中是採用MySQL作為Oracle的替代方案。但在真正使用中,會發現很多問題。排除底層的內核差異等外,僅從承載數據規模來看,兩者的差異就很大。當數據量增大後,容量、性能問題暴露出來,你不得不去考慮使用類似分庫分表等方案來解決,但這勢必會帶來應用架構的調整。在應用通過改造、引入中間件等解決這一問題後,又會發現數據分片後的整體分析變的困難,此時又需要引入分析類產品,還要解決數據同步等問題。可以看到一個看似簡單的底層資料庫技術選型的改變,變得越來越複雜。如果上述過程是在「在線」的狀態下完成,這個過程又將難上加難。綜上可見,Oracle全面而強大的功能,是在去O中不得不去面對的問題。

應對策略

在應對策略上,首先要接受這一事實,功能差異是客觀存在的。不存在一個完美的產品可以替代Oracle。此時能做的更多是細化場景分析,找出更適合項目情況的技術方案(或方案組合)。細化場景的目的,就是在於對功能需求做減法,找出替換功能邊界,進而為後面的選型提供參考依據。如果是一個重度O的用戶,就需要梳理所有場景,提出若干種差異化的技術方案來滿足不同的需要。甚至針對同一場景,也要有幾種方案可選,以面對成本、風險等其他因素的考慮。例如下圖是多年前在公司整理的去O方案總結,其中場景部分正是基於上面的考慮。

2. 難點:性能有差異

性能問題,可以說是資料庫使用中大家最為關注的,也是在很多評測中經常拿來說事的,但這點是需要理性來看待的。性能指標,是受到工作負載(workload)、軟硬體環境、測試方法、驗收指標等很多種因素有關。很多資料庫在評測中談到性能碾壓Oracle,此時要辯證來看待。例如前一階段國內資料庫廠商OceanBase,在TPCC的評測中再次刷新了此前成績,可以說性能指標遙遙領先,這點也確實看到國內廠商取得了長足的進步,值得誇獎;但同時也要理性看待,性能打榜成績不能完全代表性能好。客戶更為關注的是在通用場景下的性能表現及性能上持續穩定輸出。基於這兩點,Oracle產品無疑做的非常出色。這裡面重點談到兩點,一是Oracle的優化器能力,二是其軟硬一體機方案。如果說資料庫是基礎軟體的皇 、 冠的話,那麼優化器就是皇、 冠上的明珠。優化器的好壞,直接反應資料庫的性能表現。筆者之前曾有過這樣的體驗,某項目去O遷移(包括應用改造等)總共花費三天時間,但上線後的優化足足花了一個月,甚至很多代碼不得不重寫。造成這一問題的原因,正是優化器的差異造成同樣語句,在不同資料庫的表現差異巨大。通俗來說,就是寫的很爛的SQL,在Oracle中也可以執行的很好。第二點是軟硬一體化方案,這方面Oracle是走在各廠商的前列,其最早提出一體機的理念,經過十餘年的迭代發展,其綜合性能表現令人印象深刻。其將最新的硬體技術,與資料庫軟體相結合,爆發出強大能量。可以說在極致性能表現場景下,一體機仍然是非常好的一種選擇。

應對策略

如何面對性能的差異呢?企業要做到以下幾點:一是理性看待性能指標,提出適合自己的性能要求。過高的指標要求,只會帶來後面技術選型的偏差。比單一指標更為重要的是,性能指標的多維度。要結合場景提出自己的指標規範,是滿足低延遲,還是滿足大吞吐;是滿足高並發,還是滿足穩態輸出。針對這些,要提出一個綜合性的測試標準。二是構建適合企業自身的測試集,TPCC等測試標準可以用來參考,但不要完全依賴而是從更貼近企業業務入手,構建自有的測試集。三是關注長期發展,做有預測性的性能評估。產品的性能表現是存在所謂拐點現象,很難做到完全線性擴展,要在評估初期就關注到這點,並根據業務發展做好預測評估及可能的備選方案。四是注意新技術的tradeoff。很多新技術確實給人眼前一亮的感覺,例如性能表現非常好,但此時要理性注意到其背後的取捨問題,進而評估是否選擇及可能的解決方案。例如以Redis為代表的KV產品,在某些場景有很好的性能表現,但它的背後是捨棄了什麼?什麼場景適合它?後端架構如何適配這一技術,在解決了性能問題的同時,避免其他可能帶來的問題?

3. 難點:生態完整性

Oracle的生態,無疑是其成功的主要因素之一。其發展的四、五十年來,在很多領域是其引領了整個行業的發展,其產品實現方式,很大程度上也成為了事實標準。後續的很多企業在產品設計上,也參考了Oracle的做法,某種程度將Oracle成了資料庫的代名詞。伴隨著其成熟穩定的生態,也有很多相關企業,從底層基礎設施廠商、到資料庫周邊的備份、監控,到上層的數據建模、治理,再到應用軟體開發,這些企業伴隨著Oracle共同發展,共存共榮。例如:Oracle在傳統金融領域布局多年,服務了大量銀行客戶。而這些銀行的業務系統,則是有很多ISV來開發支持,他們已經非常習慣使用Oracle作為底層數據的存儲、計算基礎,此時更換資料庫已不是簡單的一替了之,而是需要大量的應用系統改造適配的過程。這其中還需要考慮新老系統的共存、數據遷移帶來的應用適配等種種問題。可以說這方面帶來的工作量,是整個去O工作中的主體部分,也是關乎到其最終替換效果能否達到預期的關鍵。此前看到的陸金所的分享,正是在業務梳理、服務化改造到後面遷移、切流等做了大量工作後,才逐步將資料庫從Oracle遷移到MySQL上。

應對策略

面對Oracle成熟的生態,作為企業要做好充分的準備,認識到去O工作不是簡單的底層替換而已,要從方方面面著手準備。後者所佔的工作比例,甚至超過前者,而這些「細節」會決定最終的實際效果。那麼作為技術提供方來說,不要試圖僅僅通過全新建立生態來替代Oracle,而是可做兩手準備,做好一定的適配Oracle的工作。一方面,要儘量兼容Oracle的生態標準,方便其周邊生態企業可以非常低成本的切換過來。這也是我目前認為國內產品做的相對薄弱的部分,很多產品都號稱可完美地兼容Oracle,是實際效果往往大打折扣。第二方面是做好差異化聲明。一個產品要完美地兼容另一款產品是不可能的,雙方的差異勢必存在。重要的是,將這個差異明確地傳達給客戶,不要等上線後才發現兩者的行為不同。第三方面是做好遷移輔助工作,可通過文檔、工具、專家服務等形式,提供給客戶遷移輔助能力。比如阿里的ADAM平臺,就是一款遷移評估產品,可以很方便地評估兩者的差異並給出建議、甚至是部分遷移邏輯的實現。這樣可大大減少客戶遷移的憂慮。

4. 難點:成本不便宜

成本,是大家經常來談到去O可能帶來收益的一個說辭,但這裡是有一個誤區的。僅僅從字面成本代表的經濟投入來說,去O往往就是不划算的;再從外延所涉及的人力成本、時間成本、風險成本、機會成本來說,更是如此。先從經濟成本來看,Oracle採取的綁定資源的許可證+後期服務費的方式,是比較昂貴的;而且往往在議價方面也是比較強勢。很多企業也是看到這一點,因而才考慮去O的。

選擇了去O,僅從經濟投入角度也會帶來很大一筆投入。這裡面可能包括選擇其他商業產品(或商業服務)可能的投入,需構建新的服務體系帶來的人力投入,上下遊適配帶來的更換類、改造類的投入等等。

再從人力成本來看,引入一款或多款新的資料庫/大數據類產品來替代O,需要人力投入;如引入例如分庫分表等中間件產品,在應用架構上、應用開發上也是需要人力投入的。如採用的是開源產品,還需要企業有很好的掌控開源產品能力,在必要內核上及構建周邊生態工具平臺上同樣需要人力投入。

三從時間成本來看,去O往往有個周期較長的過程,是需要花費較長的時間成本。企業是否有足夠的時間來完成這一過程?是否在快速業務發展中,有足夠的空間來做?是採取大刀闊斧還是小步快跑的方式,這些都是與企業整體發展節奏相關,需要統籌來考慮。

四方面的風險成本,也是不可迴避的一個問題。做任何技術決策都可能帶來風險,針對這樣的風險企業是否有足夠的認知?為規避這一風險,是否採取了必要的措施?而這些措施,是否又帶來了額外的經濟、人力、時間成本,甚至新的風險點…(好吧,有點燒腦)

應對策略

面對上述種種成本,企業該如何來解決呢?這裡能採取的應對策略就是充分評估,將上述可能的成本因素都羅列出來。針對不同的解決方案,在不同成本投入上有所差異,這也是後面做選型時的重要考量因素之一。此外,還需要從長遠及戰略層面考慮這一問題,不要僅依靠成本說話。該需要長期投入的,要捨得投入;該納入企業技術戰略決策的,要敢於投入。不要被短時的成本收益所左右。

5. 難點:服務健全性

很多企業選擇Oracle,是看中其良好的服務能力。所謂的「交鑰匙」項目,讓企業可以更安心在自身業務上,而不是技術本身。能夠達成這點,一方面是Oracle產品本身發展多年,其功能完備度已經很高,並已形成了很好的交付能力;第二方面,完備的生態帶來的交付閉環,大量的服務類企業保證了很好的交付質量。相比較而言,無論是國產資料庫或者開源產品,都需要企業在產品服務上面有更多的關注。

應對策略

針對這點,作為甲方的企業要更多做好選擇把關工作,選擇那些真正有實力交付的企業及產品。特別是某些基於開源產品衍生而言的商業產品,企業是否對內核有足夠的把控力,尤為關鍵。此外,在其服務體系(流程、標準等)、客戶案例等,都需要加以考慮。如果是企業選擇自研或開源方案解決,則需要構建其成熟的運維體系,這點可參照商業解決方案。對涉及數據安全、可用性等關鍵指標,做好必要的預案並定期演練。而作為乙方來說,提升交付服務能力是需要一個過程,要承認與傳統商業資料庫廠商服務積累多年的差距。有意識地去模仿構建成熟的服務體系,同時加大對生態合作夥伴的支持,讓大家共同參與到服務中來。

6. 難點:風險可控度

風險問題,是大家做去O選擇時不得不面對的問題。作為基礎軟體,出現bug是難以避免的,但以Oracle為代表的大型商業資料庫,經過多年的打磨積累已經可以做到風險可控。Oracle從最早物理邏輯的備份恢復、到高可用集群(RAC)、到數據衛士(DataGuard),再到獨立的備份一體機。經歷了數十年的發展,在多方面做到數據保障。這也是之前用戶,敢於將核心、關鍵業務放在上面的原因之一。某種程度上講,用戶可以接受一定的服務降級,但在關鍵的數據安全、可用性上面,是需要嚴格得到保障的。與之相對比,去O之後的方案同樣需要規避上述可能的風險。

應對策略

為解決上述問題,甲方企業需要本著嚴謹的原則,將可能的風險因素都納入到評測之後,以此來考察候選方案。同時,在推進過程中可以按照「先邊緣、後核心;先局部、後整體」的原則,來推進去O工作。在這一過程中,不斷完善打磨整個方案。作為乙方產品,如何能夠打消客戶的顧慮,讓客戶可以無憂選擇也是非常值得探討的。比如支持產品混部,將自有產品放在後端,通過全部只讀-》讀寫混合-》全部可寫的步驟,逐步替代的方式減少出現風險的可能。在比如支持前端路由選擇,嘗試使用小部分業務流量來驗證,並逐步擴大等等。通過這些手段的使用,逐步提升用戶使用的信心。同時,針對產品自身質量,同樣需要嚴格把關,做好交付輸出。

7. 寫在最後

如何理性看點去O的價值?或者說,企業為何做出這樣的選擇?一方面,隨著國內外形勢變化,對國產化、自主可控有著實際要求。針對某些關鍵行業、關鍵領域,在政策上是有明確要求的。除此之外,企業更多選擇去O是從成本、擴展性及自身技術戰略出發的一種選擇。此時,是需要企業冷靜思考,做出最合適企業自身的選擇。從近年來的發展趨勢來看,越來越多的企業開始將去O作為企業未來技術發展戰略,同時也有很多的國產資料庫或雲資料庫廠商加入到這一浪潮之中。這為國內的資料庫發展帶來新的發展機遇。去O本身並不是目的,如何在未來基礎軟體使用發展上有著自主能力才是關鍵。大勢所趨,乘風而上;希望更多企業在去O中磨練自身能力,同時助力開源、國產資料庫技術長遠發展。

責任編輯:lq

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 去O:為什麼這麼難?
    即使在對外的很多去O宣傳中,也大多是以非重度O記案例或非關鍵業務系統居多,大量核心、關鍵業務系統仍然採用O的方案。那造成這一現象的原因是什麼呢?本文嘗試對去O可能存在的難點及應對策略加以分析。下面文字代表個人觀點,僅供參考。
  • 2021年中考數學知識點:概率的難點分析及解決策略
    中考網整理了關於2021年中考數學知識點:概率的難點分析及解決策略,希望對同學們有所幫助,僅供參考。   初中數學中概率學習的難點之一:分析推測事件發生的可能性的大小.   解決策略:   (1)事件發生的不確定性和可能性在學生生活和經驗積累中有所感受,但往往是感性的、模糊的、無意識的,現在開始力求精確,儘可能用數字說話,學生原有的知識經驗難以支撐,為認知同化造成困難.
  • 新冠肺炎疫情下的航空公司應對策略分析
    新冠肺炎疫情下的航空公司應對策略分析 來源:民航資源網 作者:李明業 2020-02-24 15:25:45  圖5:2020年民航旅客運輸量預測  四、疫情前期航空公司的應對策略分析——判斷趨勢,制定計劃  近年來,「黑天鵝」事件頻發,嚴重影響了區域經濟和全球航空業的發展
  • 初二上學期,難點分析,一次函數中的等腰三角形存在性問題
    初二上學期,一次函數是難點,等腰三角形存在性問題也是難點,那麼一次函數與等腰三角形結合在一起呢?解決等腰三角形的存在性問題,需要理解以下幾個知識點:知識點一:等腰三角形的概念與性質有兩邊相等是三角形為等腰三角形,相等的兩邊為腰長,另外一邊為底邊。
  • 基本分析—策略分析
    根據不同的分類標準,可以將投資策略分為不同的種類。 1.根據投資決策的靈活性不同,分為主動型策略與被動型策略 1)主動型投資策略。主動型策略的假設前提是市場有效性存在瑕疵,有可供選擇的套利機會。它要求投資者根據市場情況變動對投資組合進行積極調整,並通過靈活的投資操作獲取超額收益,通常將戰勝市場作為基本目標。
  • 野釣、黑坑、競技三種場景開竿兩小時無口的原因分析及應對策略
    今天小編就和大家一起分享野釣、黑坑、競技三種場景下開竿兩小時無口的原因分析及應對策略。野釣開竿兩小時無口的原因分析野釣開竿兩小時無口的應對策略打上窩子兩個小時過去了,仍然一口沒有,這時你會怎麼辦?堅持堅守還是挪換釣位?
  • 壽堅榮:淺議石油天然氣管道工程的法律風險及應對策略
    ,並結合工程實踐和筆者經驗給出相應的應對策略,以期給石油天然氣管道工程的建設方或業主在適當參考和幫助。一、管道規劃的法律風險及其應對策略由於石油天然氣開採的行業壟斷性,石油天然氣管道的投資或建設單位一般系中石油、中石化或中海油等中央部屬企業或其下屬子公司,項目立項一般由國務院發改委或省發改委等省級以上部門審批,但石油天然氣管道所經過的土地卻屬於各省、市縣所有,因此當管道企業向管道所在地縣級以上人民政府城鄉規劃主管部門報送規劃確定的管道建設選線方案時
  • 12.22日內行情看法及應對策略、黃金原油獨家走勢分析解套
    下面價格控盤陳大賓就對日內行情做出個人看法及應對策略,希望能對你有所你幫助。  黃金原油行情關注:  因對新型冠狀病毒新毒株的擔憂擾亂了市場,投資者選擇美元,但美國經濟刺激計劃為金價提供了一些支撐。日線與10日線上方,今日回踩在1860附近可以繼續參與多單,上方短線4小時走上來看1882附近存在阻力,均線死叉,技術指標偏空,因此日間可以參與上方壓力先空,操作上價格控盤陳大賓建議上方關注點位1885-1888,下方關注1860-1857.詳情關注價格控盤大賓微信cbb8527獲取每日資訊。
  • 應對消極者的七個策略
    你身邊一定有消極情緒的朋友,可能你也深受影響,挺著這樣的人整天抱怨,或對你身邊的人說三道四的,這些消極者是明顯的悲觀主義者,並且也會給周圍的人造成負面影響,如果你不謹慎,就會被他們拖下水變成同病相憐,這回擾亂你的生活和工作,那麼如何應對消極情緒的人?
  • 從設計角度分析《只狼》難點,用邪道方法化解《只狼》難題
    身為硬核玩家的AGamer在快速地打通了這款無數玩家「讚不絕口」的《只狼》後,今天就來好好聊聊這款遊戲的設計難點。千奇百怪的難不同類型的遊戲有著不同的難點,相同類型的遊戲也可能在難度方面存在差異。《仁王》99流策略的「難」對於策略類的遊戲來說,難點主要在於玩家是否掌握了正確的戰術策略。
  • 重磅:高考英語失分諸多原因分析及應對策略
    高考英語失分點原因分析及應對策略 1.書寫潦草,英文字母看不清。 一些考生字跡潦草、卷面不整潔、答題時超出邊界、或寫書面表達時答題區間不對等情況,都影響分數。
  • 《風景園林》熱點導讀|20 氣候變化及設計應對策略
    本期熱點導讀精選16篇「氣候變化及設計應對策略」相關論文,從氣候變化影響評估、設計方法、技術手段等方面闡述國內外風景園林師應對氣候變化的策略與措施,並分享了國際範圍其他國家應對氣候變化的經驗,幫助讀者進一步了解氣候變化及設計應對策略的相關研究與實踐。
  • 圍麻醉期突發蛛網膜下隙阻滯平面過高的原因分析及應對策略
    本期,我們從一書中找出其發生原因和應對策略分享給大家:首先,我們分析其原因:1.影響蛛網膜下隙阻滯平面的因素:(1) 脊柱長度:在相同條件下,脊柱越長,阻滯平面越低。(2)局麻藥溶液的比重和患者的體位:從局麻藥的特點來看,其物理性狀如何對藥物分布起決定性作用。
  • 人工智慧心理戰及其應對策略
    心理學也可以根據識別、測量和分析的結果,建立模型進行運算,對人的心理活動進行運算和推斷,從而能對人的心理活動結果和行為傾向進行預測。在此基礎上,可以運算出對人的心理施加不同的刺激時,人的心理會如何回應這個刺激並可能導致什麼結果,從而在一定程度上讓心理活動可控。(當然,由於人有自由意志,所以對某個具體的人的心理,永遠不可能達到絕對的可預測。
  • A股:12月16日大盤分析,明日大盤預判及應對策略
    今日大盤分析 今日大盤最低3359點,最高3378點,基本圍繞5日均線窄幅波動,不過今日是個陰十字星,昨日是陽十字星,成交量再次萎縮,兩市合計成交7000億,指數走勢相當糾結,估計這樣的走勢不會維持太久,變盤就在近日。
  • 公元6世紀地中海大瘟疫的應對策略
    (11)在篤信基督教的查士丁尼時代,一切無法解釋的事情最終都歸結為上帝的懲罰和神跡,這種「基督教思維方法」(12)對民眾應對瘟疫毫無幫助,除了對普遍存在的恐懼和焦慮發揮些許麻痺作用,只能促使他們消極絕望,進而放棄積極防疫的努力。
  • 移動網際網路環境下教育輿情應對處置策略研究
    關鍵詞:移動網際網路;教育輿情;應對處置近年來,教育輿情事件多發、頻發,成為影響教育改革發展穩定的重要因素。伴隨著移動網際網路的普及,傳統的信息傳播模式被重構,教育輿情事件應對處置面臨的風險和挑戰不斷加大。本文從移動網際網路影響下的信息傳播的新特點,分析移動網際網路環境下教育輿情的新特點,進而探討教育輿情應對處置的有效策略。
  • 投資策略分析:海外主流投資機構如何應對負利率
    次貸危機後,海外主流機構如何應對利率下行?經濟危機後,GPFG聘請了三位分別來自 Columbia, Yale 和 LBS 的教授進行分析。在對 1998 至 2008年的歷史業績進行分析之後,三位作者發現 GPFG 從主動管理中獲得的超額回報年化收益率約為 0.24%,其中主要貢獻來自股票投資。雖然超額回報率看似較小,但基於基金資產規模基數,主動管理可創造巨大收益。在三位學者建議下,GPFG基金決定加倉權益資產。
  • 明日方舟:眩暈、減阻擋,異常狀態解析和應對策略(中)
    減防、寒冷、凍結,異常狀態解析和應對策略(上)今天我們接著說:眩暈、減阻擋。希望看完這篇以後,大家對於異常狀態能夠有更好的把握,在面對棘手敵人的第一時間形成應對策略。三、如何應對「眩暈」?眩暈這個屬性,絕大多數情況下是危機,但少數情況下卻是特殊的策略。我們先將它當做危機,有四種主要應對策略。3.1 應對策略:沉默。代表人物是拉普蘭德、槐琥、年。當面對粉碎攻堅者時,可以有效做到沉默他,不讓他敲暈我方幹員。
  • 2020考研大綱:中外教育史的重難點分析
    2020考研大綱:中外教育史的重難點分析由廣東研究生考試網考試快訊欄目由提供,更多關於2020考研大綱,中外教育史的重難點分析,廣東研究生考試快訊的內容,請關注廣東研究生考試頻道/廣東人事考試網!   2020考研大綱已於2019年7月8日由教育部發布。