日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

数据库

發(fā)布時(shí)間:2023/12/13 综合教程 33 生活家
生活随笔 收集整理的這篇文章主要介紹了 数据库 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

運(yùn)維為什么要學(xué)DBA課程

在我們互聯(lián)的小型企業(yè)中,有的公司3百多臺(tái)的數(shù)據(jù)服務(wù)器也沒有用DBA,而是運(yùn)維人員來維護(hù)。我們運(yùn)維人員為什么要學(xué)好DBA那,因?yàn)閿?shù)據(jù)庫是企業(yè)架構(gòu)的瓶頸。

99%互聯(lián)網(wǎng)的公司的網(wǎng)站機(jī)構(gòu)瓶頸都在后端,一個(gè)是存儲(chǔ)一個(gè)是數(shù)據(jù)庫數(shù)據(jù)庫,第一大瓶頸是數(shù)據(jù)庫極難擴(kuò)展的,第二大瓶頸是存儲(chǔ),只要將這兩個(gè)學(xué)好,做網(wǎng)絡(luò)架構(gòu)是非常容易的。因?yàn)閿?shù)據(jù)庫和存儲(chǔ)的極難擴(kuò)展的特性所應(yīng)用到了緩存和cdn這些技術(shù)的價(jià)值,cdn和緩存的目的都是為了減輕存儲(chǔ)的壓力。為什么是加緩存那而不是直接擴(kuò)展數(shù)量那,一個(gè)是不好擴(kuò)展,另一個(gè)是即使擴(kuò)展了效率也不高,就拿數(shù)據(jù)庫為例,加一個(gè)memched比后端擴(kuò)展5臺(tái)mysql的效果都好。

一、什么是數(shù)據(jù)庫?

簡單說,數(shù)據(jù)庫就是一個(gè)存放數(shù)據(jù)的倉庫,這個(gè)廠庫是按照一定的數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)的我們可以通過數(shù)據(jù)提供的多種方法來管理數(shù)據(jù)據(jù)庫的數(shù)據(jù)。
數(shù)據(jù)庫誕生距現(xiàn)在大概60年,2000年后,數(shù)據(jù)庫不在僅僅是存儲(chǔ)和管理數(shù)據(jù)了,而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式,數(shù)據(jù)庫有很多種類和功能,從簡單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)據(jù)存儲(chǔ)的大型數(shù)據(jù)系統(tǒng)都各方面得到了廣泛的應(yīng)用。

二、非關(guān)系型數(shù)據(jù)庫

隨著互聯(lián)網(wǎng)web2.0網(wǎng)站的興起,傳統(tǒng)關(guān)系型數(shù)據(jù)庫在應(yīng)對web2.0網(wǎng)站,特別是對于模塊日益擴(kuò)大的海量數(shù)據(jù),超大規(guī)模和高并發(fā)的微博、微信、SNS類型的web2.0純動(dòng)態(tài)網(wǎng)站已經(jīng)顯得力不從心,暴露了很多難以克服的問題,例如:傳統(tǒng)的關(guān)系型數(shù)據(jù)IO瓶頸、性能瓶頸都難以有效的突破,于是開始出現(xiàn)大批針對特定場景,以高性能和使用便利為目的功能特異化的數(shù)據(jù)產(chǎn)品,NoSQl(非關(guān)系型)類的數(shù)據(jù)庫就是在這樣的場景中誕生并得到非常迅速的發(fā)展。

簡單來講就是web2.0后動(dòng)態(tài)請求的增加,傳統(tǒng)的數(shù)據(jù)庫已經(jīng)成為機(jī)構(gòu)的瓶頸,所以才會(huì)后noSql的發(fā)展。

