成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

數據庫是咋工作的之一

運維 數據庫運維
數據庫做為我們日常開發的一個組件或者說基礎服務,也許有人認為把它當個黑盒直接用就好,費那事兒干嘛。確實數據庫的設計也做到了讓我們不了解也能干活。但實際開發中往往會遇到性能退化、遇到bug,遇到服務問題等等,對數據庫了解一些,就能更快的恢復,減少風險。

 數據庫做為我們日常開發的一個組件或者說基礎服務,也許有人認為把它當個黑盒直接用就好,費那事兒干嘛。確實數據庫的設計也做到了讓我們不了解也能干活。但實際開發中往往會遇到性能退化、遇到bug,遇到服務問題等等,對數據庫了解一些,就能更快的恢復,減少風險。

[[339159]]

另外,作為經過多年發展,近乎成熟的產品,數據庫里有不少有意思的地方。這里面對于設計一個數據庫,一個存儲引擎有大量的工作,以及各種取舍與權衡。比如最容易想到的,寫入的時候如果順序寫,那數據插入效率更快,但如果是按某個順序來檢索,就必須得查出來再重新排序。比如數據怎樣序列化,協議怎樣組織,索引是怎樣工作的,查詢分析器、執行計劃這些是怎樣工作的,怎樣挑選執行計劃從而來保證查詢的高效;另外數據庫里數據是怎樣組織來保證數據的存儲、壓縮來優化空間占用,又是怎樣提升磁盤到內存中的訪問速度,怎樣做垃圾回收的......

最近看了一些數據庫相關的書、文章等內容感覺不錯,后面打算根據自己的理解寫一寫,也會選一些優質的英文文章翻譯。

今天是翻譯的第一篇。

數據庫是什么?

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

所有數據庫管理系統的主要工作都是可靠的存儲數據并使其對用戶可用。

甚至說簡單的一堆文件都可以做到輕松訪問和修改這一點。實際上,像SQLite這類簡單的數據庫也確實僅是一堆文件。但是,SQLite 它是一些經過精心設計的文件,因為它允許執行這些操作:

  • 通過事務來保證數據安全和一致
  • 可以快速處理數百萬量級的數據

概括來看,一個數據庫可以看成以下圖這些部分組成:

 

在很多書籍或論文里,對于數據庫的描述都有自己的方式。比如『數據庫技術內幕』一書組件插圖是這樣的:

 

所以不用太關注我們是怎樣組織這些組成部分或者太關注處理流程怎樣命名,因為我們做了一些取舍以適合這篇文章的編寫。你需要重點關注的是這些不同的組成部分。

總體理解就是將數據庫可以劃分成多個相互交互組件。

核心組件

  • 流程管理器:多數數據庫都有一個需要管理的「池」,用來組織流程、線程等。甚至,為了取得納秒級等極致性能,一些現代的數據庫會使用其自己的線程,而不再是基于操作系統的線程。
  • 網絡管理器:網絡的 I/O 一直是很重要的部分,特別是對分布式數據庫來說。這也是為什么一些數據庫實現自己的網絡管理器的原因。
  • 文件系統管理器:數據庫遇到第一個瓶頸是磁盤 I/O。有一個能夠完美處理操作系統文件系統甚至替換它的文件系統管理器相當重要。
  • 內存管理器:為了避免磁盤I/O帶來的影響,需要大量的內存。但是當你需要管理大量的內存的時候,就會需要一個高效的內存管理器。特別是你有多個查詢同時在用內存查詢的時候。
  • 安全管理器:用于管理用戶的身份驗證和授權
  • 客戶端管理器:用于管理客戶端的連接

工具

  • 備份管理器:用來備份和還原數據庫
  • 恢復管理器:用來在數據庫崩潰之后,以一致的狀態來重新啟動數據庫
  • 監控管理器:用來記錄數據庫的活動日志并提供監控數據
  • 「管理」管理器:提供工具來管理數據庫、表空間、模式,并管理像表的名稱、結構等數據庫的元數據

查詢管理器

  • 查詢解析器:檢查查詢是否合法,像SQL語句有沒有詞法、語法錯誤這種
  • 查詢重寫器:預優化查詢
  • 查詢優化器:優化查詢,讓查詢可以更高效的執行
  • 查詢執行器:編譯和執行查詢

數據管理器

  • 事務管理器:處理事務
  • 緩存管理器:和我們常用緩存一樣理解,在使用前先把他們放到內存,在數據寫到磁盤前也放到內存
  • 數據訪問管理器:訪問磁盤上的數據

后面的文章,我們會重點描述數據庫內是怎樣通過以下這些流程來管理和進行SQL的查詢的:

  • 客戶端管理器
  • 查詢管理器
  • 數據管理器

英文鏈接:http://coding-geek.com/how-databases-work

本文轉載自微信公眾號「 Tomcat那些事兒」,可以通過以下二維碼關注。轉載本文請聯系 Tomcat那些事兒公眾號。

 

責任編輯:武曉燕 來源: Tomcat那些事兒
相關推薦

2010-05-31 09:50:13

MySQL數據庫

2021-02-23 14:56:12

數據庫存儲索引

2021-07-12 11:46:15

數據庫Autoscaling阿里云

2011-03-30 13:24:23

SQL Server數故障修復

2010-06-28 09:53:11

SQL Server數

2011-06-30 16:57:03

數據壓縮

2022-11-29 08:50:51

數據庫國產化云原生

2024-08-09 08:28:14

品牌數據庫產品

2020-11-24 17:22:15

數據庫MySQL技術

2022-08-16 14:40:09

SQL數據庫內存結構

2017-03-17 14:44:04

關系型數據庫原理

2010-01-25 14:57:49

Android數據庫

2011-03-14 10:40:20

2021-11-26 00:02:12

OpenGauss 數據庫SQL

2017-10-23 13:52:31

數據庫硬件

2011-03-25 13:47:33

開源數據庫兼容

2019-07-03 15:57:24

數據庫云平臺Gartner

2021-07-01 10:45:08

硬盤數據庫性能

2024-10-28 16:31:03

2011-03-15 13:25:41

Oracle數據庫管理員維護
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久亚洲精品 | 99久久国产综合精品麻豆 | 久久一二 | 久久久精品一区二区 | 色综合天天天天做夜夜夜夜做 | 99久久久国产精品 | 中文字幕视频三区 | 一区二区三区四区在线免费观看 | 亚洲综合久久久 | 久久久久久91香蕉国产 | 国产精品99久久久久久久久久久久 | 欧美日韩不卡在线 | 一区 | 久久精品99久久 | 奇米四色影视 | 欧美精品在线观看 | 精品一二区 | 日韩高清一区 | 99精品在线免费观看 | 精品网站999| 国产精品1区 | 亚洲国产aⅴ成人精品无吗 亚洲精品久久久一区二区三区 | 国产性色视频 | 在线免费av电影 | a黄视频 | 中文字幕亚洲精品在线观看 | 国产精品1区2区3区 中文字幕一区二区三区四区 | 黑人巨大精品欧美一区二区免费 | 成人免费视频在线观看 | 欧美一区二区另类 | 精久久久| 午夜视频在线 | 日本久久网 | 欧美一二三四成人免费视频 | 国产欧美日韩精品一区二区三区 | 九色91视频| 欧美精品一区在线 | 在线日韩欧美 | 精品欧美一区二区三区精品久久 | 精品久久久久久久久久久久久 | 日本视频在线 |