曹老道聊大資料雲端計算時代的DBA破繭

caohongfeng666發表於2020-12-29

曹老道聊大資料雲端計算時代的DBA破繭


        社會變化如大潮般一浪一浪的向前推進,沖刷著已有格局。然,對於熱愛工作、熱愛生活的我們來說,我們的心潮也要浮沉隨浪記今朝,要保有進步之心,才能在歲月長河裡安然盪漾。可有攬二喬於東南兮,樂朝夕之與共之暢快。

       說資料庫行業,不得不提Oracle當年的一枝獨秀地位,目前其影響力依然是一座高大的標杆。彼時的DBA憑藉對Oracle體系結構的瞭解和管理經驗的積累,一杯咖啡,風輕雲淡盡在掌握。學習範疇比較明確:Oracle手冊學習,來純熟日常運維操作;大量儲存過程的編寫,鍛鍊SQL邏輯能力;基於cost花銷的分析,工於效能最佳化細節;CRS各個服務的依賴關係和asm檔案系統的深入分析,掌握RAC各元件的執行機制。

      隨著最流行資料庫MySQL的走紅,MySQL已然是資料庫從業人員的必備要求。默然回首過往感慨頗多,深有桃李春風一杯酒,江湖夜雨十年燈之感。然,世間唯一不變的就是變化,所以我們就深入研究MySQL,層層褪掉其外衣,細看其究竟。

      接下來,我們看看DBA的幾個方向領域大概涉及的專業技能儲備。




1. 常規方向,傳統DBA

(1). 瞭解體系結構:

元件的構成,Server層和引擎層的主要結構和互動;

常規配置最佳化,比如各種快取引數、複製引數、連線引數等等。

(2). 常規處理過程的理解比較細化:

主從同步過程,邏輯和物理備份過程,session訪問過程;

(3). 有不錯的複雜SQL最佳化分析能力

索引、聚合、關聯等的最佳化處理

(4).常規操作運維自動化

比如授權、修改表結構、修改資料,新增監控,管理備份,控制高可用,分析慢SQL等等。


此象限在devops、aiops的推動下,日常工作明顯減少。同時也要清楚的看到,在面對複雜問題時,自動化、智慧化尚在不斷髮展階段,有些時候達不到預期效果,導致的現象是簡單的問題更簡單了,複雜的問題也更加複雜了。複雜場景的處理結果,很多時候差強人意。這種內外交困的狀態令DBA很頭疼,但我們要擁抱變化迎接創新,縱觀古今中外歷朝歷代的變法圖強,無一例外的都經歷過黎明前最黑暗的時刻。隨後到來的將是陽光明媚的一天,再之後又一波黑夜降臨。週而復始,迴圈往復。


2. 橫向擴充,大資料DBA&解決方案架構師

        資料寫入場景的複雜化,內容形式的多樣化,以及大資料時代資料量級的逐年飛速跨越。各種因素的疊加,致使單一種類的資料庫難以支撐業務的高效平穩執行。要求我們放眼資料庫的生態,比如關注快取,關注nosql,關注分散式中介軟體,關注newsql資料庫,關注時序資料庫,關注一致性元件zk、etcd等等,對業務執行的整體場景有個宏觀認識。

       在雲技術時代,我們要清楚雲技術的一些知識範疇,容器原理、sdn軟體定義網路、共享儲存系統等等,目前來看有競爭力的雲產品,大多是幾個領域組合打造出來的。


如下列舉一些常見的擴充領域:

瞭解上游快取的對外資料結構以及其底層結構;

一致性元件etcd raft過程,本身資料庫boltdb,類比zk;

rocksdb的系統結構,lsm結構儲存管理、索引結構,布隆過濾,逐層merge過程,記憶體跳錶結構;

容器作業系統的構建過程和原理;

SDN的網路實現過程,資料包結構,和物理網路的互動;

K8S生態,資源型別、事件管理、服務訪問鏈路、prometheus監控體系;

NewSQL、NoSQL、時序資料庫,全文檢索ES

常規關係型Oracle、SQLServer,PostgreSQL


3. 縱深方向,資料庫核心方向

資料庫的內部實現的脈絡,要越捋越細緻,透過原始碼看細節處理。


(1). 資料儲存結構

資料行、資料頁的內容和格式,同步到檔案的過程。

(2). redo結構

日誌生成、結構、寫入過程,恢復時日誌的作用過程。


(3). undo結構

  mvcc實現,回滾過程,物理結構管理。


(4). 例項執行結構體

db buffer,log buffer,change buffer,double write buffer,data dictionary


(5). 資料庫程式在OS核心的結構形態

檔案訪問的管理,記憶體分配管理


(6). io呼叫過程

線性預讀、非同步刷髒等操作,資料庫內部執行緒和io程式的互動


MySQL 一些結構的脈絡梳理:  

訪問鑑權,安全認證;

OS程式管理:task_t,vm_area_t;

檔案描述符,開啟檔案表,inode表;

net buffer;

open table;

table hash,lock hash,MEM_ROOT;

儲存邏輯結構:space ID、offset,file header、segment、extent,page director、slots;

buffer訪問和管理結構:lru list,page hash;buf_pool_t, buf_block_t,buf_page_t;

日誌過程:mtr、lock,redo buffer,logfile,binlog;

刷髒flush list,change buffer,db file;

線性預讀,非同步刷髒,O_DIRECT,OS I/O


4. 資料庫技術專家

內外兼修,文武之道。資料庫要把控整體是綜合複雜的,既要求專業知識既要有深度又要有廣度。


5. 非一線技術方向

DBA作為IT技術棧的中間位置,上到研發、下到運維,是較為綜合類職位。因此其職業發展空間很大。

資料庫產品經理,強調技術+產品能力。

專案經理,多在工作中因專案而轉型,統籌管理專案。

技術管理者,由技術崗位逐步過渡到管理崗位。


       樹欲靜而風不止,我們不能控制外界環境,但可以壯大和深扎自己的技術根基,亦可從容抵禦風暴。在5G甚至不遠的6G時代,隨著資料量指數形式的飛躍增長,要求資料庫從業人員具備大資料DBA的分析管控能力。國際形勢各種技術制約,強化了國家對基礎資訊科技晶片、作業系統、資料庫的重視,資料庫核心研究人才非常緊缺的,要求我們打造實打實的好資料庫。   

       無論國家戰略,還是行業趨勢,都要求有核心層面的技術。資料庫領域的深度專研人才,還是很缺失的。底層資料庫自研的或打造或改造,上層資料自治的功能實現的可靠性,同樣都非常需要資料庫核心機制的深刻了解。

        當前IT科技領域,已經不允許我們只弄形式上的包裝。四輪車扣個殼子,就號稱準備進軍豪華跑車市場,還鼓吹要大殺四方。照著葫蘆不明就裡,就弄了一大堆瓢,儼然是做瓢專業戶,嚴重浪費資源和時間成本。       

       人生自古,多留有一份真,一腔熱血,搏於業而精於業。堅持與紮實,心若不改,必然揚眉吐氣!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25380026/viewspace-2746394/,如需轉載,請註明出處,否則將追究法律責任。

相關文章