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

從適配Oceanbase看分布式數(shù)據(jù)庫運維與傳統(tǒng)數(shù)據(jù)庫的差異

數(shù)據(jù)庫 其他數(shù)據(jù)庫
經(jīng)過這一年多與Oceanbase的深度接觸,我們找到了一種對復雜的多租戶分布式數(shù)據(jù)庫的運維監(jiān)控與故障定位的方法,Oceanbase專版的發(fā)布后,我們會邀請客戶一起來進行測試,并通過對用戶現(xiàn)場數(shù)據(jù)的分析,豐富故障模型,完善智能基線,并積累更多的運維知識工具。通過數(shù)年的積累,我想Oceanbase的運維知識積累會一步步的豐富起來。?

隨著OCEANBASE在金融、證券、運營商、能源等行業(yè)的應用越來越廣泛,針對OCEANBASE的運維支撐工具的需求也被越來越多的用戶提出來了。去年我們開始適配OB的動力來自于與一個金融行業(yè)用戶的交流,他們對我們的D-SMART支持Oracle的功能表示滿意,不過他們目前面臨了一些新的問題。那就是目前部分業(yè)務系統(tǒng)已經(jīng)從Oracle遷移到了Oceanbase,但是對于OB的運維,他們感到有些頭痛。系統(tǒng)不出問題的時候,或者不出大問題的時候,也不太需要運維人員介入,大部分故障場景會在短時間內(nèi)自愈。而系統(tǒng)出現(xiàn)一些較為嚴重的性能問題的時候,運維人員往往是束手無策的,甚至不知道故障可能會持續(xù)多長時間。

D-SMART支持OCEANBASE的適配工作已經(jīng)經(jīng)歷了一年多了,當時適配的版本是3.X,不過到了Oceanbase 4.2.1 GA的23年10月份,這個工作還沒有徹底完成。通過一個運維平臺,不斷的積累運維經(jīng)驗,構(gòu)建大量的自動化預警模型和分析工具,可以有效的增強對OB數(shù)據(jù)庫的運維支撐能力,整個智能化運維的框架是十分成熟的,研發(fā)團隊對Oceanbase的研究何跟蹤也有一兩年時間了。因此我們在去年年初開始立項針對OB進行適配的時候,原本以為這項工作會在3-4個月內(nèi)初步完成,然后去某個用戶處磨合。沒想到適配OCEANBASE遠比我們預料的復雜。分布式數(shù)據(jù)庫與集中式數(shù)據(jù)庫在很多地方都與集中式數(shù)據(jù)庫不同,從而導致運維管理方面的差異是十分巨大的。

首先是指標體系的不同,分布式數(shù)據(jù)庫的部署環(huán)境是一組服務器,數(shù)據(jù)庫實例也是由一組OBSERVER組成的多個分布式的服務組成。因此指標體系完全不同。對于集中式數(shù)據(jù)庫來說,我們可以關(guān)注某個指標,比如每秒CLOG數(shù)量。不過對于OB來說,這里就復雜了,因為每個OBSERVER都會有相關(guān)的指標。

圖片

在集中式數(shù)據(jù)庫中的一個指標,在分布式數(shù)據(jù)庫中可能會有很多值,分布式數(shù)據(jù)庫集群的節(jié)點數(shù)量越多,這個指標的值就越多。不僅如此,Oceanbase還支持多租戶,每個租戶都有獨立的指標,因此在一個Oceanbase數(shù)據(jù)庫中,某一個指標的值可能有幾十個甚至幾百上千個。我們不能僅僅從總值或者平均值去看問題,還要考慮值的均衡性問題和變化趨勢。因此運維監(jiān)控工具需要具備對一組值的處理能力。這涉及到了對D-SMART底層指標處理體系的改造與優(yōu)化。

圖片

前端界面上顯示的值也是要斟酌的,到底把哪個值放上去呢?最大值,平均值?如果放最大值有可能同一行上面的數(shù)據(jù)來自于多個不同的OBSERVER,數(shù)據(jù)時不一致的。

因為D-SMART最早設計指標體系的時候就學習了互聯(lián)網(wǎng)企業(yè)的經(jīng)驗,支持列表、表格等模式,因此只要在前端顯示與后端處理的時候適配一下就可以了,更大的問題還在后面。

第二個需要考慮的問題是多租戶的問題,Oceanbase是一個從底層到上層都支持多租戶的數(shù)據(jù)庫系統(tǒng)。不同的租戶之間有著較強的隔離。因此從運維的角度,我們?nèi)绾蝸砜创汉妥鈶裟兀繉τ谝粋€數(shù)據(jù)庫來說,從集群下鉆到租戶,再到某個OBSERVER,可能是我們從集中式數(shù)據(jù)庫沿用下來的思考方式。但是這種模式似乎會讓運維工具變得太復雜,讓運維人員很難掌握。通過思考,我們決定把集群和租戶都看成是一個獨立的運維對象。在現(xiàn)實的生產(chǎn)環(huán)境中,有些用戶對于Oceanbase的運維也是這樣的,集群有專門的人員維護,而不同的租戶交給不同的使用單位自己來運維。

因此我們?yōu)镺ceanBase設計了三種數(shù)據(jù)庫子類型:Oceanbase集群子類、Oceanbase MySQL租戶子類和Oceanbase Oracle租戶子類。如果僅僅以租戶的角度來看待Oceanbase這樣的多租戶數(shù)據(jù)庫系統(tǒng)還是比較簡單的,這個框架完全可以參考Oracle的PDB,事實上root租戶我們可以把它看成是Oracle的CDB,我們把root租戶看成是Oceanbase的集群,對于集群而言,我們更關(guān)注的是節(jié)點、資源(總體與可分配資源)、容量、網(wǎng)絡、高可用、故障等問題。而不需要去關(guān)注負載、并發(fā)等方面的問題。

