本文目錄一覽:
mysql這門課程難嗎?
MySQL 作為當下最為流行的關係型數據庫。體積小、速度快、總體擁有成本低、開放源碼,是各企業開發首選數據庫。由於普及性極高,自然是面試考核的重點內容。 最近幾年面試進一步向深、向廣,一方面在於 MySQL 在應用層面的確很強勢,另一方面對 MySQL 的掌握程度直接決定了你在技術團隊的地位,不管是普通開發還是首席架構、CTO 都能夠從 MySQL 中汲取技術養料。 普通開發往往積累單點技術、比如 CRUD、鎖類型、索引的數據結構…而對於技術骨幹、架構師則往往需要對底層原理吃透,數據庫事務 ACID 是如何實現的?何時命中索引、何時不能,為什麼?分佈式場景下數據庫怎麼優化才能保持高性能? 說白了,知道怎麼用是一方面,知道為什麼則是更為稀缺的能力。就好比當年阿里從 Oracle 遷到 MySQL,要是沒有像褚霸這種能直接修改源碼的大牛,恐怕還得再推遲個兩年。
如何零基礎學習數據庫
1、零基礎,想要自學數據庫的話,覺得起步階段首選《數據庫系統概念》這本書,因為這本書比較系統且綜合全面。裏面包含了數據模型、關係模型、基於對象的數據庫以及XML、數據存儲和查詢、事務管理、數據庫系統體系結構等各方面的相關內容。相當地直觀易懂,裏面的有些內容運用了結構清晰的圖示和示例來取代形式化的證明。
2、然後,需要選擇一個具體的數據庫產品學習,比如常見的Access、SQL-Server、MySQL、Oracle、DB2,不同的數據庫產品之間區別很大的,每一種數據庫都有與之相應的經典書籍,官方也有那些入門文檔。自己到網上搜對應的數據庫名字就能找到了。當然,如果你想快餐式入門,那就看些視頻或者國內的一些什麼XXX從入門到精通、XX天精通XXX之類的書吧!
3、現在常見的數據庫大部份都是關係型數據庫,不管是理論和操作基本都是一樣的,如果從操作和易學的角度來說,SQL SERVER還是比較容易上手的,網上的資料和各種書籍也不少,但是如果數據量大,數據庫的穩定性來說,Oracle還是比較要強一點的。你就看自己的情況來選擇吧!
3、總之,學習數據庫,和學習其他電腦知識一樣,要注重實踐,也就是要上機實習。先學習一些數據庫的基本概念,然後一邊看書,一邊上機,是個很好的方法。在網上去找一些有關的視頻教程,跟着視頻學習,會輕鬆一些。學習知識,關鍵在於持之以恆,這樣才會有好的成績。
拓展資料:
數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,它產生於距今六十多年前,隨着信息技術和市場的發展,特別是二十世紀九十年代以後,數據管理不再僅僅是存儲和管理數據,而轉變成用戶所需要的各種數據管理的方式。數據庫有很多種類型,從最簡單的存儲有各種數據的表格到能夠進行海量數據存儲的大型數據庫系統都在各個方面得到了廣泛的應用。
參考資料:數據庫-百度百科
新手學mysql數據庫 應該從哪裡起步?
你可以買本sqlserver 2005的書籍看看,sqlserver和mysql有很多相似的地方。mysql的書籍相對較少,但sqlserver得書籍就多了
oracle和mysql的發展前景都是怎樣的?
我先給你說一下mysql和oracle區別,其實對於現如今的各種企業來說,用mysql和oracle都不等。
第一相對價錢來說,mysql很多中小型企業用的比較多,原因就是相比於ORACLE昂貴的收費,oracle軟件像現在用的較多的11g、12c等一套授權下來得50萬起步,注意只是起步價,後面還有昂貴的服務費,mysql基本都用的開源的社區版,免費。但也有不乏大公司用mysql,像阿里雲數據服務就用的是mysql,但是基本大公司核心數據都是用的oracle,不缺錢的公司只在乎數據無價。
第二相對於安全性,mysql 的體系結構相對於oracle來說比較簡單,很容易能上手理解和操作,但是開源的東西始終是開源的,安全性無法保證(這裡指的是系統的安全性也指數據的安全性)。oracle整體的體系結構非常複雜,而且對於版本來說每個大版本改動都比較大,相比於以前的9i,10g,11g,改動都很大。但是由於其結構複雜,所以對於數據的安全是至上的,oracle公司也有自己的容災系統(DG),一旦布置好,就算你主庫硬件被破壞,亦不會丟數據。
第三相對於靈活性,mysql開源和oracle閉源我想你能理解吧。但是oracle功能之強大也可彌補其中不足(目前為止做的最優秀的數據庫)。
如果你想從事DBA的話,我的建議是mysql和oracle通殺,先學oracle再學mysql,現在的互聯網科技公司都主張開源,而且現在的公司都是mysql和oracle混用,只有銀行、證券公司等會只用到oralce,兩個的發展前景也不能說哪個好一點,近幾年有些大公司會花錢在mysql上面做些更多的東西(只適用於他們公司的),反正mysql 的用戶增長量近幾年越來越多了,oracle的用戶增長量漸漸下跌但是總數還是排世界第一的。
數據庫應該怎麼學習,零基礎。
1、 自己在windows和linux上安裝了mysql,自學linux的基礎知識,學習mysql的最基礎的知識,即怎麼寫sql,存儲過程,表的設計等,從0到熟悉大概花了3個月 ,推薦《mysql入門很簡單》。
2、系統地較為深入地學習mysql的sql優化,備份和恢復,參數優化,架構優化,硬件層面的優化,高可用方案,複製技術等等,這段時間你不一定能實際接觸到這些,就像我當初那樣,肯定沒什麼公司招一個小白。
我選擇自己看書,推薦《高性能mysql》,裏面所有的章節都需要看一遍,以現在的水平肯定看不懂,但需要知道大概怎麼回事,為後續的找mysql初級dba的工作打一個鋪墊,這個過程大概也需要3個月。
3、 紙上得來終覺淺,完成以上兩步,我開始準備找一份mysql相關的工作,而不是天天用着excel表格做着select * from table_sb這樣的工作。
當然我這麼猥瑣的人肯定不會裸辭,該畫的電路板也一樣畫,業餘時間開始投初級mysql dba的工作,並且不間斷地學習,網上各種找mysql面試的相關題目(實際上我當時完全沒有任何實戰經驗),陸續收到一些面試,憑藉之前自學的mysql知識,開始胡亂吹牛逼,先混進去再說。
你不做mysql實際相關的工作,永遠也不知道自己之前認知的db知識有多幼稚。
友情提示一點,一般公司都沒有專職dba的,所以面試的時候一定要自信,其實你學了這麼多,雖然毫無實戰經驗,理論知識很大概率比面試你的人牛逼,所以各種吹,我就這樣真正進入初級dba的圈子(由於這時對linux還處於cd ls的水平,所以之前也根本沒做過運維),這個邊工作邊找工作的過程又持續了2個月。
4、真正進入互聯網,接觸生產環境後,這是我進步最大的時候。
第一步需要將之前所學真正地應用起來,並且應用的過程中,再回頭看之前的書籍,這時候需要真正去理解,而不是似是而非,一知半解。
這時再推薦《高性能mysql 第三版》,全本再看一遍,這時需要全部看懂,另外還有《mysql技術內幕:innodb存儲引擎》等等。
總之這段時間就需要開始關注mysql一些細節了,比如db故障處理,高可用,負載均衡等等的具體實現了。
另外,linux的知識同步也要深入去學習,至少會寫shell腳本,常見的linux知識等,我在這花了1年多;
5、 dba的工作一般是非常輕閑的,畢竟不是大公司,技術能力有限,該學的也學得差不多了,接觸不到海量數據,高並發等比較鍛煉人的場合,於是我又準備跳了。
於是來了公有雲,現在每天運維萬多個db實例,平均每天處理5+個緊急db故障,幾乎mysql會遇到的問題,感覺都遇到了,能感覺到技術實力和經驗也在每天都在積累,在進步。
但是感覺還是欠缺了很多,下一步就看你選擇了,是再去研究源代碼,底層原理的東西多點,還是數據庫運維和應用多一點,就比如業界姜承堯,何登成與葉金榮的區別。
由於我的歷史原因,對c++等幾乎不懂,平時也用不到,所以看代碼等事實際太累,於是我再去學mongodb,接了公司mongodb運維的活,算是在廣度上的一個擴展,萬一哪天mysql不行了呢
6、 總之,對於db小白來說,最重要的一點就是,學習的過程不能斷。
PS 上面的方法比較野路子,適合沒什麼基礎的童鞋,如果本來就是DBA,比如從oracle轉到mysql,那麼建議直接看mysql官方文檔,而官方文檔是db達到一定水平後必看,出問題時必查的權威文檔。
原創文章,作者:SZFWQ,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/130207.html