非關(guān)系型數(shù)據(jù)庫的種類
1.(鍵值)存儲(chǔ)數(shù)據(jù)庫
鍵值數(shù)據(jù)庫就是類似于傳統(tǒng)語言中使用的哈希表,可以通過key來添加、查詢或者刪除數(shù)據(jù),因?yàn)槭褂胟ey主鍵訪問,所以會(huì)獲得很高的性能以擴(kuò)展性。
鍵值數(shù)據(jù)庫主要使用的是哈希表,這個(gè)表中有一個(gè)特定的建和一個(gè)指針指向特定的數(shù)據(jù)。key/value 模型對與IT系統(tǒng)來說的優(yōu)勢在于簡單、易于部署、高并發(fā)。
典型產(chǎn)品:Momcached,Redis、MomcacheDB、Berkeley DB
2.列存儲(chǔ)數(shù)據(jù)庫
列存儲(chǔ)數(shù)據(jù)庫將數(shù)據(jù)存儲(chǔ)的列族中,一個(gè)列族存儲(chǔ)經(jīng)常備一起查詢的相關(guān)數(shù)據(jù)。舉個(gè)例子,如果我們有一個(gè)Person類,我們通過經(jīng)常一起查詢他們的姓名和年齡而不是薪資。這種情況下,姓名和年齡就會(huì)備放入一個(gè)列族中,而薪資則在另一列族中。
這部分?jǐn)?shù)據(jù)庫通常是用來對應(yīng)分布存儲(chǔ)的海量數(shù)據(jù)。鍵仍然存在,但是它們的特點(diǎn)是指向了多個(gè)列,這些列是由列家族來安排的
典型產(chǎn)品:Cassandra,Hbase
3.面向文檔的數(shù)據(jù)庫
文檔數(shù)據(jù)庫的靈感來自與Lotus Notes辦公軟件的,而且它同第一中鍵值存儲(chǔ)類型。該類型的數(shù)據(jù)類型是版本的文檔,半結(jié)構(gòu)的文檔一特別的格式存儲(chǔ),比如json。文檔數(shù)據(jù)可一看作是鍵值數(shù)據(jù)的升級(jí)版本。允許之間嵌套鍵值,而且文檔數(shù)據(jù)庫比鍵值數(shù)據(jù)庫的查詢效率高。
面向文檔數(shù)據(jù)庫會(huì)將數(shù)據(jù)以及文檔的形式存儲(chǔ),每個(gè)文檔都是自包含的數(shù)據(jù)單元,是一系列數(shù)據(jù)項(xiàng)的集合,每個(gè)數(shù)據(jù)項(xiàng)都有一個(gè)名稱于應(yīng)鍵值,值既可以是簡單的數(shù)據(jù)類型,如字符串、數(shù)字和日期等;亦可以是復(fù)雜的類型,如有序表和關(guān)聯(lián)對象,數(shù)據(jù)存儲(chǔ)的最小單位是文檔,同一個(gè)表中存儲(chǔ)的文檔屬性可以是不同的,數(shù)據(jù)可以使用XML、JSON或者JSONB等多種形式存儲(chǔ)。
典型產(chǎn)品:mongoDB、CouchDB
4.圖形數(shù)據(jù)庫
圖形數(shù)據(jù)庫允許我們將數(shù)據(jù)以圖的方式存儲(chǔ),實(shí)體會(huì)被作為頂點(diǎn),而實(shí)體之間的關(guān)系則被作為邊,比如我們有三個(gè)實(shí)體SteveJobs、Annle和Next、則會(huì)有“Founded by”的邊將Apple和Next連接Steve Jobs
圖形結(jié)構(gòu)的數(shù)據(jù)庫通其他行列以及剛性結(jié)構(gòu)的SQL數(shù)據(jù)庫不同,它是使用靈活的圖形模型,并且能夠擴(kuò)展到多個(gè)服務(wù)器上,NoSQL數(shù)據(jù)庫沒有標(biāo)準(zhǔn)的查詢語言(SQL),因此進(jìn)行數(shù)據(jù)庫查詢需要定制數(shù)據(jù)庫類型,許多NoSQL數(shù)據(jù)庫有REST式的數(shù)據(jù)接口或或者查詢API
典型產(chǎn)品:Neo4J、InforGr id

三、關(guān)系型數(shù)據(jù)庫

關(guān)系型數(shù)據(jù)庫是把復(fù)雜的機(jī)構(gòu)歸結(jié)為簡單的二元關(guān)系(即二位表格形式)。在關(guān)系型數(shù)據(jù)庫中,對數(shù)據(jù)的操作幾乎全部建立在一個(gè)或多個(gè)關(guān)系表格上,通過對這些關(guān)聯(lián)表格分類、合并、連接或選取等運(yùn)算來實(shí)現(xiàn)數(shù)據(jù)庫的管理

Mysql 數(shù)據(jù)庫的主要應(yīng)用范圍,是互聯(lián)網(wǎng)

典型產(chǎn)品:Mysql ,oracle

有必要學(xué)習(xí)oracle嗎?