Oceanbase數(shù)據(jù)庫的負載、并發(fā)、性能等方面的問題可以在租戶層面去關(guān)注。不過Oceanbase擁有MySQL和Oracle兩種兼容性租戶,這兩種兼容性租戶的核心代碼是有較大差異的,因此這兩種租戶在指標方面都不是拉齊的。比如等待事件只有Oracle租戶才有,某些MySQL租戶的指標在Oracle租戶中不見得有,因此我們無法對這兩種租戶采用相同的指標和健康模型。

第三個問題是Oceanbase自身的問題引發(fā)的,那就是Oceanbase不同大版本的兼容性問題。這是一個十分值得吐槽的問題,每次Oceanbase大版本升級,其系統(tǒng)視圖,指標體系,等待事件都會有較大的變化,運維工具必須做較大的調(diào)整。

圖片

第三個問題疊加第二個問題,讓Oceanbase的智能模型構(gòu)建也變得復雜了,考慮到目前Oceanbase的大多數(shù)用戶還是在使用3.x版本,因此我們必須對3.x版本進行支持。2.x版本的支持可能要往后放一放了,因為2.x和3.x版本的差異依然巨大。在這種情況下,健康模型要根據(jù)三種子類分別根據(jù)4.X/3.X版本進行個性化定制,目前通過7個模型來覆蓋這些版本。

3.x和4.x版本之間的差異遠遠比增加一倍的健康模型要復雜的多,指標體系中也存在了大量的不兼容的指標,甚至描述同一個問題的指標會出現(xiàn)2個,一個代表4.X版本,一個代表3.x版本,而二者無法完全兼容,因為含義并不一定完全一致,如果用同一個指標來表示,很容易產(chǎn)生誤解。

第四個問題是集群與服務器節(jié)點之間的拓撲關(guān)系問題。一套大型的Oceanbase數(shù)據(jù)庫可能由數(shù)十個甚至上百個節(jié)點組成,并且上面跑了數(shù)十個租戶,這種拓撲關(guān)系十分復雜。雖然租戶之間但是他們依然存在關(guān)聯(lián)關(guān)系,因為他們共享集群中的所有服務器。服務器出現(xiàn)故障或者性能問題,可能會導致集群和租戶出現(xiàn)出現(xiàn)問題。因此我們在運維Oceanbase的時候依然必須關(guān)注服務器的健康。但是把服務器如何被納入監(jiān)管呢?

圖片

最終我們的方案選擇了服務器在運維管理臺上隱身,通過集群拓撲入口來統(tǒng)一監(jiān)控集群所依賴的服務器的方案。服務器出現(xiàn)異常時,健康模型與故障模型會發(fā)現(xiàn)其問題并主動報警,但是服務器并不出現(xiàn)在數(shù)據(jù)實例的監(jiān)控清單里。不過在集群和租戶的集群拓撲里我們可以看到所有服務器的健康狀態(tài),如果需要,可以進行下鉆。采用這種方式后,當服務器沒有故障或者隱患時,我們可以不去關(guān)注服務器,只要關(guān)注租戶的健康,而當服務器存在隱患時,我們可以獲得告警,并且有入口可以去做診斷分析。

經(jīng)過這一年多與Oceanbase的深度接觸,我們找到了一種對復雜的多租戶分布式數(shù)據(jù)庫的運維監(jiān)控與故障定位的方法,Oceanbase專版的發(fā)布后,我們會邀請客戶一起來進行測試,并通過對用戶現(xiàn)場數(shù)據(jù)的分析,豐富故障模型,完善智能基線,并積累更多的運維知識工具。通過數(shù)年的積累,我想Oceanbase的運維知識積累會一步步的豐富起來。

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

2022-11-14 08:14:28

分布式數(shù)據(jù)庫運維

2023-11-14 08:24:59

性能Scylla系統(tǒng)架構(gòu)

2023-12-05 07:30:40

KlustronBa數(shù)據(jù)庫

2021-12-20 15:44:28

ShardingSph分布式數(shù)據(jù)庫開源

2023-07-28 07:56:45

分布式數(shù)據(jù)庫SQL

2024-03-11 08:57:02

國產(chǎn)數(shù)據(jù)庫證券

2023-07-31 08:27:55

分布式數(shù)據(jù)庫架構(gòu)

2023-11-27 08:33:42

2022-06-15 10:57:03

數(shù)據(jù)庫系統(tǒng)

2020-06-23 09:35:13

分布式數(shù)據(jù)庫網(wǎng)絡

2023-03-07 09:49:04

分布式數(shù)據(jù)庫

2024-09-09 09:19:57

2022-08-01 18:33:45

關(guān)系型數(shù)據(jù)庫大數(shù)據(jù)

2022-03-10 06:36:59

分布式數(shù)據(jù)庫排序

2015-10-16 18:03:25

Docker分布式CoreOS

2011-05-19 09:18:48

分布式數(shù)據(jù)庫

2022-06-09 10:19:10

分布式數(shù)據(jù)庫

2010-06-29 16:41:24

SQL Server分

2017-05-02 21:05:01

分布式數(shù)據(jù)庫細說

2019-06-26 09:43:13

數(shù)據(jù)庫分布式技術(shù)
點贊
收藏

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