這篇文章主要講解了“數(shù)據(jù)庫(kù)是怎么工作的”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“數(shù)據(jù)庫(kù)是怎么工作的”吧!
創(chuàng)新互聯(lián)堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的吳堡網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
數(shù)據(jù)庫(kù)是什么?
概括來(lái)講,數(shù)據(jù)庫(kù)是一系列可以方便的訪(fǎng)問(wèn)和修改的數(shù)據(jù)的集合。
所有數(shù)據(jù)庫(kù)管理系統(tǒng)的主要工作都是可靠的存儲(chǔ)數(shù)據(jù)并使其對(duì)用戶(hù)可用。
甚至說(shuō)簡(jiǎn)單的一堆文件都可以做到輕松訪(fǎng)問(wèn)和修改這一點(diǎn)。實(shí)際上,像SQLite這類(lèi)簡(jiǎn)單的數(shù)據(jù)庫(kù)也確實(shí)僅是一堆文件。但是,SQLite 它是一些經(jīng)過(guò)精心設(shè)計(jì)的文件,因?yàn)樗试S執(zhí)行這些操作:
通過(guò)事務(wù)來(lái)保證數(shù)據(jù)安全和一致
可以快速處理數(shù)百萬(wàn)量級(jí)的數(shù)據(jù)
概括來(lái)看,一個(gè)數(shù)據(jù)庫(kù)可以看成以下圖這些部分組成:
在很多書(shū)籍或論文里,對(duì)于數(shù)據(jù)庫(kù)的描述都有自己的方式。比如『數(shù)據(jù)庫(kù)技術(shù)內(nèi)幕』一書(shū)組件插圖是這樣的:
所以不用太關(guān)注我們是怎樣組織這些組成部分或者太關(guān)注處理流程怎樣命名,因?yàn)槲覀冏隽艘恍┤∩嵋赃m合這篇文章的編寫(xiě)。你需要重點(diǎn)關(guān)注的是這些不同的組成部分。
總體理解就是將數(shù)據(jù)庫(kù)可以劃分成多個(gè)相互交互組件。
核心組件
流程管理器:多數(shù)數(shù)據(jù)庫(kù)都有一個(gè)需要管理的「池」,用來(lái)組織流程、線(xiàn)程等。甚至,為了取得納秒級(jí)等極致性能,一些現(xiàn)代的數(shù)據(jù)庫(kù)會(huì)使用其自己的線(xiàn)程,而不再是基于操作系統(tǒng)的線(xiàn)程。
網(wǎng)絡(luò)管理器:網(wǎng)絡(luò)的 I/O 一直是很重要的部分,特別是對(duì)分布式數(shù)據(jù)庫(kù)來(lái)說(shuō)。這也是為什么一些數(shù)據(jù)庫(kù)實(shí)現(xiàn)自己的網(wǎng)絡(luò)管理器的原因。
文件系統(tǒng)管理器:數(shù)據(jù)庫(kù)遇到第一個(gè)瓶頸是磁盤(pán) I/O。有一個(gè)能夠完美處理操作系統(tǒng)文件系統(tǒng)甚至替換它的文件系統(tǒng)管理器相當(dāng)重要。
內(nèi)存管理器:為了避免磁盤(pán)I/O帶來(lái)的影響,需要大量的內(nèi)存。但是當(dāng)你需要管理大量的內(nèi)存的時(shí)候,就會(huì)需要一個(gè)高效的內(nèi)存管理器。特別是你有多個(gè)查詢(xún)同時(shí)在用內(nèi)存查詢(xún)的時(shí)候。
安全管理器:用于管理用戶(hù)的身份驗(yàn)證和授權(quán)
客戶(hù)端管理器:用于管理客戶(hù)端的連接
工具
備份管理器:用來(lái)備份和還原數(shù)據(jù)庫(kù)
恢復(fù)管理器:用來(lái)在數(shù)據(jù)庫(kù)崩潰之后,以一致的狀態(tài)來(lái)重新啟動(dòng)數(shù)據(jù)庫(kù)
監(jiān)控管理器:用來(lái)記錄數(shù)據(jù)庫(kù)的活動(dòng)日志并提供監(jiān)控?cái)?shù)據(jù)
「管理」管理器:提供工具來(lái)管理數(shù)據(jù)庫(kù)、表空間、模式,并管理像表的名稱(chēng)、結(jié)構(gòu)等數(shù)據(jù)庫(kù)的元數(shù)據(jù)
查詢(xún)管理器
查詢(xún)解析器:檢查查詢(xún)是否合法,像SQL語(yǔ)句有沒(méi)有詞法、語(yǔ)法錯(cuò)誤這種
查詢(xún)重寫(xiě)器:預(yù)優(yōu)化查詢(xún)
查詢(xún)優(yōu)化器:優(yōu)化查詢(xún),讓查詢(xún)可以更高效的執(zhí)行
查詢(xún)執(zhí)行器:編譯和執(zhí)行查詢(xún)
數(shù)據(jù)管理器
事務(wù)管理器:處理事務(wù)
緩存管理器:和我們常用緩存一樣理解,在使用前先把他們放到內(nèi)存,在數(shù)據(jù)寫(xiě)到磁盤(pán)前也放到內(nèi)存
數(shù)據(jù)訪(fǎng)問(wèn)管理器:訪(fǎng)問(wèn)磁盤(pán)上的數(shù)據(jù)
后面的文章,我們會(huì)重點(diǎn)描述數(shù)據(jù)庫(kù)內(nèi)是怎樣通過(guò)以下這些流程來(lái)管理和進(jìn)行SQL的查詢(xún)的:
客戶(hù)端管理器
查詢(xún)管理器
數(shù)據(jù)管理器
感謝各位的閱讀,以上就是“數(shù)據(jù)庫(kù)是怎么工作的”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)數(shù)據(jù)庫(kù)是怎么工作的這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!