摘要:分享的初衷 這個是參考了朱赟[yūn]的一段話儒溉,我覺得已經(jīng)很透徹形象了毅该,畢竟在短短的幾十分鐘里青伤,你只能得到一些思想上的建議和思路梦谜,落到實處還是得靠自己丘跌。而參考和借鑒的過程也是自己修行的過程。第二句我關(guān)于堅持唁桩,有的同學(xué)說堅持是習(xí)慣碍岔,有的說是毅力,本質(zhì)上來說朵夏,還是堅持的態(tài)度,是堅持做一件事情榆纽,還是堅持把一件事情做好仰猖,兩者聽起來相似,實則有很大的差別奈籽。
分享的初衷
這個是參考了朱赟[yūn]的一段話饥侵,我覺得已經(jīng)很透徹形象了,畢竟在短短的幾十分鐘里衣屏,你只能得到一些思想上的建議和思路躏升,落到實處還是得靠自己。而參考和借鑒的過程也是自己修行的過程狼忱。第二句我關(guān)于堅持膨疏,有的同學(xué)說堅持是習(xí)慣,有的說是毅力钻弄,本質(zhì)上來說佃却,還是堅持的態(tài)度,是堅持做一件事情窘俺,還是堅持把一件事情做好饲帅,兩者聽起來相似,實則有很大的差別。
分享思路
我分了幾個層面來做了一些解讀灶泵。在本文中會抽取重點列出一些來育八。
Oracle和MySQL的學(xué)習(xí)周期
其實正如我開篇所說,目前國內(nèi)的使用有兩個比較明顯的誤區(qū)赦邻,一個是把Oracle當(dāng)做MySQL用髓棋,主要表現(xiàn)就是把Oracle當(dāng)做免費版來用;另外一個是把MySQL當(dāng)做Oracle來用深纲,一些復(fù)雜的查詢仲锄,表關(guān)聯(lián)放在MySQL里還想達到Oracle的性能標(biāo)準(zhǔn),這個本身也是不合適的湃鹊。找到自己最好的業(yè)務(wù)場景非常關(guān)鍵儒喊,不是為了上一個技術(shù)而用一個技術(shù),結(jié)合不好币呵,后期出了問題就很尷尬怀愧,本質(zhì)來說不是某個技術(shù)方案不好,而是你沒用好余赢。
對于Oracle DBA來說芯义,學(xué)習(xí)MySQL的話學(xué)習(xí)周期會相對短一些,入門也比較快妻柒,但是如果要深入學(xué)習(xí)MySQL扛拨,還是很難的,因為有很多方面都需要深入理解举塔,深入的層次是在源碼級绑警,可以做定制,而對于MySQL DBA來說火央渣,學(xué)習(xí)Oracle的周期會比較長计盒,因為很多方面是MySQL不會關(guān)注,或者沒有的功能芽丹,如果要深入學(xué)習(xí)Oracle北启,還是得有很長時間的積累,Oracle的體系太大拔第,備份恢復(fù)咕村,性能優(yōu)化,數(shù)據(jù)遷移能夠抓住幾個面搞到精通就很不容易了蚊俺,深度進階的層級基本是到了調(diào)試培廓,內(nèi)核的程度。這方面國外其實做得很不錯春叫,氛圍非常濃厚肩钠。
數(shù)據(jù)庫技術(shù)發(fā)展現(xiàn)狀
我有幾張阿里云幸運券分享給你泣港,用券購買或者升級阿里云相應(yīng)產(chǎn)品會有特惠驚喜哦!把想要買的產(chǎn)品的幸運券都領(lǐng)走吧价匠!快下手当纱,馬上就要搶光了。
對于Oracle和MySQL踩窖,還是需要了解下他們目前的位置坡氯,最新的DB-Engines的報告(DB-Engines最新11月數(shù)據(jù)庫排名)顯示前三甲穩(wěn)穩(wěn)的是關(guān)系型數(shù)據(jù)庫,而MySQL是作為開源數(shù)據(jù)庫的第一陣營出現(xiàn)的洋腮,當(dāng)然這個排行榜不要過度解讀箫柳,本身只是一個流行度的標(biāo)識,就是你在搜索引擎中搜索的關(guān)鍵字啥供,反映的一個熱度而已悯恍,絕非市場占有率。
Oracle目前最新的版本是開放的12.2.0.1.0伙狐,而12.2.0.2.0即是下一個版本18c.當(dāng)前的版本中的變化更多是在CDB和IMO方面涮毫。尤其是在CDB部分,自己逼著自己琢磨了一段時間贷屎,還沉淀了一些經(jīng)驗和大家做了分享罢防,而18c的亮點就在于自治了,本質(zhì)上自治和自動化還是有一定的區(qū)別唉侄,可以簡單理解自治是自動化的延伸咒吐。而MySQL的改進一個重大標(biāo)志是在去年年底的MGR GA,本身從優(yōu)化器層面和復(fù)制方面,MySQL是卯足了勁属划,現(xiàn)在MySQL 8.0的更新速度極快渤滞,到目前最新的是8.0.3,5.7版本是5.7.20
數(shù)據(jù)庫版本規(guī)劃
想起來容易但是落實起來難榴嗅,因為有很多的因素需要考慮,而不是簡單的找一個認(rèn)為好的陶舞。比如MySQL的版本選型嗽测,到底用哪一個版本,5.5太舊肿孵,5.6相比5.7完善唠粥,5.7相對來說更加成熟,8.0又太新停做,那么問題來了晤愧,5.7的版本該選擇5.7的具體哪個版本呢,這里就有很多的門道了蛉腌,最后我們選擇的是5.7.16作為基線版本官份,而分支選擇的是也有需要的考慮因素只厘,細節(jié)也很多,原則就是從把正面舅巷,反面的考慮點都列出來羔味,綜合評估。
對于Oracle的版本規(guī)劃整體而言要清晰很多钠右,目前的主流業(yè)務(wù)還是11gR2為主赋元,12cR1和12cR2有一個較長的時間間隔,很多DBA的印象中R2是穩(wěn)定版本已根深蒂固飒房,要改變這種思維估計在18c之后才會有大的改觀搁凸,毫無疑問,軟件選型目前都基本是企業(yè)版的狠毯。
Oracle與MySQL的高可用方案
關(guān)于高可用方案护糖,其實是一個永恒的熱點話題,就是因為這是一把雙刃劍垃你,如果保證數(shù)據(jù)不丟失椅文,如果保證業(yè)務(wù)的可持續(xù)性,要做出一個100%完美的方案是一個理想狀態(tài)惜颇,但是至少可以朝著這個方向努力皆刺。
Oracle的數(shù)據(jù)架構(gòu)是集中,本質(zhì)上是集成共享凌摄,統(tǒng)一訪問羡蛾,能夠達到數(shù)據(jù)強一致性,而MySQL的數(shù)據(jù)架構(gòu)是復(fù)制锨亏,本質(zhì)上是多個數(shù)據(jù)的副本痴怨,在數(shù)據(jù)的一致性方面還是有很多事情要做,或者說完善器予。MySQL的架構(gòu)方式明顯會限制它的集群規(guī)模浪藻,比如MGR是硬性限制是9個節(jié)點,而Oracle擴展節(jié)點來說還是相對容易的乾翔,因為本質(zhì)數(shù)據(jù)是同一份爱葵,共享存儲。
阿里的IOE架構(gòu)陪伴他們走過了業(yè)務(wù)發(fā)展的黃金時期反浓,也是在達到資源的使用瓶頸之后萌丈,他們?nèi)鎿肀Я朔植际椒桨浮脑缙谑褂肕ySQL到后期再次引入MySQL雷则,出發(fā)點已然不同辆雾。MySQL的高可用方案我列舉的是MHA,其實還有很多其他的方案,但是MHA目前是最流行的月劈,經(jīng)過的考驗也最多度迂。