怎么成為年薪30W+的數(shù)據(jù)庫工程師?
數(shù)據(jù)庫工程師(DBA),加班強度不大,并且隨著年齡和工作經(jīng)驗增加、越老越吃香,是IT行業(yè)薪酬最高的十大職業(yè)之一。
甲方單位(一般是國企和大型私企)不但需要自己招聘對應(yīng)的數(shù)據(jù)庫運維管理崗(DBA)、數(shù)據(jù)庫開發(fā)崗等,同時還需要乙方數(shù)據(jù)庫服務(wù)廠家支持。
數(shù)據(jù)庫開發(fā)工程師的主要職責(zé)是設(shè)計和開發(fā)數(shù)據(jù)庫管理系統(tǒng)和數(shù)據(jù)庫應(yīng)用軟件系統(tǒng),側(cè)重于軟件研發(fā);
數(shù)據(jù)庫管理(DBA)就是管理數(shù)據(jù)庫系統(tǒng)的人員,屬于IT運維工程師的一個分支,屬于高端運維崗位,主要負責(zé)業(yè)務(wù)數(shù)據(jù)庫從設(shè)計、測試、部署交付、管理的全生命周期管理。核心目標是保證數(shù)據(jù)庫管理系統(tǒng)的穩(wěn)定性、安全性、完整性和高性能,側(cè)重于運維管理。

全球500強公司有90%都在使用Oracle; 中國大型國有企業(yè)99%以上使用Oracle為主MySQL/NoSQL為輔; 中國互聯(lián)網(wǎng)企業(yè)95%以上使用MySQL為主Oracle/NoSQL為輔。
那么什么是數(shù)據(jù)庫?到底怎么學(xué)?入行有什么門檻呢?

從數(shù)據(jù)庫技術(shù)發(fā)展至今,數(shù)據(jù)庫產(chǎn)品百花齊放,不同的產(chǎn)品用于不同的應(yīng)用場景,因此數(shù)據(jù)庫類別也比較多,分類方式也不一樣,通常有以下幾種分類方式:
按業(yè)務(wù)類型
按關(guān)系模型
按運行架構(gòu)
按存儲方式
一、按業(yè)務(wù)應(yīng)用類型分類
1) OLTP(聯(lián)機事務(wù)處理)
OLTP是傳統(tǒng)關(guān)系型數(shù)據(jù)庫的主要應(yīng)用,其主要面向基本的、日常事務(wù)的增/刪/改/查操作,如銀行交易、消費等業(yè)務(wù)。
OLTP的特點:
實時性要求高
并發(fā)性要求高
頻繁的增刪改操作
查詢的數(shù)據(jù)量不是很大
對事務(wù)的完整性與安全性要求非常高
2) OLAP(聯(lián)機分析處理)
OLAP是數(shù)據(jù)倉庫系統(tǒng)的主要應(yīng)用,支持復(fù)雜的分析操作,側(cè)重決策支持,并且提供直觀易懂的查詢結(jié)果,如大數(shù)據(jù)分析,報表,可視化等場景。
OLAP的特點:
數(shù)據(jù)量大
并發(fā)性低
實時性要求不高
復(fù)雜查詢?yōu)橹?/span>
3) HTAP(混合事務(wù)分析處理)
HTAP混合事務(wù)分析處理(OLTP+OLAP),既可以應(yīng)用于事務(wù)型數(shù)據(jù)庫場景,又可以應(yīng)用于分析型數(shù)據(jù)庫場景,實現(xiàn)實時業(yè)務(wù)決策。
二、按關(guān)系模型分類
1) 關(guān)系式數(shù)據(jù)庫(SQL)
高度組織化結(jié)構(gòu)化數(shù)據(jù)
結(jié)構(gòu)化查詢語言(SQL)
數(shù)據(jù)和關(guān)系都存儲在單獨的表中
數(shù)據(jù)操縱語言,數(shù)據(jù)定義語言
事務(wù)嚴格的一致性(ACID:原子性、一致性、隔離性、持久性)
隨著數(shù)據(jù)庫的增大而急劇下降
2) 非關(guān)系式數(shù)據(jù)庫(NoSQL)
代表著不僅僅是SQL
沒有聲明性查詢語言
沒有預(yù)定義的模式
鍵 - 值對存儲,列存儲,文檔存儲,圖形數(shù)據(jù)庫
最終一致性,而非ACID屬性
非結(jié)構(gòu)化和不可預(yù)知的數(shù)據(jù)
CAP定理(一致性、可用性、分區(qū)容忍性,3個不可兼得)
高性能,高可用性和可伸縮性
3) 新式關(guān)系型數(shù)據(jù)庫(NewSQL)
結(jié)合SQL和NoSQL中最好的部分,將SQL的ACID保證與NoSQL的可擴展性和高性能相結(jié)合。
三、按運行架構(gòu)分類
1) 集中式數(shù)據(jù)庫
部署結(jié)構(gòu)簡單
事務(wù)一致性高
數(shù)據(jù)容易備份
數(shù)據(jù)共享且集中管理,擴展性差
服務(wù)器數(shù)量要求少,但配置要求高
服務(wù)器資源有限,并發(fā)大時會響應(yīng)速度變慢
2) 分布式數(shù)據(jù)庫
需要配置多臺主機,每臺機器都能存儲和處理數(shù)據(jù),數(shù)據(jù)分散保存
擴展性極佳,很容易增加系統(tǒng)的處理和存儲能力
處理能力極強,龐大的計算任務(wù)可在各主機并行地處理
必須引入一定的冗余計算機制,才能防止數(shù)據(jù)異常
事務(wù)一致性安全根據(jù)不同產(chǎn)品而論
四、按存儲方式分類
1) 行存儲
數(shù)據(jù)是按照行數(shù)據(jù)為基礎(chǔ)邏輯存儲單元進行存儲的,一行中的數(shù)據(jù)在存儲介質(zhì)中以連續(xù)存儲形式存在。
行存儲特點:
數(shù)據(jù)是按行存儲的,行存儲的寫入是一次性完成,消耗的時間比列存儲少,并且能夠保證數(shù)據(jù)的完整性,缺點是數(shù)據(jù)讀取過程中會產(chǎn)生冗余數(shù)據(jù)。
沒有索引的查詢會使用大量I/O,可通過索引加快查詢效率,但建立索引和物化視圖需要花費成本高,面對大量的查詢需求,數(shù)據(jù)庫必須被大量讀取才能滿足需求。

