亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

數(shù)據(jù)庫運維人員DBA工作總結

 更新時間:2023年10月21日 09:30:28   投稿:yin  
中大型公司都會有一些專攻數(shù)據(jù)庫方面的牛人,專門的職位叫做DBA,對于公司的DBA他們的價值不可小覷,只要是數(shù)據(jù)庫,就有吞吐量的限制,數(shù)據(jù)庫訪問瓶頸便是自然流量增長或者流量突增造成的

創(chuàng)業(yè)公司或者小中型公司中沒有專職的數(shù)據(jù)庫運維人員,一般由技術leader或者運維人員來維護,中大型公司都會有一些專攻數(shù)據(jù)庫方面的牛人,專門的職位叫做DBA,對于公司的DBA他們的價值不可小覷,公司只要稍具規(guī)模,就必須做好數(shù)據(jù)庫的建設和維護工作,這也體現(xiàn)了DBA的重要性,也意味著DBA責任重大。

一個公司的數(shù)據(jù)庫如果從來不出問題,那一定是因為流量小,或者沒有業(yè)務量,出問題也是學習的最好機會,如何在出現(xiàn)問題時候用最快的速度修復,這些都至關重要。

1、關于數(shù)據(jù)庫最常見的問題

1.1、數(shù)據(jù)庫選型

對于大部分技術人員來說,公司使用哪一個數(shù)據(jù)庫,基本上無須你來決定,在加入一個公司的時候,大部分的技術選型早已經確定,除非是剛創(chuàng)業(yè)公司你是公司的技術負責人或者總監(jiān),可能會確定技術選型。尤其是數(shù)據(jù)庫,一旦選型再遷移的成本(學習、試錯)非常大。因此除非是技術有顛覆性的有事或者目前有難以攻克的技術問題,否則很少有公司會費時費力的做大的遷移。

其實無論是技術選型還是技術轉型,有一個不能忽視的因素就是,技術人員能否駕馭這種技術,或者說是技術人員和技術領導熟悉這種技術。

因為每個公司的業(yè)務不同,數(shù)據(jù)庫系統(tǒng)的應用場景也不一樣,每個公司針對不同的業(yè)務場景可能會使用多種數(shù)據(jù)庫,所以選型也不相同,但是可以肯定的是,沒有那個系統(tǒng)一定是最好的。

例如:
支付相關的業(yè)務需要強事務,強一致性支持的:開源的Mysql、PostgreSQL、新的分布式TiDB
,付費的oracle等
日志分析業(yè)務搜索相關的:Elasticsearch
緩存、秒殺相關:Redis、Cuchbase、Memcached
大數(shù)據(jù)分析:Hive、Cassandra、clickhouse
文檔型數(shù)據(jù)庫:Mongodb
圖數(shù)據(jù)庫:TigerGraph、Neo4j、Amazon Neptune、JanusGraph

這也就是為什么很多公司選擇多個數(shù)據(jù)庫并存,并通過不同的技術和架構給予相關的業(yè)務場景最優(yōu)的支持了,一旦選型失誤,就會有頻繁的問題出現(xiàn),直接影響到用戶體驗。

所有的技術選型和設計,都有它的應用場景,這也就是為什么很多公司選擇多個數(shù)據(jù)庫并存,并通過不同的技術和架構給予相關的業(yè)務場景最優(yōu)的支持了,一旦選型失誤,就會有頻繁的問題出現(xiàn),直接影響到用戶體驗。

1.2、數(shù)據(jù)庫相關架構

一說到架構大家一般會想到:

單實例:很容易理解,單庫概念.
垂直分組:單實例添加副本,如Mysql主從同步,讀寫分離,Mongodb的副本集、讀寫分離.
水平分片:比如寫一本書,非常厚上萬頁,為了方便閱,讀作者分成冊(10小本)如Tidb分布式關系型數(shù)據(jù),redis的cluster,Mongodb的分片等.

架構還包括數(shù)據(jù)庫上層的緩存系統(tǒng)設計、程序語言對數(shù)據(jù)庫連接的處理、代理層功能,以及和二級制日志相關的數(shù)據(jù)管道的搭建,其中包括數(shù)據(jù)系統(tǒng)的分區(qū)、備份等設計。

