首頁>Club>
本人大四男吊,有MySQL,Oracle基礎,聽說Oracle跟MySQL 今夕二八開,即佔80% 市場份額的20% 大型網際網路公司用的是Oracle,提供精確資料雲服務端;20% 市場份額80% 中小型網際網路公司依賴於MySQL,物美價廉還開源。直覺告訴我要學Oracle,理由是中小型網際網路未來會趨於統一,形成三分天下格局(三國迷),即大企業,大企業 = Oracle,求大神指點迷津毀我三觀。
22
回覆列表
  • 1 # java架構設計

    從題主的題目來看,所謂的專精是要從事DBA方向的工作?

    所以有兩種可能:

    從事DBA工作;從事軟體開發工作;從事DBA工作

    如果是從事DBA工作,那麼你是需要專精Oracle

    DBA需要去學Oracle,DB2這些大型的資料庫,專精其實談不上,誰也不敢輕易說我學一兩年就能說專精,需要長期、持續學習才能說你會Oracle,才有這個能力和資格去做DBA這個崗位。

    一般中小公司是沒有DBA這個崗位的,基本上由運維和開發直接做了,當然中小公司也用不起這些大型資料庫,基本都是MySQL、PostgreSQL。

    但是大型公司肯定是需要DBA這個崗位的,大型公司基本上就是Oracle、DB2,比如銀行、保險公司。

    從事軟體開發工作

    如果題主要從事的是軟體開發工作,那麼我建議你去學習MySQL,即你所謂的專精。理由如下幾點:

    大廠有專業的DBA,你接觸不到更多的資料庫工作,也就寫寫業務SQL,索引甚至都不用你去建。中小公司全部都是MySQL,作為開發人員,需要更好的資料庫能力來保證自己所負責業務的長期穩定執行,這對開發人員就需要更多的MySQL資料庫知識要求。所以現在市場上的面試基本全都是MySQL相關的知識,比如Innodb引擎、MyISAM引擎的區別,聚集索引、非聚集索引、覆蓋索引、回表查詢等等。

    題主其實應該有自己的想法和思路的,不能說專精,應該說主攻哪個資料庫,如果不是要從事DBA工作,那就得主攻其他方向了,比如大資料、人工智慧、分散式等方向。

  • 2 # 胡羅北

    首先,預祝這位小哥哥畢業順利,工作順利!

    本來划走了,掃了一眼問題又劃回來了。

    對網際網路的格局到底會如何發展,本人確實還沒有能力做出預測。不過鑑於以往的工作經驗,簡單給出一點自己的建議,聊供參考。

    大企業不等於Oracle

    糾正一下這個觀點,大企業不等於Oracle。Oracle作為老牌的資料庫,確實從效能到災備,方方面面都做的很好,尤其是十幾年前的科技環境下,Oracle對大資料量的處理上,真的是拉開其他資料庫一大截,就連微軟的SqlServer也不能與之相比。

    但是近幾年,說不上是Oracle沒落了,還是其他資料庫發展太快了,Oracle確實沒有太多突出的優勢了,價格還特別貴。再加上,前幾年國家“去IOE”的活動,越是有實力的大企業,越發開始放棄Oracle了。比如中石化、中石油之類的集團性大企業,新建系統使用Oracle的越來越少。

    平臺化會成為趨勢

    這就又得說到前幾年了,前幾年線上系統相比於線下的手工業務流程,只是起到了輔助的作用,所以有哪個部門或者哪個業務線條有需要,就做個資訊化管理系統。而這幾年,線上業務辦理對傳統線下業務的衝擊和滲透越來越強,孤立的、重複的、線上線下穿插的這些系統越來越不受待見了。

    所以,技術方向上開始提平臺化、Paas、中臺等概念了,這方面阿里是“始作俑者”,真的是始作俑者,忽悠了好多概念,挖了好多坑。不過阿里雲做的確實還是值得肯定的。除了阿里雲還有華為雲、x86雲等等等等,大家的思想和理念是類似的,就是基於一個功能可複用、資料可通用、流程可串用的工作區域來進行業務的快速搭建。

    在這樣的平臺基礎上,用mysql或者oracle就差不多了,因為他們對前端開發影響不大,對資料庫維護和設計又要求過高。而單從架構上說,脫胎於阿里系的MySQL對分庫分表啊大資料併發等方面的支援度會更好。

    技術是具有共同性的

    程式設計師嘛,經常能看到Java轉.net,或者Python,或者去做go語言的開發,上手也很快。就是因為這些技術邏輯都很類似。資料庫嘛也是差不多的,都是基於資料庫原理進行的設計,與或並邏輯一樣、棧和佇列邏輯一樣、正規化的規則都是一樣……

    所以其實一通百通的,可能學會Oracle需要花費6個月的時間反覆錘鍊誦記,在此基礎上學會sqlserver只需要一個月,再去學mysql甚至可能只需要兩週就足夠了。兩者並不是取捨的關係

    崗位的定位比選擇哪個工具更重要

    這個不必多說,但確實所有因素中,最最重要的一個。你想要做什麼樣的工作,或者說,從事什麼樣的崗位?

    程式設計師?那可以向技術專家、架構師發展;也可以向專案管理發展;專攻於某一業務線條的開發,也可以向業務專家發展。

    DB?那是繼續向基礎設施運維發展,做主管?還是專攻技術,做DB設計、架構師?

    如果想走技術路線,那先學MySQL,敲開網際網路公司的大門,去裡面繼續鑽研。他們使用的資料庫就花樣繁多了;

    如果想走管理路線,那先學Oracle,敲開企事業公司的大門,去做資料庫的運維支援人員。這些老舊古板且資金充足的企業,還會有很多機遇Oracle的應用

    知識體系的龐雜性是上升的關鍵因素之一

    最後還是迴歸到本質上,不是你是做什麼崗位什麼工作,工作的本質往高端了說是實現人生理想和追求。但是客觀上還是要養家餬口的,要衣食住行,要買面板買裝備…… 這都需要錢。而公司不能因為你工作年限長就給你工資高,不要奢望這個,政府機構企業事業單位都開始工齡和收入摘勾了。

    所以,如果有時間、有精力,能學一點就多學一點,歲月必然不會虧待你。

    與諸君共勉。

  • 中秋節和大豐收的關聯?
  • 遇到工作的不順,為何很多人選擇離職?