2) 列存儲
數(shù)據(jù)是按照列為基礎(chǔ)的邏輯存儲單元進行存儲的,一列中的數(shù)據(jù)在存儲介質(zhì)中以連續(xù)存儲形式存在。
列存儲特點:
數(shù)據(jù)按列存儲,即每一列單獨存放,數(shù)據(jù)即索引。
在寫入效率、保證數(shù)據(jù)完整性上都不如行存儲,它的優(yōu)勢是在每次讀取只訪問查詢涉及的列,不會產(chǎn)生冗余數(shù)據(jù),可以大量降低系統(tǒng)I/O。
每一列由一個線程來處理,即查詢的并發(fā)處理性能高,有多少CPU就能用多少CPU。
每一列數(shù)據(jù)類型一致,數(shù)據(jù)特征相似,可以高效壓縮,提升查詢速度。
Oracle是甲骨文公司的數(shù)據(jù)庫產(chǎn)品,數(shù)據(jù)庫市場排名第一! 甲骨文1989年正式進入中國市場,在中國發(fā)展30年。 甲骨文在2013年已超越 IBM ,成為繼 Microsoft 后全球第二大軟件公司。 甲骨文公司在2010年左右先后收購Sun、Java、MySQL、GoldenGate。 Oracle適用各類大中小環(huán)境,應(yīng)用于各行各業(yè),是一個非常典型的關(guān)系數(shù)據(jù)庫。 Oracle具體結(jié)構(gòu)嚴謹、安全、高速、穩(wěn)定、高可用、高性能、復(fù)雜計算特性。 Oracle在交易事務(wù)、統(tǒng)計分析、數(shù)據(jù)挖掘等方向非常強大。 Oracle屬于創(chuàng)一代+高富帥
MySQL是一個開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),早期由SUN公司收購,后面被甲骨文Oracle公司收購。 MySQL體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點MySQL的高并發(fā)存取能力并不比大型數(shù)據(jù)庫差,同時企業(yè)版價格便宜,安裝使用簡便快捷,深受廣大互聯(lián)網(wǎng)公司的喜愛。 MySQL數(shù)據(jù)庫在互聯(lián)網(wǎng)行業(yè)排名第一,互聯(lián)網(wǎng)的爆發(fā)成就了MySQL,LAMP架構(gòu)風(fēng)靡天下。 最主流的三大MySQL版本:MySQL 、MariaDB、Percona Server MySQL屬于典型的屌絲創(chuàng)業(yè)青年。

51CTO直播訓(xùn)練營