像以前,很多公司把所有的數(shù)據(jù)都放在一個數(shù)據(jù)庫里面,(我們最早也是這樣,全部放在oracle數(shù)據(jù)庫,oracle數(shù)據(jù)達到8TB,數(shù)據(jù)庫最大連接數(shù)3000),隨著業(yè)務不斷增長,開始出現(xiàn)各種各樣的問題,因為各種連接池和吞吐量的限制,基本沒有辦法進行擴展。開始設計數(shù)據(jù)標的拆分,將相關的數(shù)據(jù)放在一起,不那么相關聯(lián)的放在另一個庫,甚至放在了文檔型數(shù)據(jù)庫Mongodb中,逐漸緩解了可擴展性的問題。
隨著微服務的流行,數(shù)據(jù)庫也要進行拆分,無業(yè)務關聯(lián)的可以拆成不同的盡可能小的數(shù)據(jù)庫,程序可以通過dubbo接口去調用,相互獨立,相互不影響

1.3、數(shù)據(jù)庫瓶頸

配置過Nginx服務的小伙伴們都知道,當前端web服務流量增大時,只需要增加nginx的實例修改配置即可,但是數(shù)據(jù)庫出現(xiàn)瓶頸時可不一定直接添加實例就能解決的。

只要是數(shù)據(jù)庫,就有吞吐量的限制,數(shù)據(jù)庫訪問瓶頸便是自然流量增長或者流量突增造成的,只要業(yè)務增長,總有一天數(shù)據(jù)庫訪問會達到一個上線。在這個問題到來之前,你需要進行各種垂直拆分或者水平擴展來提升整個上限(要做的工作很多的),或者你可以通過緩存如(CDN、nginx、redis)或者其他機制進行分流。

例如流量突然暴增:可能是攻擊,也可能是進行了推廣活動,比如限時搶購、秒殺這樣的
攻擊我們需要提前做一些壓測或者訪問方面的緩存能降低數(shù)據(jù)庫的壓力。
推廣活動我們需要和業(yè)務產品運營溝通提前預案。
索引:不要過度依賴索引,無效的索引可能會更糟糕
事務:關聯(lián)事務、分布式事務,盡量拆成小的事務執(zhí)行

1.4、遇到的人為錯誤

再好的系統(tǒng),操作方式不對也是枉然,更何況并不是所有額工程師都是數(shù)據(jù)庫專家,所有人為的錯誤是最常出現(xiàn)的問題。

1.4.1、人為錯誤可以分為兩種:

操作數(shù)據(jù)庫時候犯的錯
執(zhí)行程序或者腳本犯的錯

操作數(shù)據(jù)庫時犯錯的概率比較低,但是影響卻很大,幾乎所有公司都會有類似的傳奇事件,可以歸納這幾類;

1.4.1.1、 有意無意的刪除數(shù)據(jù)庫核心數(shù)據(jù):

文章開始的例子也寫了,故意刪除公司數(shù)據(jù),對公司會造成不可估量經濟損失,而且也會斷送自己的工程師職業(yè)生涯,也會面臨牢獄之災。

操作數(shù)據(jù)庫時候失誤操作,要盡快恢復數(shù)據(jù),盡可能挽回損失。很久之前,凌晨12點多操作數(shù)據(jù)庫(IT行業(yè)加班很普遍),進行刪除測試數(shù)據(jù)庫時候,不了心連上了線上數(shù)據(jù)庫,進行了刪除操作,執(zhí)行完成就收到報警信息,瞬間頭腦清晰。慶幸的是恢復的及時,損失不太大,之后操作都改為早上5點執(zhí)行,有異常能及時發(fā)現(xiàn),(晚上操作完了有可能就去睡覺 了)。

1.4.1.2、 修改表結構誤操作:

工程師上線新版本,代碼中添加修改表結構操作,導致數(shù)據(jù)庫被鎖長達幾個小時,該業(yè)務線業(yè)務幾個小時出現(xiàn)服務異常。
工程師修改表結構不加where條件等操作,導致該表中數(shù)據(jù)被覆蓋掉。

1.4.1.3、索引問題誤操作:

在java的某個底層框架中,在初始化時候,默認有添加索引的操作,再一次預發(fā)布,上線測試中,導致線上數(shù)據(jù)庫直接被鎖數(shù)小時(環(huán)境隔離的重要性)。
某一個程序或者腳本中查詢沒有索引的數(shù)據(jù),導致全表掃描,加上一些接口相互調用訪問,經常會出現(xiàn)數(shù)據(jù)庫的所有連接被占用的情況,導致查詢沒有辦法執(zhí)行。

1.4.1.4、物理誤操作:

機房斷電、斷網,記得第一份工作時候,在公司機房上架、下架服務器,拔錯電源插頭,導致測試環(huán)境服務不可用(辦公室機房放測試開發(fā)環(huán)境,正式環(huán)境在運營商機房托管),雖然沒有影響線上業(yè)務,但是這件事時刻銘記在心。

1.5、數(shù)據(jù)安全

數(shù)據(jù)安全包括三個方面也就是:CIA(Confidentiality, Integrity, Availability)
(1)保密性:不允許未經授權的用戶存取信息;
(2)完整性:只允許被授權的用戶修改數(shù)據(jù);
(3)可用性:已授權的用戶可以對數(shù)據(jù)進行存取。

物理安全:確保存儲物理設備安全,別被雷擊、盜竊了
防火墻:對數(shù)據(jù)庫訪問進行限制,例如允許那個路由訪問數(shù)據(jù)庫的端口
運維安全:對運維行為進行流程化管理,提供事前審批、事中控制、事后審計、定期報表等功能,將審批、控制和追責有效結合,避免內部運維人員的惡意操作和誤操作行為
數(shù)據(jù)庫審計:實時記錄網絡上的數(shù)據(jù)庫活動,對數(shù)據(jù)庫操作進行細粒度審計
數(shù)據(jù)加密:從技術角度對數(shù)據(jù)進行加密,通過數(shù)據(jù)加密能夠有效防止明文存儲引起的數(shù)據(jù)內部泄密、高權限用戶的數(shù)據(jù)竊取,從根源上防止敏感數(shù)據(jù)泄漏
漏洞掃描:通過數(shù)據(jù)庫和代碼進行漏洞掃描能夠有效的評估數(shù)據(jù)庫系統(tǒng)的安全漏洞和威脅并提供修復建議
數(shù)據(jù)備份:在數(shù)據(jù)庫出現(xiàn)異常情況,可以及時恢復,誤刪除,機房斷電導致數(shù)據(jù)損壞

2、新手入行應該先學習哪個數(shù)據(jù)庫?

推薦以開源MySQL為開始(80%~90%互聯(lián)網企業(yè)都在用,薪資相較OracleDBA要高一些(資本集中),上手相對容易),mysql熟悉以后,任何的關系型數(shù)據(jù)庫系統(tǒng)都是相通的,掌握了MySQL,其他的關系型數(shù)據(jù)庫都不在話下 ,非關系型數(shù)據(jù)庫相對關系型都比較簡單,而且部分理念也相通。

3、持續(xù)學習

其實不止是DBA,整個運維體系都在做轉變,傳統(tǒng)的玩法效率低、重復工作多,已經不適用互聯(lián)網公司高速度、快節(jié)奏的發(fā)展了,所以說DBA工作內容需要轉變,思想也需要轉變,應該向著如何快速交付、提高數(shù)據(jù)庫整體穩(wěn)定性、高效率運維 、打造適合更多適合業(yè)務需要的數(shù)據(jù)庫產品方案,甚至給研發(fā)輸出數(shù)據(jù)架構方案等這些方面發(fā)展。

4、數(shù)據(jù)庫前沿技術

例如DB自動化管理平臺
主機管理:主機增刪改、主機資源(cpu、disk、men)
實例管理:實例增刪改、實例主從切換
審計管理:sql審核、sql回滾
日志管理:binlog、慢查詢
任務管理:定時任務
日常維護:批量sql執(zhí)行、配置修改、自動擴容

到此這篇關于數(shù)據(jù)庫運維人員DBA工作總結的文章就介紹到這了,更多相關數(shù)據(jù)庫運維工作總結內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論