您好,登錄后才能下訂單哦!
這篇文章主要講解了“數據庫是怎么工作的”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“數據庫是怎么工作的”吧!
數據庫是什么?
概括來講,數據庫是一系列可以方便的訪問和修改的數據的集合。
所有數據庫管理系統的主要工作都是可靠的存儲數據并使其對用戶可用。
甚至說簡單的一堆文件都可以做到輕松訪問和修改這一點。實際上,像SQLite這類簡單的數據庫也確實僅是一堆文件。但是,SQLite 它是一些經過精心設計的文件,因為它允許執行這些操作:
通過事務來保證數據安全和一致
可以快速處理數百萬量級的數據
概括來看,一個數據庫可以看成以下圖這些部分組成:
在很多書籍或論文里,對于數據庫的描述都有自己的方式。比如『數據庫技術內幕』一書組件插圖是這樣的:
所以不用太關注我們是怎樣組織這些組成部分或者太關注處理流程怎樣命名,因為我們做了一些取舍以適合這篇文章的編寫。你需要重點關注的是這些不同的組成部分。
總體理解就是將數據庫可以劃分成多個相互交互組件。
核心組件
流程管理器:多數數據庫都有一個需要管理的「池」,用來組織流程、線程等。甚至,為了取得納秒級等極致性能,一些現代的數據庫會使用其自己的線程,而不再是基于操作系統的線程。
網絡管理器:網絡的 I/O 一直是很重要的部分,特別是對分布式數據庫來說。這也是為什么一些數據庫實現自己的網絡管理器的原因。
文件系統管理器:數據庫遇到第一個瓶頸是磁盤 I/O。有一個能夠完美處理操作系統文件系統甚至替換它的文件系統管理器相當重要。
內存管理器:為了避免磁盤I/O帶來的影響,需要大量的內存。但是當你需要管理大量的內存的時候,就會需要一個高效的內存管理器。特別是你有多個查詢同時在用內存查詢的時候。
安全管理器:用于管理用戶的身份驗證和授權
客戶端管理器:用于管理客戶端的連接
工具
備份管理器:用來備份和還原數據庫
恢復管理器:用來在數據庫崩潰之后,以一致的狀態來重新啟動數據庫
監控管理器:用來記錄數據庫的活動日志并提供監控數據
「管理」管理器:提供工具來管理數據庫、表空間、模式,并管理像表的名稱、結構等數據庫的元數據
查詢管理器
查詢解析器:檢查查詢是否合法,像SQL語句有沒有詞法、語法錯誤這種
查詢重寫器:預優化查詢
查詢優化器:優化查詢,讓查詢可以更高效的執行
查詢執行器:編譯和執行查詢
數據管理器
事務管理器:處理事務
緩存管理器:和我們常用緩存一樣理解,在使用前先把他們放到內存,在數據寫到磁盤前也放到內存
數據訪問管理器:訪問磁盤上的數據
后面的文章,我們會重點描述數據庫內是怎樣通過以下這些流程來管理和進行SQL的查詢的:
客戶端管理器
查詢管理器
數據管理器
感謝各位的閱讀,以上就是“數據庫是怎么工作的”的內容了,經過本文的學習后,相信大家對數據庫是怎么工作的這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。