首頁(yè) 行業(yè) 活動(dòng) 項(xiàng)目 快訊 文娛 時(shí)尚 娛樂 科技 汽車 綜合 生活

    數(shù)據(jù)庫(kù)里有不少有意思的地方

    2021-01-28 08:53:17 來源:Tomcat那些事兒公眾號(hào)

    數(shù)據(jù)庫(kù)做為我們?nèi)粘i_發(fā)的一個(gè)組件或者說基礎(chǔ)服務(wù),也許有人認(rèn)為把它當(dāng)個(gè)黑盒直接用就好,費(fèi)那事兒干嘛。確實(shí)數(shù)據(jù)庫(kù)的設(shè)計(jì)也做到了讓我們不了解也能干活。但實(shí)際開發(fā)中往往會(huì)遇到性能退化、遇到bug,遇到服務(wù)問題等等,對(duì)數(shù)據(jù)庫(kù)了解一些,就能更快的恢復(fù),減少風(fēng)險(xiǎn)。

    另外,作為經(jīng)過多年發(fā)展,近乎成熟的產(chǎn)品,數(shù)據(jù)庫(kù)里有不少有意思的地方。這里面對(duì)于設(shè)計(jì)一個(gè)數(shù)據(jù)庫(kù),一個(gè)存儲(chǔ)引擎有大量的工作,以及各種取舍與權(quán)衡。比如最容易想到的,寫入的時(shí)候如果順序?qū)懀菙?shù)據(jù)插入效率更快,但如果是按某個(gè)順序來檢索,就必須得查出來再重新排序。比如數(shù)據(jù)怎樣序列化,協(xié)議怎樣組織,索引是怎樣工作的,查詢分析器、執(zhí)行計(jì)劃這些是怎樣工作的,怎樣挑選執(zhí)行計(jì)劃從而來保證查詢的高效;另外數(shù)據(jù)庫(kù)里數(shù)據(jù)是怎樣組織來保證數(shù)據(jù)的存儲(chǔ)、壓縮來優(yōu)化空間占用,又是怎樣提升磁盤到內(nèi)存中的訪問速度,怎樣做垃圾回收的......

    最近看了一些數(shù)據(jù)庫(kù)相關(guān)的書、文章等內(nèi)容感覺不錯(cuò),后面打算根據(jù)自己的理解寫一寫,也會(huì)選一些優(yōu)質(zhì)的英文文章翻譯。

    今天是翻譯的第一篇。

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

    概括來講,數(shù)據(jù)庫(kù)是一系列可以方便的訪問和修改的數(shù)據(jù)的集合。

    所有數(shù)據(jù)庫(kù)管理系統(tǒng)的主要工作都是可靠的存儲(chǔ)數(shù)據(jù)并使其對(duì)用戶可用。

    甚至說簡(jiǎn)單的一堆文件都可以做到輕松訪問和修改這一點(diǎn)。實(shí)際上,像SQLite這類簡(jiǎn)單的數(shù)據(jù)庫(kù)也確實(shí)僅是一堆文件。但是,SQLite 它是一些經(jīng)過精心設(shè)計(jì)的文件,因?yàn)樗试S執(zhí)行這些操作:

    通過事務(wù)來保證數(shù)據(jù)安全和一致

    可以快速處理數(shù)百萬量級(jí)的數(shù)據(jù)

    概括來看,一個(gè)數(shù)據(jù)庫(kù)可以看成以下圖這些部分組成:

    在很多書籍或論文里,對(duì)于數(shù)據(jù)庫(kù)的描述都有自己的方式。比如『數(shù)據(jù)庫(kù)技術(shù)內(nèi)幕』一書組件插圖是這樣的:

    所以不用太關(guān)注我們是怎樣組織這些組成部分或者太關(guān)注處理流程怎樣命名,因?yàn)槲覀冏隽艘恍┤∩嵋赃m合這篇文章的編寫。你需要重點(diǎn)關(guān)注的是這些不同的組成部分。

    總體理解就是將數(shù)據(jù)庫(kù)可以劃分成多個(gè)相互交互組件。

    核心組件

    流程管理器:多數(shù)數(shù)據(jù)庫(kù)都有一個(gè)需要管理的「池」,用來組織流程、線程等。甚至,為了取得納秒級(jí)等極致性能,一些現(xiàn)代的數(shù)據(jù)庫(kù)會(huì)使用其自己的線程,而不再是基于操作系統(tǒng)的線程。

    網(wǎng)絡(luò)管理器:網(wǎng)絡(luò)的 I/O 一直是很重要的部分,特別是對(duì)分布式數(shù)據(jù)庫(kù)來說。這也是為什么一些數(shù)據(jù)庫(kù)實(shí)現(xiàn)自己的網(wǎng)絡(luò)管理器的原因。

    文件系統(tǒng)管理器:數(shù)據(jù)庫(kù)遇到第一個(gè)瓶頸是磁盤 I/O。有一個(gè)能夠完美處理操作系統(tǒng)文件系統(tǒng)甚至替換它的文件系統(tǒng)管理器相當(dāng)重要。

    內(nèi)存管理器:為了避免磁盤I/O帶來的影響,需要大量的內(nèi)存。但是當(dāng)你需要管理大量的內(nèi)存的時(shí)候,就會(huì)需要一個(gè)高效的內(nèi)存管理器。特別是你有多個(gè)查詢同時(shí)在用內(nèi)存查詢的時(shí)候。

    安全管理器:用于管理用戶的身份驗(yàn)證和授權(quán)

    客戶端管理器:用于管理客戶端的連接

    工具

    備份管理器:用來備份和還原數(shù)據(jù)庫(kù)

    恢復(fù)管理器:用來在數(shù)據(jù)庫(kù)崩潰之后,以一致的狀態(tài)來重新啟動(dòng)數(shù)據(jù)庫(kù)

    監(jiān)控管理器:用來記錄數(shù)據(jù)庫(kù)的活動(dòng)日志并提供監(jiān)控?cái)?shù)據(jù)

    「管理」管理器:提供工具來管理數(shù)據(jù)庫(kù)、表空間、模式,并管理像表的名稱、結(jié)構(gòu)等數(shù)據(jù)庫(kù)的元數(shù)據(jù)

    查詢管理器

    查詢解析器:檢查查詢是否合法,像SQL語(yǔ)句有沒有詞法、語(yǔ)法錯(cuò)誤這種

    查詢重寫器:預(yù)優(yōu)化查詢

    查詢優(yōu)化器:優(yōu)化查詢,讓查詢可以更高效的執(zhí)行

    查詢執(zhí)行器:編譯和執(zhí)行查詢

    數(shù)據(jù)管理器

    事務(wù)管理器:處理事務(wù)

    緩存管理器:和我們常用緩存一樣理解,在使用前先把他們放到內(nèi)存,在數(shù)據(jù)寫到磁盤前也放到內(nèi)存

    數(shù)據(jù)訪問管理器:訪問磁盤上的數(shù)據(jù)

    關(guān)鍵詞: 數(shù)據(jù)庫(kù)

    上一篇:e2200超頻常態(tài)散熱就OK

    下一篇:audiodg.exe占用內(nèi)存過高解決方法

    責(zé)任編輯:

    最近更新

    點(diǎn)擊排行
    推薦閱讀

    亚洲一级特黄特黄的大片| 亚洲卡一卡2卡三卡4卡无卡三| 久久久久亚洲精品天堂| 亚洲欧洲日产国码av系列天堂 | WWW国产亚洲精品久久麻豆| 中文字幕无码亚洲欧洲日韩| 国产精品亚洲四区在线观看| 亚洲卡一卡2卡三卡4麻豆| 亚洲国产精品无码久久久| 亚洲成人一级电影| 亚洲综合在线成人一区| 亚洲精品无码久久毛片波多野吉衣| 亚洲视屏在线观看| 亚洲欧洲日本精品| 亚洲乱人伦精品图片| 狠狠色香婷婷久久亚洲精品| 亚洲狠狠成人综合网| 亚洲国产成人久久精品大牛影视 | 国产日韩亚洲大尺度高清| 亚洲精品国偷自产在线| 亚洲AV无码成人网站久久精品大 | 四虎亚洲国产成人久久精品| 亚洲视频在线一区二区| 中文字幕亚洲一区| 亚洲av中文无码乱人伦在线r▽| 久久国产亚洲电影天堂| 亚洲视频在线观看地址| 亚洲欧洲国产经精品香蕉网| 久久久久se色偷偷亚洲精品av| 美女视频黄免费亚洲| 色窝窝亚洲av网| 成人亚洲性情网站WWW在线观看| 亚洲精品亚洲人成在线观看| 亚洲av色影在线| 亚洲国产人成在线观看| 亚洲精品无码av中文字幕| 亚洲第一黄色网址| 国产亚洲福利精品一区| 麻豆亚洲av熟女国产一区二| 激情亚洲一区国产精品| 色偷偷尼玛图亚洲综合|