互聯(lián)網(wǎng)公司是沒有必要學(xué)習(xí)的,互聯(lián)網(wǎng)公司都用mysql,因?yàn)閛racle太笨重、太貴了,在傳統(tǒng)的一些行業(yè)中可能會(huì)用到(證卷,金融,政府。。。)。  

Mysql數(shù)據(jù)庫是一個(gè)中小行的關(guān)系數(shù)據(jù)庫管理系統(tǒng),軟件開發(fā)為瑞典Mysql AB公司。在2008年1月16號(hào)備sun公司收購,后Sun公司又被oracle公司收購。目前Mysql被廣泛應(yīng)用在Intnet上的大中小網(wǎng)站中。由于體積小、速度快、總體擁有成本低,尤其是開放源代碼這一特點(diǎn),許多大中小網(wǎng)站為了降低網(wǎng)站成本而選擇了Mysql作為網(wǎng)站數(shù)據(jù)庫,甚至國內(nèi)致命的淘寶也選擇棄用oracle而更換為Mysql。Mysql數(shù)據(jù)庫的主要應(yīng)用范圍;互聯(lián)網(wǎng)領(lǐng)域,大中小行網(wǎng)站,游戲公司,電商平臺(tái)等。

為什么選擇用mysql數(shù)據(jù)庫

毫無疑問,既成事實(shí),絕大多數(shù)linux操作系統(tǒng)的大中小互聯(lián)網(wǎng)網(wǎng)站都在用Mysql作為后端的數(shù)據(jù)庫存儲(chǔ),從大型的BAT門戶,到電商平臺(tái),分類用戶等無一例外都使用mysql數(shù)據(jù)庫。那么Mysql數(shù)據(jù)庫到底有那些優(yōu)勢和特點(diǎn),讓大家義無反顧的選擇它呢?
原因有一下幾點(diǎn):
1)Mysql性能卓越,服務(wù)穩(wěn)定,很少出現(xiàn)異常宕機(jī)
2)Mysql開放源代碼且無版權(quán)限制,自主及使用成本低
3)Mysql歷史悠久,社區(qū)及用戶非常活躍,遇到文帝,可以尋求幫助
4)Mysql軟件體積小,安裝使用方便,并且維護(hù)成本低
5)Mysql口碑效應(yīng),是的企業(yè)無需考慮是使用,LAMP,LEMP流行架構(gòu)
6)Mysql支持多中操作系統(tǒng),提供多中API接口,支持多種語言,特別多流行的PHP語言有很好的支持

四、msyql版本

mysql 官網(wǎng):https://www.mysql.com/,msyql采取雙授權(quán)的政策,和大多數(shù)的開源產(chǎn)品一樣,分為社區(qū)版和商業(yè)版,二者兩個(gè)版本又各自分四個(gè)曉得版本,這個(gè)四個(gè)曉得版本分別是alpha版、Beta版、RC版和GA版。

alpha 版:mysql公司內(nèi)部測試用的版本,不對外開放。
beata 版:完成功能和測試后的版本。
RC版:生產(chǎn)環(huán)境發(fā)布前的小版本,是beata升級(jí)后的版本。
GA版:對外的穩(wěn)定版。

五、mysql產(chǎn)品線

msyql在發(fā)展5.1版本后,重新規(guī)劃為三條生產(chǎn)線,為的是提高市場的競爭力

第一條生產(chǎn)線:5.0.xxx--5.1.xxx生產(chǎn)線
這條生產(chǎn)線繼續(xù)完善和改進(jìn)用戶體驗(yàn)和性能,同時(shí)增加新功能,這條生產(chǎn)線可以說是早起生產(chǎn)線的延續(xù)。
第二條生產(chǎn)線:5.4.xxx--5.7.xxx生產(chǎn)線
第二條產(chǎn)品線是為了更好的整合msyql AB 公司社區(qū)和第三方公司的新存引擎,以及吸收新的算法等,從而更好的支持SMP架構(gòu),提搞性能而做了大量的代碼重構(gòu)版本從5.4開始目前發(fā)展到5.6x
***公司常用的版本是5.5版本
第三條產(chǎn)品線:6.0.xx--7.1.xx 產(chǎn)品系列(使用比較少,為的是解決集群的問題,但是各公司都用自己的解決方案)
第三條產(chǎn)品先是為了更好的推廣mysql cluster版本,以及提高性能和穩(wěn)定性,以及功能改進(jìn),使其對cluster引擎提供更有效的支持和優(yōu)化,版本為6.0開發(fā)版,目前到7.1xx

六、mysql版本選擇建議

1)選擇開源的社區(qū)版的穩(wěn)定版GA 版本
2)選擇5.1或5.5,互聯(lián)網(wǎng)主流是5.5 ,其次是5.1和5.6
3)選擇mysql數(shù)據(jù)庫發(fā)布GA版,一定是發(fā)布6個(gè)月以上的GA版本
4)要選則前后幾個(gè)月沒BUG修復(fù)的版本,而不是大量修復(fù)BUG集中的版本
5)最好向后較長時(shí)間沒有發(fā)布更新的版本
6)要考慮開發(fā)人員開發(fā)程序使用的版本是否兼容你的版本
7)做為內(nèi)部開發(fā)測試數(shù)據(jù)庫跑3到6個(gè)月的時(shí)間
8)優(yōu)先企業(yè)非核心業(yè)務(wù)跑新版的數(shù)據(jù)庫
9)行DBA高手請教,那個(gè)產(chǎn)品更適合
10)經(jīng)過上述流程沒有問題后,可以全面上新的數(shù)據(jù)庫

七、mysql多實(shí)例介紹(需要補(bǔ)充)

什么是mysql多實(shí)例?
簡單說,就是一臺(tái)機(jī)器上開啟多個(gè)不同對的服務(wù)端口(3306-3307),運(yùn)行多個(gè)mysql服務(wù)進(jìn)程,這些服務(wù)進(jìn)程通過不同的socket監(jiān)聽不同的服務(wù)端口來提供各自的服務(wù)。
這些mysql多實(shí)例共用一套mysql安裝程序,使用不同(也可以相同)的mysql配置文件、啟動(dòng)程序、數(shù)據(jù)文件,在提供服務(wù)時(shí)多實(shí)例Mysql在邏輯上看來是各自獨(dú)立的,多個(gè)實(shí)例的自身根據(jù)配置文件對應(yīng)的設(shè)定值,來取得服務(wù)器的相關(guān)硬件資源多少。
mysql多實(shí)例就像房子的多個(gè)臥室一樣,每個(gè)實(shí)例可以看做一個(gè)臥室,整個(gè)服務(wù)就是一套房子,服務(wù)器的硬件資源可以看做房子的衛(wèi)生間、廚房、客廳一樣,是房子的公共資源。
多實(shí)例的問題:
當(dāng)某個(gè)服務(wù)實(shí)例并發(fā)很高或者有慢查詢時(shí),整個(gè)實(shí)例回消耗整個(gè)更多的內(nèi)存、cpu、磁盤IO資源,導(dǎo)致服務(wù)上的其他實(shí)例提供服務(wù)的質(zhì)量下降,這樣相當(dāng)于大家住在一個(gè)房子的不同臥室內(nèi),早上起床上班,都會(huì)刷牙。。。這樣為衛(wèi)生間會(huì)長期占用,其他人就要等待一樣的道理。
多實(shí)例的應(yīng)用場景
1)資金緊張的公司。公司業(yè)務(wù)量不大有舍不得花錢,可以通過3臺(tái)服務(wù)器部署6-9個(gè)實(shí)例,交叉做主從同步及讀寫分離,實(shí)現(xiàn)6-9臺(tái)服務(wù)器才有的效果,這里要強(qiáng)調(diào)的是所謂的盡量獨(dú)立是相對的。
2)并發(fā)訪問不是特別大的業(yè)務(wù)。服務(wù)的資源基本是浪費(fèi)的。這個(gè)時(shí)候就和適合多實(shí)例的應(yīng)用,如果對SQl語句優(yōu)化做的好,MYSQL多實(shí)例是一個(gè)值得用的技術(shù),及使并發(fā)很大,合理分配好系統(tǒng)資源,也不會(huì)有太多問題。
3)門戶網(wǎng)站應(yīng)用MYSQL多實(shí)例的場景。百度搜索引擎的數(shù)庫就是多實(shí)例,一般是從庫,cpu為48C內(nèi)存96G,跑3-4個(gè)實(shí)例,sina網(wǎng)也是用的多實(shí)例,內(nèi)存48G左右。門戶網(wǎng)站使用多實(shí)例的目的是配硬件好的服務(wù),節(jié)省IDC機(jī)柜空間,同時(shí),跑多個(gè)實(shí)例也讓硬件資源不浪費(fèi)。

總結(jié)

以上是生活随笔為你收集整理的数据库的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。